网站地图 | Tags | 热门标准 | 最新标准 | 订阅

GB/T 29835.3-2013 系统与软件效率 第3部分:测试方法

  • 名  称:GB/T 29835.3-2013 系统与软件效率 第3部分:测试方法 - 下载地址2
  • 下载地址:[下载地址2]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

  ICS 35. 080 L 77

  中 华 人 民 共 和 国 国 家 标 准

  GB/T 29835. 3—2013

  系统与软件效率 第 3 部分 :测试方法

  Efficiency ofsystem and software—Part3:Testing method

  2013-11-12发布 2014-02-01实施

  中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会

  

  发

  

  布

  GB/T 29835. 3—2013

  目 次

  前言 Ⅲ

  引言 Ⅳ

  1 范围 1

  2 规范性引用文件 1

  3 术语和定义 1

  4 效率指标体系测试应用框架 2

  4. 1 框架体系 2

  4. 2 测试约束 2

  4. 3 结果视图 6

  4. 4 效率指标测试流程 8

  5 时间特性 9

  5. 1 时间效率 9

  5. 2 处理效率 12

  6 容量 13

  6. 1 用户容量 13

  6. 2 处理容量 15

  7 资源利用性 19

  7. 1 CPU利用性 19

  7. 2 内存利用性 20

  7. 3 外存利用性 21

  7. 4 传输利用性 23

  7. 5 I/O设备利用性 24

  附录 A (资料性附录) 效率指标体系应用框架裁剪指南 27

  参考文献 29

  Ⅰ

  GB/T 29835. 3—2013

  前 言

  GB/T 29835在《系统与软件效率》总标题下 ,分为如下三部分 :

  — 第 1部分 :指标体系 ;

  — 第 2部分 :度量方法 ;

  — 第 3部分 :测试方法 。

  本部分为 GB/T 29835的第 3部分 。

  本部分按照 GB/T 1. 1—2009给出的规则起草 。

  本部分由全国信息技术标准化技术委员会(SAC/TC28)提出并归 口 。

  本部分起草单位 :上海鲁齐信息科技有限公司 、上海浦东软件平台有限公司 、国家应用软件产品质量监督检验中心 、深圳市科脉技术有限公司 、中国电子技术标准化研究院 、上海宝信软件股份有限公司 、广东软件评测中心 、北京邮电大学 、珠海南方软件网络评测中心 、上海市计算机软件评测重点实验室 、上海嵌入式系统应用工程技术研究中心 、南昌金庐软件园软件评测培训有限公司 、广州广软信息系统管理咨询有限公司 。

  本部分主要起草人 :张露莹、李家宏、崔岩、苏盼、欧阳树生、张旸旸、袁玉宇、曾昭志、张苏利、肖正坤、侯建华、蔡立志、丁志刚、左家平、黄万民、刘新、袁肃蓉、杨金翠、万方、陈芳芳 。

  Ⅲ

  GB/T 29835. 3—2013

  引 言

  GB/T 29835的本部分提出了系统与软件效率的测试方法 。 为了使效率指标体系适用于不同的测试目标和不同的测试要求 ,本部分扩展了效率指标体系及度量指标的应用方法 ,提出了效率指标体系测试应用框架 。 同时 ,本部分基于效率指标体系测试应用框架对每个效率指标给出了相应的测试方法和测试流程 ,并对效率指标体系测试应用框架在不同的应用情况下的应用方法和裁剪给出指导性建议 ,便于用户或者评测人员进行操作 。

  本部分所列的测试方法并非适用于每个测试场合 ,进行效率测试的人员可以根据待测试的系统的特点以及测试目标从本部分中选择适合的指标及其约束进行测试 , 同时也鼓励测试人员根据测试场合的不同需要增减或修改度量指标 、测试约束 、测试方法 ,从而适应特定的测试需要 。

  本标准预期的主要使用者包括 :

  a) 软件供方 , 当 :

  1) 需要声明软件产品效率特性时 ;

  2) 对照声明的效率特性自行评估其软件产品和系统时 ;

  3) 对软件进行效率相关的产品设计和实现时 ;

  b) 为效率符合性证书或标志进行测试时的第三方评测机构 ;

  c) 潜在的需方 , 当 :

  1) 对即将采购的软件产品的效率要求和现有产品的说明信息进行比较 ;

  2) 需要对产品的效率做进一步的改进或者完善 、产品的潜在差错而作必需的更改 ,实际运行的环境和采购的环境存在差异时 ;

  3) 检验效率要求是否被满足 。

  GB/T 29835. 1《系统与软件效率 第 1 部分 :指标体系》给出了效率指标体系 ,GB/T 29835. 2《系统与软件效率 第 2 部 分 : 度 量 方 法》给 出 了 如 何 获 得 效 率 指 标 测 量 值 的 度 量 方 法 。 本 部 分 旨 在 与GB/T 29835. 1和 GB/T 29835. 2联合使用 。

  Ⅳ

  GB/T 29835. 3—2013

  系统与软件效率 第 3 部分 :测试方法

  1 范围

  GB/T 29835的本部分规定了系统与软件效率的测试方法 。本方法是在 GB/T 29835. 1 的指标体系和 GB/T 29835. 2 的度量方法的基础上 ,给出效率指标体系中每个效率指标的测试方法 。本部分对效率指标体系的应用方法进行了扩展 ,提出了效率指标体系测试应用框架 ,使效率指标体系尽可能满足各种不同的测试目标和测试需要 。

  本部分适用于系统与软件的效率测评 。

  注 1: 本部分中所指的系统主要是软件系统 。

  注 2: 本部分适用于系统与软件通用的效率特性和测试方法 ,针对特殊类型的系统(如 :Web 应用系统 、嵌入式系统等) ,可在本部分提出的效率指标体系测试应用框架和测试方法的基础上进行扩充或剪 裁 。有 关 剪 裁 的 方 法参见附录 A。

  2 规范性引用文件

  下列文件对于本文件的应用是必不可少的 。凡是注 日期的引用文件 ,仅注 日期的版本适用于本文件 。凡是不注日期的引用文件 ,其最新版本(包括所有的修改单)适用于本文件 。

  GB/T 29835. 1 系统与软件效率 第 1部分 :指标体系

  GB/T 29835. 2 系统与软件效率 第 2部分 :度量方法

  3 术语和定义

  GB/T 29835. 1 和 GB/T 29835. 2 中界定的以及下列术语和定义适用于本文件 。

  3. 1

  测试约束 testrestriction

  影响效率指标测试结果的限制条件 。

  3. 2

  结果视图 resultview

  测试结果的不同展现形式 。

  注 : 在本部分中 ,结果视图表示效率指标测试结果的 不 同 展 现 形 式 ,反 映 测 试 结 果 不 同 方 面 的 特 性(例 如 ,平 均 值 、最小值 、最大值等) 。

  3. 3

  测试周期 testperiod

  从启动测试到结束测试之间的时间段 。

  3. 4

  有效测试周期 valid testperiod

  在测试周期中 ,满足所规定的测试约束条件的测试时间段 。

  注 : 在效率测试中 ,有效测试周期中获取的测试数据才能够用于计算所规定测试约束条件下的效率指标值 。

  1

  GB/T 29835. 3—2013

  4 效率指标体系测试应用框架

  4. 1 框架体系

  系统与软件效率指标体系(见 GB/T 29835. 1) 说明了构成系统与软件效率的各个关键特性 ,效率指标的度量值可用于反映系统和软件目前达到的效率水平 。但对大部分效率测试来说 ,每个效率指标的度量值不是唯一的 ,它依赖于所在环境 、用户数量 、所针对的操作功能等约束条件 ,在不同的约束条件下效率指标将产生不同的度量结果 ,为了获得不同约束条件下的效率指标度量结果 ,效率测试需要针对各种不同的约束条件进行多次测试 。另一方面 ,一个效率指标的测试结果数据通常为一个统计分布或按时间顺序采集的数据 ,为了适应不同的结果形式需要 ,效率指标的度量结果需要不同的统计形式 ,如最大值 、最小值 、平均值等 ,在具有明确的效率目标的情况下 ,还需要给出效率指标是否满足效率目标的判断 , 即需要判断效率指标的满足度 。 因此 ,效率指标体系中的每个效率指标不再对应一个度量公式和一个度量结果 ,而是在不同约束条件和结果形式作用下对应为不同的度量公式和度量结果 。

  效率指标体系测试应用框架是对效率指标体系的扩展应用方法 ,在应用效率指标体系进行系统和软件的效率评价时 ,可将效率指标扩展为针对不同测试对象 、不同测试条件的度量项 ,并可通过不同角度来展现效率指标测试结果 ,从而使效率指标体系满足不同的系统类型 、不同的效率目标和不同的测试需求 。

  效率指标体系测试应用框架的组成要素包括 :

  a) 效率指标体系 — 反映系统和软件效率的特性及子特性的集合 ,并通过效率指标进行效率度量 。效率指标体系 是 本 框 架 的 基 础 , 在 进 行 效 率 测 试 和 评 价 时 , 首 先 应 确 定 要 测 试 的 效 率指标 。

  注 : 有关效率指标体系的详细内容见 GB/T 29835. 1。

  b) 测试约束 — 影响效率指标测试结果的限制条件 。测试约束产生于对效率指标测试结果产生直接影响的因素 。不同的影响因素形成不同类型的测试约束 ,不同的测试约束交互作用于效率指标 ,给效率指 标 限 定 了 各 种 不 同 的 约 束 条 件 。 每 个 测 试 约 束 可 以 有 不 同 的 测 试 约 束值 ,不同测试约束值下的效率指标具有不同的效率指标度量结果 。典型的测试约束包括 :

  1) 对象约束 ;

  2) 环境约束 ;

  3) 负载约束 。

  c) 结果视图 — 规定效率指标度量结果的不同展现形式 。结果视图通过不同的角度和侧面展现度量结果的不同特征(如 ,平均值 、最小值 、最大值 、满足效率目标的程度等) 。效率指标可选择一个或多个结果视图来展现 。

  d) 效率指标测试 — 效率指标的测试方法 。在本部分中 ,效率指标测试首先确定所需要测试的效率指标 ,确定效率指标所对应的测试约束以及所需要的结果视图 , 然后针对每个效率指标在不同测试约束值条件下进行效率指标的测试 ,并按照需要的结果视图计算并展现效率指标的测试结果 。

  4. 2 测试约束

  4. 2. 1 综述

  很多因素对效率指标的度量结果产生影响 ,在不同的系统运行条件和不同的用户访问方式下系统会有不同的运行效率 。测试约束限定对效率指标测试结果产生直接影响的因素 。

  在效率测试中 ,对测试结果产生影响的因素很多 ,测试约束对测试结果产生内在的 、本质的影响 ,如

  2

  GB/T 29835. 3—2013

  需测试的对象 、系统运行环境 、用户负载等 ,这些因素的变化作用于效率指标而产生不同的度量结果 ;其他一些因素作用于测试过程 ,对测试结果的影响是外在的 、非本质的 ,例如 :测试方法 、测试工具等 。测试约束不考虑作用于测试过程的外在或随机的影响因素 。

  测试约束典型地包括对象约束 、环境约束和负载约束 。但效率指标应用框架的测试约束并不局限于对象约束 、环境约束和负载约束三种 。 当某个因素对测试结果产生直接的内在的影响 ,测试需求要求反映该因素的变化对效率指标度量结果的影响时 ,可在测试约束中增加该约束 。

  其他可增加的测试约束的例子包括用户类型约束 、访问方式约束 、访问数据量约束等 。

  4. 2. 2 对象约束

  4. 2. 2. 1 对象约束概念

  对象约束规定需要进行效率指标度量与评测的对象 。例如 ,在测试时间特性下的 “响应时间 ”度量指标时 ,需要明确是针对什么处理请求的响应时间 ; 在测试资源利用性特性下的 “CPU 利用率 ”度量指标时 ,需要明确是针对系统中哪台计算机设备的 CPU。 不同的对象的效率指标具有不同的度量结果 ,不同的对象作用于效率指标可扩展为多个度量项 。

  4. 2. 2. 2 确定对象约束

  每个计算机系统和软件都具有数量庞大的众多对象 。在进行效率评价时 ,不需要对所有对象的效率指标都进行度量和测试 ,确定需要测试的对象的基本原则是 :

  — 效率测试明确需要测试的对象 ;

  — 选择系统的效率需求中明确了效率目标的对象 ;

  — 选择系统中典型的具有代表性的对象 ;

  — 选择系统中对运行条件(如负载)最为敏感的对象 。

  不同效率指标所对应的可加以限定的对象类型不同 ,表 1 描述了每个效率指标对应的对象约束的类型 。

  表 1 效率指标适应的对象约束类型

  特性

  子特性

  度量指标

  适用的对象约束类型

  时间

  时间效率

  响应时间

  不同请求

  周转时间

  不同事务

  处理效率

  吞吐率

  不同请求或事务

  容量

  用户容量

  最大并发用户数

  不同用户类型

  最大并发请求数

  不同请求

  处理容量

  事务吞吐容量

  不同事务

  数据吞吐容量

  不同数据类型

  数据处理容量

  不同数据处理或存储功能

  资源利用性

  CPU利用性

  CPU利用率

  不同 CPU

  内存利用性

  内存利用率

  不同内存

  内存错误率

  外存利用性

  外存时间利用率

  不同外存设备

  外存空间利用率

  3

  GB/T 29835. 3—2013

  表 1 (续)

  特性

  子特性

  度量指标

  适用的对象约束类型

  资源利用性

  传输利用性

  传输能力利用率

  不同传输设备

  传输出错率

  I/O设备利用性

  I/O设备利用率

  不同 I/O设备

  I/O错误率

  I/O等待时间

  效率指标的测试对象由高到低可以形成不同的层次 ,高层对象可分解为低层对象 ,低层对象可组成高层对象 ,高层对象可以是若干低层对象组成的综合对象 。

  一些对象可以直接进行效率指标度量和评测 ,这些对象为直接对象 ;另一些对象由其他对象综合而成 ,综合对象由低层对象组合而成 ,这些低层对象可以是其他综合对象 ,也可以是直接对象 。综合对象不能直接进行效率指标测试 , 当需要对综合对象进行效率指标测试时 ,需要对组成综合对象的低层对象或直接对象进行效率指标测试 ,或者选择典型的低层对象或直接对象进行效率指标测试 ,然后对低层对象或直接对象的效率指标度量结果进行加权平均得到综合对象的效率指标度量结果 。

  例如 ,Web 网站的页面由各种不同的页面组成 ,每个页面都可以是一个测试对象 ,这些页面是直接对象 ,可直接度量响应时间等效率指标 。 不同类型的页面可以组成综合对象 , 如动态页面 、静态页面 。动态页面和静态页面就是综合对象 。如果要测试动态页面的响应时间 ,应选择若干典型的动态页面 ,分别测试响应时间 ,然后计算各个动态页面响应时间平均(或加权平均)值作为动态页面响应时间度量值 。原则上说 ,一个效率指标可综合所有下层对象为一个最高层对象 ,对最高层对象的效率指标度量可获得被测系统的综合的效率评价 。

  4. 2. 3 环境约束

  4. 2. 3. 1 环境约束概念

  环境约束规定需要在哪些系统运行环境下进行效率指标的度量和测试 。这里的系统运行环境包括系统的硬件环境 、软件环境 、网络环境等 ,也可称为目标环境 。一些效率测试只需要考察一种 目标环境下的系统效率 ,典型地是系统将运行的实际运行环境 ;另一些效率测试需要考察系统在不同 目标环境下的效率 ,这时环境约束需要规定多种需测试的目标环境 。 目标环境的变化直接影响效率指标度量结果 。反之 ,任何效率指标的度量值都是针对了某种特定的目标环境 。

  注 : 特别需要注意的是目标环境与测试环境的不同 ,有些场合测试环境使用了实际目标环境或与 目标环境相同 ,另一些测试场合由于条件的限制测试环境不能完全达 到 目 标 环 境 的 要 求 ,这 时 测 试 环 境 的 误 差 可 能 导 致 测 试 结果产生一定误差 。测试条件导致的测试环境的不同 虽 然 也 导 致 了 不 同 的 效 率 指 标 度 量 结 果 ,但 由 于 这 种 影 响是作用于测试过程而不是测试需求 , 因此通常不认定为环境约束 。

  4. 2. 3. 2 确定环境约束

  确定适用的环境约束需要考虑效率测试的目标 ,与环境相关的测试目标的例子包括 :

  — 在指定的目标运行环境下 ,系统的执行效率是否能够满足用户需求 ;

  — 需要怎样的系统软硬件配置 ,才能够满足用户的基本效率需求 ;

  — 什么样的系统软硬件配置具有最高性价比等 。

  通过对测试目标的分析 ,确定要对哪些不同的目标环境进行测试 ,并分别在每个不同的目标环境下进行效率指标的测试 。

  4

  GB/T 29835. 3—2013

  4. 2. 4 负载约束

  4. 2. 4. 1 负载约束概念

  负载约束规定需要在什么样的系统负载下进行效率指标的度量和测试 。一次效率测试通常需要对多种不同的系统负载进行测试 ,从而获得不同负载条件下系统和软件效率 。

  4. 2. 4. 2 确定负载约束

  原则上说 ,效率测试可针对任意可能的负载进行测试 , 即 :可测试获得各种不同负载条件下的效率指标度量值 ,并可获得随负载变化情况下效率指标的变化情况 。在实际系统中 ,用户通常更关注具有特定意义的负载下的效率指标度量结果 ,例如 ,需要测试 “在正常情况下 ,用户网上购票请求的响应时间是多少 ”,或 “在春运开始前 10天内 ,用户网上购票请求的响应时间是多少 ”, “最坏情况下 , 系统网上购票能够承受的并发用户数是多少 ,其订票请求的响应时间是多少?”等 。

  常用的负载约束包括(但不限于)以下 3种 :

  — 常规负载 :常规运行情况下 ,系统的并发用户数量 。

  — 峰值负载 :在特定时期 ,系统面临大量并发用户的情况下 , 系统的并发用户数量 。在负载量不均衡的系统中 ,峰值负载也常常用来表示系统所可能面临的用户负载量的最高值 。

  — 极限负载 :系统所能够承受的最大负载量 ,超过该负载量 ,可能导致系统失效或运行效率急剧下降 ,并达到用户难以承受的程度 。

  注 : 常规负载和峰值负载的负载大小可以在测试之前确定 ,而极限负载的负载大小在测试之前可能是未知的 , 因此对极限负载下的效率指标的测试应首先确定极限负载的大小 。可以先通过容量特性中的 “最大并发用户数 ”等效率指标得到系统的极限用户负载 ,再进行极限负载下的效率指标测试 ,也可以在进行容量测试的同时测试极限负载下的效率指标 。

  不同效率指标适用的典型负载约束值见表 2。

  表 2 效率指标适用的负载约束

  特性

  子特性

  度量指标

  负载约束

  时间

  时间效率

  响应时间

  常规负载 、峰值负载 、极限负载

  周转时间

  常规负载 、峰值负载 、极限负载

  处理效率

  吞吐率

  常规负载 、峰值负载 、极限负载

  容量

  用户容量

  最大并发用户数

  极限负载

  最大并发请求数

  极限负载

  处理容量

  事务吞吐容量

  极限负载

  数据吞吐容量

  极限负载

  数据处理容量

  常规负载 、峰值负载 、极限负载

  资源利用性

  CPU利用性

  CPU利用率

  常规负载 、峰值负载 、极限负载

  内存利用性

  内存利用率

  常规负载 、峰值负载 、极限负载

  内存错误率

  常规负载 、峰值负载 、极限负载

  外存利用性

  外存时间利用率

  常规负载 、峰值负载 、极限负载

  外存空间利用率

  常规负载 、峰值负载 、极限负载

  传输利用性

  传输能力利用率

  常规负载 、峰值负载 、极限负载

  5

  GB/T 29835. 3—2013

  表 2 (续)

  特性

  子特性

  度量指标

  负载约束

  资源利用性

  传输利用性

  传输出错率

  常规负载 、峰值负载 、极限负载

  I/O设备利用性

  I/O设备利用率

  常规负载 、峰值负载 、极限负载

  I/O错误率

  常规负载 、峰值负载 、极限负载

  I/O等待时间

  常规负载 、峰值负载 、极限负载

  4. 3 结果视图

  4. 3. 1 综述

  本部分中 ,效率指标度量结果并不是一个具体的值 ,而是包括了度量结果完整信息的数据集合 。展示该度量结果的方式不是唯一的 ,可以采用不同的展现形式 ,这些不同的展现形式从不同的角度不同的侧面揭示度量结果的不同特征 ,可分别满足对度量结果的不同应用需要 。效率指标度量结果的不同展现形式称为结果视图 。

  效率指标结果视图的主要形式包括 :

  — 单值视图 ;

  — 统计视图 ;

  — 分时视图 ;

  — 满足度视图 。

  效率指标采用什么类型的结果视图与测试需求及测试方法等因素有关 。 当测试需求或测试方法规定仅经过一次测试尝试 ,只取得一个测试结果值 ,则结果视图为单值视图 ; 当测试需求或测试方法规定需经过多次测试尝试 ,获得了多个测试结果值 ,结果视图可以是统计视图 ; 当测试需求或测试方法规定按照时间顺序获得测试结果 ,则结果视图可以是分时视图 , 同时还可以将分时值进行统计 ,得到统计视图 ;如果测试结果需要和用户期望的效率目标进行比较 ,则可以采用满足度视图 。

  效率度量可选择一个或多个结果视图来展现 。

  4. 3. 2 单值视图

  当效率指标的测试结果为单一值时 ,该度量指标只有唯一的一个单值视图 。

  例如 ,“最大并发用户数”“最大并发请求数 ”效率指标的结果视图为单值视图 。

  单值视图不可以同时具有分时视图和统计视图 ,但可以具有相对应的满足度视图(见 4. 3. 5) 。

  4. 3. 3 统计视图

  4. 3. 3. 1 统计视图概念

  当效率指标的测试结果为一组测试尝试的结果数据 ,这组结果数据通常呈现为一组统计分布值 ,则可用该统计分布的 特 征 值 来 反 映 测 试 结 果 。 用 统 计 分 布 的 特 征 值 来 反 映 测 试 结 果 的 视 图 称 为 统 计视图 。

  典型的统计视图包括但不限于以下类型 :

  — 最大 :针对一组结果数据 ,计算最大值 ;

  — 平均 :针对一组结果数据 ,计算平均值 ;

  — 最小 :针对一组结果数据 ,计算最小值 ;

  — 90% :针对一组结果数据 ,90%的测试数据小于该值 ;

  6

  GB/T 29835. 3—2013

  — 10% :针对一组结果数据 ,10%的测试数据小于该值 ;

  — 方差 :针对一组结果数据 ,计算方差值 。

  统计视图可以用以下形式表示为 : [效率指标](统计视图类型) 。

  例如 : 响应时间(平均) 、周转时间(最大) 。

  4. 3. 3. 2 确定统计视图

  决定采用哪些结果视图的因素包括 :

  — 对效率指标度量结果需要的深入程度 ,如果需要全面的和详细的效率指标度量结果 ,则需要更多的统计视图 。

  — 是否具有对应的效率目标 ,如果具有明确的效率目标 ,则需要具有相同形式的统计视图并由此计算满足度 。

  4. 3. 4 分时视图

  当效率指标的测试结果为一组按照时间顺序进行采样或测试得到的结果数据 ,则可以用分时视图来表示测试结果 ,分时视图是按照规定的时间间隔来展示测试结果的变化情况的结果视图 。

  分时视图可提供测试过程中的效率指标的变化情况 ,特别适用于需要进行系统运行状态分析 、效率瓶颈分析等测试需求 。

  分时视图可分为以下两种形式 :

  — 分时采样 :按照固定的时间间隔进行采样 ,获得按照时间序列排列的测试结果序列 。

  分时采样度量公式 :

  式[中(效率):指标名](ti) =ti 时刻采样或测试获得的测量值 。

  — 分时平均 :按照固定时间间隔对一组测试结果数据进行分组统计 ,计算每个时间单位分组内的结果数据平均值 。

  分时平均度量公式 :

  式中 :

  ti=Ts…Te;Ts 为测试开始时间 ,Te 为测试结束时间 。

  ti=Ts…Te ,Ts 为测试开始时间 ,Te 为测试结束时间 ;

  [效率指标名](ti) = AVG(在[ti…ti+1)区间所有测试尝试的测试结果数据)

  分时视图可同时具有统计视图 ,如果将分时视图的结果序列当作一组统计分布 ,则可以计算获得对应的统计视图 。

  分时视图特别适合于采用图形的方式展示 , 因此分时视图的展现形式往往不是数据序列而是图表 。

  4. 3. 5 满足度视图

  4. 3. 5. 1 满足度视图的概念

  效率指标的单值视图 、统计视图和分时视图都是对系统本身的效率特性进行度量 ,而未考虑效率是否满足用户期望的效率目标 。如果需要考察效率水平是否满足用户的期望的效率目标 ,则可采用满足度视图 。

  满足度视图是将效率指标的测试结果与用户期望的效率指标目标值相比较 ,从而提供相关效率指标在多大程度上满足用户效率需求的信息 。

  应用满足度视图的前提是需要提供效率指标的期望值 。如果不能获得效率指标的期望值 ,则无法采用满足度视图 。

  7

  GB/T 29835. 3—2013

  通常待测系统只在部分效率指标上具有明确的效率目标需求 , 因此可在部分效率指标上采用满足度视图 。如果待测试的系统未提出任何效率目标需求 ,则无需采用满足度视图 。

  在使用满足度视图时 ,可以将指标名称修改为 : [效率指标名]满足度 。

  例如 ,针对以下响应时间效率指标的效率目标 :

  — 网上订票系统的票务查询请求响应时间平均小于 30 s;

  — 网上订票系统的订票请求响应时间最大不超过 2 min;

  — 网上订票系统 90%的订票请求响应时间不超过 1 min。

  可以分别使用以下满足度视图 : 响应时间满足度(平均) 、响应时间满足度(最大) 、响应时间满足度(90%) 。

  4. 3. 5. 2 满足度计算公式

  效率指标满足度的值反映效率指标满足用户效率目标的程度 ,满足度计算公式为 :

  满足度取值的含(效率指标满足度)根据不同的效率目标的形式有所不(效率指标测试值/效率指标期望值)同 :

  a) 当效率目标形式为 “测试值小于效率指标期望值 ”,则满足度小于 1 时满足用户期望 ,且越小

  越好 。

  望的平(例)均:响应(效率目)时间(标为)A“某。请求响应时间平均不高于 A。”则响应时间满足度(平均)= 响应时间(平均)/期

  当响应时间满足度(平均)小于 1 时 ,表示目标被满足 ,且越小越好 ;

  b) 当效率目标形式为 “测试值大于效率指标期望值 ”,则满足度大于 1 时满足用户期望 ,且越大

  越好 。

  小吞吐率 B。

  例 :效率目标为 “某事务吞吐率最少不低于 B”。则吞吐率满足度(最小)=吞吐率(最小)/期望的最

  当吞吐率满足度(最小)大于 1 时 ,表示目标被满足 ,且越大越好 。

  注 : 如果需要对系统和软件的效率进行整体评价 ,则需要对各个指标的效率满足度进行汇总 ,这就需要对效率满足

  度进行归一化处理 。归一化保证满足度取值具有相同的意义 ,方便不同指标之间进行满足度汇总和比较 。

  4. 4 效率指标测试流程

  效率指标的度量结果可通过效率指标测试取得 。 面向效率指标体系应用框架的效率指标测试方法包括以下主要步骤 :

  a) 选取效率指标 :根据测试需求从效率指标体系中选取需要测试的系统和软件的效率特性及子特性 ,并确定要测试的效率指标 ;

  b) 确定测试约束 :根据效率测试需求确定每种效率指标所适用的测试约束 ,包括对象约束 、环境约束 、负载约束以及其他适用的测试约束 ,确定每种测试约束中需要测试的约束值 ;

  c) 确定结果视图 :根据效率测试需求或效率目标所适用的形式确定测试结果适用的结果视图 ;

  d) 设计测试用例 : 在满足效率指标 、测试约束要求的基础上设计效率测试的测试环 境 、测 试 场景 、测试工具 、测试过程 、数据收集和统计方法等 ,要求所设计的测试用例应覆盖以上所有需要测试的效率指标及其对应的测试约束的组合 ;数据收集和统计的方法应考虑能够取得结果视图所需要的数据 ;

  e) 执行效率测试 :按照测试用例规定的要求 、方法及过程执行效率测试 ,监控测试运行 ,获取测试结果 ;

  f) 结果计算与展现 :按照所需的结果视图计算并展示效率指标度量结果 。

  基于效率指标体系应用框架的效率指标测试流程见图 1。

  8

  GB/T 29835. 3—2013

  图 1 基于效率指标体系应用框架的效率指标测试流程

  本部分第 5 章 ~第 7章描述了每个效率指标的具体测试方法 ,按照效率指标测试流程 ,每个效率指标分以下条目加以描述 :

  — 指标名称 :效率指标名称 ;

  — 测试说明 :描述效率指标测试方法的总体说明 ;

  — 测试约束 :描述适用的测试约束 ;

  注 : 这里列出的测试约束为常用的可选项 ,不同测试项目可以按照测试需求进行剪裁(详见附录 A) 。

  — 测试设计 :按照效率指标及其测试约束要求设计效率测试用例 ;

  — 测试实施 :描述效率指标测试执行的主要步骤 ;

  — 测试结果计算 :描述适用的结果视图以及每个结果视图的计算方法 。

  注 : 本部分给出了效率指标的测试原理和计算方法 , 当使用效率测试工具进行测试时 ,可结合测试工具的功能完成效率测试和结果计算 。

  5 时间特性

  5. 1 时间效率

  5. 1. 1 响应时间

  指标名称

  响应时间

  测试说明

  响应时间的测试是通过用户(或虚拟用户)向服务器发出并发请求 ,测量服务器响应这些请求所需的时间

  测 试 约 束

  环境约束

  适用的环境约束 :

  — 系统规定的 目标运行环境 ;

  — 其他需要进行效率测试的系统运行环境

  负载约束

  适用的负载约束 :

  — 常规负载 ;

  — 峰值负载 ;

  — 极限负载

  对象约束

  适用的对象约束 :

  — 效率需求中明确对响应时间具有效率需求的操作请求 ;

  — 应用系统中典型的操作请求 ;

  — 应用系统中可能面临较大负载压力的操作请求

  9

  GB/T 29835. 3—2013

  指标名称

  响应时间

  测试设计

  1. 确定测试环境 ,按照环境约束设计测试环境 。一 次 测 试 面 向 一 种 测 试 环 境 ,如 果 要 求 多 种 不 同 的测试环境 ,则分别进行多次测试 。

  2. 设计测试场景 ,测试场景中应包括对象约束中要求的 操 作 请 求 ,一 次 测 试 的 测 试 场 景 中 可 包 括 多个操作请求 ,如果一个测试不能包括全部要测试的操作请求 ,可进行多次测试 。

  3. 确定测试负载 ,按照负载约束确定要达到的负载 ,一次测试面向一种负载 , 当要求测试多种不同负载下的响应时间时 ,则分别进行测试 。

  注 1: 响应时间测试也可以在一次测试中不断增加或 减 少 系 统 负 载 ,并 获 得 响 应 时 间 随 负 载 变 化情况发生的变化的信息 。

  注 2: 如果要测试极限条件下的 响 应 时 间 , 应 与 容 量 测 试 相 结 合 , 首 先 获 得 极 限 负 载 的 并 发 用 户数 ,再测试极限负载下的响应时间 。

  测试实施

  1. 按照设计的测试环境 、测试场景和系统负载模拟大量 用 户 访 问 被 测 系 统 , 向 服 务 器 发 出 大 量 并 发请求 。

  — 自动化效率测试可通过运行测试场景启动负载发生器发出并发请求 ;

  — 自编制测试程序可在程序中启动对服务器发出并发请求 ;

  — 人工测试通过组织大量测试人员或用户共同访问被测系统 。

  2. 监控测试过程 ,监控内容 :

  — 负载增加 、保持 、下降的过程和达到的负载量 ,确定是否达到测试规划 目标 ;

  — 测试过程异常终止 ,未能完成规定的测试 ;

  — 请求是否正常完成 ,结果是否正确 ,记录出错数量 。

  3. 收集测试数据 :收集每个请求的发出时间 START 和完成时间 END。

  — 自动化测试工具可自动收集测试结果 ;

  — 自编制测试程序可在每个请求的前后增加时间戳 ,计算两者的差得到响应时间 ;

  — 人工测试可采用秒表等计时工具收集每个请求从发出到收到结果所经过的时间 。

  注 1: 由于人工操作的限制 ,人工测试不必收集全部的请求响应时间 ,可以让部分用户仅用于产生负载 ,部分用户在产生负载的同时收集所需的请求响应时间 。

  注 2: 由于人工测试不能保证测试的精度 ,通常情况下 ,不建议采用人工测试方法 。

  测试结果计算

  1. 计算测试周期内每个请求的响应时间 Xi。

  Xi=ENDi-STARTi ,i= 1…N

  2. 识别有效测试周期 ,设 VTs 为有效测试周期开始时间 ,VTe 为有效测试周期结束时间 。

  3. 按照测试需求及效率目标 ,计算需要的结果视图

  a) 计算统计视图 :

  响应时间(平均)Xavg=AVG(Xi) ,其中 :Xi 满足 STARTi IN [VTs. . VTe]

  响应时间(最大)Xmax=MAX(Xi) ,其中 :Xi 满足 STARTi IN [VTs. . VTe]

  b) 必要时 ,计算满足度视图 响 应 时 间 满 足 度(平 均)= Xavg/期 望 的 平 均 响 应 时 间 响 应 时 间 满

  足度(最大)= Xmax/期望的最大响应时间

  c) 必要时 ,计算分时视图 ,分时响应时间 X(ti)为在 ti 单位时间发出的请求的响应时间的平均值响应时间 X(ti) = AVG(Xk)

  式中:ti=VTs …VTe-1,Xk 满足 STARTk IN [ti,ti+1)

  注 : 分时响应时间 X(ti)也可以定义为在 ti 单位时间完成的请求的平均响应时间 。

  10

  GB/T 29835. 3—2013

  5. 1. 2 周转时间

  指标名称

  周转时间

  测试说明

  1. 周转时间包括整个事务处理的交互过程 ,其中包括了用户操作所占用的时间和客户端程序的处理时间 。在自动化测试中 ,可通过设置思考时间来模拟这些所需要的时间 。

  2. 在自动化效率测试工具中 ,事务是通过在测试脚本中设置事务开始与事务结束标志来定义的

  测 试 约 束

  环境约束

  适用的环境约束 :

  — 系统规定的 目标运行环境 ;

  — 其他需要进行效率测试的系统运行环境

  负载约束

  适用的负载约束 :

  — 常规负载 ;

  — 峰值负载 ;

  — 极限负载

  对象约束

  适用的对象约束 :

  — 效率需求中明确对事务周转时间具有效率需求的事务 ;

  — 应用系统中典型的事务 ;

  — 应用系统中可能面临较大负载压力的事务

  测试设计

  1. 确定测试环境 ,按照环境约束准备测试环境 。一 次 测 试 面 向 一 种 测 试 环 境 ,如 果 要 求 多 种 不 同 的测试环境 ,则分别进行多次测试 。

  2. 设计测试场景 ,测试场景中应包括对象约束中要求的事务 。

  3. 确定测试负载 ,一次测试面向一种系统负载 , 当要求测试多种不同负载下的周转时间时 ,则分别进行测试

  注 : 如果测试极限条件下的周转时间 ,应与容量测试相结合 。

  测试实施

  1. 按照设计的测试环境 、测试场景和系统负载模拟大量用户访问被测系统 ,执行事务操作 。

  — 自动化效率测试可通过运行测试场景启动负载发生器产生事务处理操作请求 ;

  — 自编制测试程序可在程序中模拟事务向服务器发出事务操作请求 ;

  — 人工测试通过组织大量测试人员或用户模拟实际使用情况进行事务操作 。

  注 : 事务的处理过程中需要考虑适当的思考时间 ,从而与实际用户的请求的密度相类似 。

  2. 监控测试过程 ,监控内容 :

  — 负载增加 、保持 、下降的过程和达到的负载量 ,确定是否达到测试规划 目标 ;

  — 测试过程异常终止 ,未能完成规定的测试 ;

  — 事务是否正常完成 ,结果是否正确 ,记录出错数量 。

  3. 收集测试数据 :收集每个事务的开始时间 START和结束时间 END。

  — 自动化测试工具应标识每个事务的开始位置和结束位置 ,测试工具可自动收集每个事务的周转时间 ;

  — 自编制测试程序可在每个事务的前后增加时间戳 ,计算两者的差得到周转时间 ;

  — 人工测试可采用秒表等计时工具收集每个事务从事务开始到事务结束所经过的时间 。

  注 1: 由于人工操作的限制 ,人工 测 试 不 必 收 集 全 部 的 周 转 时 间 , 可 以 让 部 分 用 户 仅 用 于 产 生 负载 ,部分用户在产生负载的同时收集所需的周转时间 。

  注 2: 由于人工测试不能保证测试的精度 ,通常情况下 ,不建议采用人工测试方法 。

  11

  GB/T 29835. 3—2013

  指标名称

  周转时间

  测试结果计算

  1. 计算测试周期内每个事务的周转时间 Xi。 Xi=ENDi-STARTi ,i= 1…N

  2. 识别有效测试周期 ,设 VTs 为有效测试周期开始时间 ,VTe 为有效测试周期结束时间 。

  3. 按照测试需求及效率目标 ,计算需要的结果视图 。

  a) 计算统计视图 :

  周转时间(平均)Xavg=AVG(Xi) ,其中 :Xi 满足 STARTi IN [VTs …VTe]

  周转时间(最大)Xmax=MAX(Xi) ,其中 :Xi 满足 STARTi IN [VTs …VTe]

  b) 必要时 ,计算满足度视图

  周转时间满足度(平均)= Xavg/期望的平均周转时间

  周转时间满足度(最大)= Xmax/期望的最大周转时间

  c) 必要时 ,计算分时视图 :

  分时周转时间 X(ti)为在 ti 单位时间开始的事务的周转时间的平均值

  周转时间 X(ti) = AVG(Xk) 式中:ti=VTs …VTe , Xk 满足 STARTk IN [ti,ti+1)

  注 : 分时周转时间 X(ti)也可以定义为在 ti 单位时间完成的事务的平均周转时间 。

  5. 2 处理效率

  5. 2. 1 吞吐率

  指标名称

  吞吐率

  测试说明

  执行一批并发任务 ,测量完成这些 任 务 所 需 要 的 时 间 ,并 计 算 单 位 时 间 内 所 完 成 的 任 务 数 。 为 了 去除随机测试的误差 ,可进行多次测试尝试 ,获得吞吐率分布数据

  测 试 约 束

  环境约束

  适用的环境约束 :

  — 系统规定的 目标运行环境 ;

  — 其他需要进行效率测试的系统运行环境

  负载约束

  适用的负载约束 :

  — 常规负载 ;

  — 峰值负载 ;

  — 极限负载

  对象约束

  适用的对象约束 :

  — 效率需求中明确对吞吐率具有效率目标的请求 、事务或数据处理等 ;

  — 应用系统中典型的请求 、事务或数据处理等 ;

  — 应用系统中可能面临较大负载压力的请求 、事务或数据处理等

  测试设计

  1. 确定测试环境 ,按照环境约束确定测试环境 。一 次 测 试 面 向 一 种 测 试 环 境 ,如 果 要 求 多 种 不 同 的测试环境 ,则分别进行多次测试 。

  2. 设计测试场景 ,测试场景中应包括对象约束中要求的请求和/或事务 。

  3. 确定测试负载

  吞吐率测试可一次测试面向一种负载 ,不同负载下的吞吐率测试可通过多次测试获得 。

  注 : 吞吐率测试也可以在一次测试中不断增加或减少系统负载 ,并获得吞吐率随负载变化情况发生的变化情况的信息 。

  测试实施

  1. 按照设计的测试环境 、测试场景和系统负载模拟大量用户访问被测系统 ,执行事务操作 。

  2. 监控测试过程 ,监控内容 :

  — 负载增加 、保持 、下降的过程和达到的负载量 ,确定是否达到测试规划 目标 ;

  12

  GB/T 29835. 3—2013

  指标名称

  吞吐率

  测试实施

  — 测试过程异常终止 ,未能完成规定的测试 ;

  — 事务是否正常完成 ,结果是否正确 ,记录出错数量 。

  3. 收集测试数据 :

  — 收集每次测试中完成的任务个数 NUMi,所使用的时间 Ti ;注 : 任务个数可以是响应请求数 、完成事务数或处理数据量 。

  — 当需要测试分时吞吐率时 ,应收集每个单位时间 ti 内所完成的任务个数 NUMti

  测试结果计算

  按照测试需求及效率目标 ,计算需要的结果视图a) 计算每次测试的吞吐率 Xi

  Xi=Numi/Ti

  b) 计算平均吞吐率及最大吞吐率 :

  吞吐率(平均)Xavg=AVG(Xi) ,式中 Xi IN [VTs …VTe]

  吞吐率(最小)Xmin=MIN(Xi) ,式中 Xi IN [VTs …VTe]

  c) 计算满足度视图

  吞吐率满足度(平均)= Xavg/期望的平均吞吐率

  吞吐率满足度(最小)= Xmin/期望的最小吞吐率

  d) 必要时 ,计算分时吞吐率

  分时吞吐率 X(ti) = NUMti 其中 NUMti为单位时间 ti 到 ti+1 时间内完成的任务数

  6 容量

  6. 1 用户容量

  6. 1. 1 最大并发用户数

  指标名称

  最大并发用户数

  测试说明

  1. 最大并发用户数的测试是通过对一个逐渐增大的并发用户数的序列来进行测试尝试 ,并获得每次尝试的请求响应时间 ,通过分析请求响应时间在 什 么 时 候 突 然 显 著 增 加 或 变 得 不 可 接 受 ,从 而 得到系统可承受的最大并发用户数 。

  2. 系统负载的实际大小与并发用户数及用户使用方式(事务类型 、操作的速度 、频率等) 相关 。 因此 ,考虑并发用户数的使用方式是必要的 。缺省情 况 下 ,本 指 标 最 大 并 发 用 户 数 的 含 义 是 :在 系 统 实际运行方式下的并发用户 ,具有常规的使用方式和平均的操作速度及思考时间 。

  3. 如果要在测试中使并发用户数等于实际系统的并发用户数 ,将可能导致测试工具的并发用户授权权限不够 ,可以采用增加操作频度来减少所需的虚拟并发用户的数量

  测 试 约 束

  环境约束

  适用的环境约束 :

  — 系统规定的 目标运行环境 ;

  — 其他需要进行效率测试的系统运行环境

  负载约束

  适用的负载约束 :

  — 极限负载 。

  注 : 由于极限负载也就是本指标的测试目标 , 因此也可以认为本指标无需负载约束 。

  对象约束

  适用的对象约束 :

  — 效率需求中明确指定的用户类型或操作类型 ;

  — 系统实际运行过程中典型的用户类型及其典型的操作类型

  13

  GB/T 29835. 3—2013

  指标名称

  最大并发用户数

  测试设计

  1. 确定测试环境 ,按照环境约束确定测试环境 。一 次 测 试 面 向 一 种 测 试 环 境 ,如 果 要 求 多 种 不 同 的测试环境 ,则分别进行多次测试 。

  2. 设计测试场景 ,测试场景中应包括对象约束中规定的用户类型和操作类型 。

  3. 设计要尝试的并发用户数序列 Nu[1] ,Nu[2] , … ,Nu[N] ,

  式中 :Nu[1]= N0 ,Nu[2]= Nu[1] +a, …Nu[i]= Nu[i-1] +a;i= 2…N;

  N0 为尝试测试的并发用户数最小值 ,a为每次尝试增加的并发用户数 。

  注 1: 尝试测试的并发用户数范围应恰当 ,其中应该包括估计的最大并发用户数 ,如果测试发现最大并发用户数不在其中 ,则调整并发用户数范围保证能够测试获得最大并发用户数 。

  注 2: 应注意每次测试的用户数增量 a应适当 ,a太大将不能保证最大并发操作用户数的测试结果

  的精度在可接受的范围之内 ,a太小将导致测试次数的增加 ,从而增加测试成本 。

  测试实施

  1. 针对每个需要尝试的并发用户数 Nu[i] ,执行并发测试 。

  模拟具有 Nu[i]个用户同时在线执行规定的事务或请求 。

  注 : 每个事务的请求之间需要考虑适当的思考时间 ,从而与实际用户的请求的密度相类似 。

  2. 针对每个 Nu[i] ,测试响应时间 Tu[i]或吞吐率 Pu[i] 。

  注 : 响应时间及吞吐率的测试方法见 5. 1. 1 和 5. 2. 1。

  3. 监控测试结果 ,如果出现以下情况 ,可停止测试 。

  — 测试过程出现异常 ,测试无法正常完成 ;

  — 响应时间达到超过用户可容忍的范围 ;

  4. 如果测试完 Nu[N]仍然未得到最大并发用户数 ,应增加尝试次数 或 重 新 调 整 尝 试 范 围 Nu[1] … Nu[N]与递增量 a

  测试结果计算

  1. 对每次尝试得到的结果{Nu[i] ,Tu[i] ,Pu[i]} , 以 并 发 用 户 数 为 横 坐 标 , 响 应 时 间 或 吞 吐 率 为 纵坐标作图 ,获得响应时间 Tu[i]和 Pu[i]随并发请求数 Nu[i]变化的关系图 。

  2. 选择并发用户数 Nu[j] . 满足 :

  Tu[1]…Tu[j]持平滑上升趋势 ,Tu[j+1]…Tu[N]出现急剧上升趋势 或 T[j+1]超过了用户能够容忍的响应时间的极限

  或 :Pu[1]…Pu[j]持平滑上升趋势 ,Pu[j+1]…Pu[N]不再上升 , 出现处理瓶颈

  则 Nu[j]为最大并发用户数 。

  3. 必要时 ,计算最大并发用户数满足度视图

  最大并发用户数满足度= 最大并发用户数/期望的最大并发用户数

  6. 1. 2 最大并发请求数

  指标名称

  最大并发请求数

  测试说明

  1. 最大并发请求数的测试考虑并发环境中的一种极限情况 , 即所有的在线用户都是同时或连续发出用户请求 ,这时最大并发请求数的测试也可以看作是这种情况下的并发用户数的测试 。

  2. 最大并发请求数的测试不需要考虑用户在发出请求 之 间 的 思 考 时 间 。用 户 可 以 连 续 地 不 间 断 地发送服务请求 。在这种情况下 ,可以通过不太多的虚拟用户尽快地测试到系统的极限负载 。通过这种方式测试得到的并发用户数并不是实际环境中真正的客户端能够接受的并发用户数 ,它应低于实际的客户端并发用户数(见 “最大并发用户数 ”测试方法) 。

  3. 最大并发请求数的测试是通过对一个逐渐增大的并发请求数的序列来进行测试尝试 ,并获得每次尝试的请求响应时间 ,通过分析请求响应时间在 什 么 时 候 突 然 显 著 增 加 或 变 得 不 可 接 受 ,从 而 得到系统可承受的最大并发请求数

  测试约束

  环境约束

  适用的环境约束 :

  — 系统规定的 目标运行环境 ;

  — 其他需要进行效率测试的系统运行环境

  14

  GB/T 29835. 3—2013

  指标名称

  最大并发请求数

  测 试 约 束

  负载约束

  适用的负载约束 :

  — 极限负载 。

  注 : 由于极限负载也就是本指标的测试目标 , 因此也可以认为本指标无需负载约束 。

  对象约束

  适用的对象约束 :

  — 效率需求中明确对最大并发请求数具有需求的操作请求 ;

  — 应用系统中可能面临较大负载压力的并发请求

  测试设计

  1. 确定测试环境 ,按照环境约束确定测试环境 。一 次 测 试 面 向 一 种 测 试 环 境 ,如 果 要 求 多 种 不 同 的测试环境 ,则分别进行多次测试 。

  2. 设计测试场景 ,测试场景中应包括要测试最大并发请求数的请求 。

  3. 设计要尝试的并发请求数序列 Nr[1] ,Nr[2] , … ,Nr[N] ,

  式中 :Nr[1]= N0 ,Nr[2]= Nr[1] +a, …Nr[i]= Nr[i-1] +a;i= 2…N;

  N0 为尝试测试的并发请求数最小值 ,a为每次尝试增加的并发用户数

  测试实施

  1. 针对每个需要尝试的并发请求数 Nr[i] ,执行并发测试 。

  根据测试条件 、测试工具 、测试方式的不同 ,可以选择以下负载生成方式

  — 一个用户一个时刻只发出一个请求 。

  — 一个用户可同时发出若干个请求 ,例如通过启动多个线程同时发出多个请求 。

  — 一个用户连续发出多个请求 ,例如通过循环语句 。

  注 : 最大并发请求数的测试无需 考 虑 思 考 时 间 ,如 果 是 自 动 化 测 试 , 可 在 测 试 脚 本 中 增 加 集 合 点产生同时发出的并发请求 。

  2. 针对每个 Nr[i] ,测试并发请求的响应时间 Tr[i]或吞吐率 Pr[i] 。

  注 : 响应时间及吞吐率的测试方法详见“5. 1. 1 响应时间 ”和“5. 2. 1吞吐率 ”。

  3. 监控测试结果 ,如果出现以下情况 ,可停止测试 。

  — 测试过程出现异常 ,测试无法正常完成 ;

  — 响应时间变得不可测试 。

  4. 如果测试完 Nr[N]仍然未得到最大并发请 求 数 ,应 增 加 尝 试 次 数 或 重 新 调 整 尝 试 范 围 Nr[1] … Nr[N]与递增量 a

  测试结果计算

  1. 对每次尝试得到的结果{Nr[i] ,Tr[i] ,Pr[i]} , 以并发 请 求 数 为 横 坐 标 , 响 应 时 间 ,吞 吐 率 为 纵 坐标作图 ,获得响应时间 Tr[i]和吞吐率 Pr[i]随并发请求数 Nr[i]变化的关系图 。

  2. 选择并发请求数 Nr[j] ,满足 :

  Tr[1]…Tr[j]持平滑上升趋势 ,Tr[j+1]…Tr[N]出现急剧上 升 趋 势 或 Tr[j+1] 超 过 了 用 户能够容忍的响应时间的极限

  或 :Pu[1]…Pu[j]持平滑上升趋势 ,Pu[j+1]…Pu[N]不再上升 , 出现处理瓶颈

  则 Nr[j]为最大并发请求数 。

  3. 必要时 ,计算最大并发请求数满足度视图

  最大并发请求满足度= 最大并发请求数/期望的最大并发请求数

  6. 2 处理容量

  6. 2. 1 事务吞吐容量

  指标名称

  事务吞吐容量

  测试说明

  1. 事务吞吐容量用于表示一定时间 内 系 统 能 够 处 理 最 大 事 务 数 , 表 达 系 统 在 事 务 处 理 上 的 最 大 能力 ,事务吞吐容量的核心是确定系统的极限负载 。

  15

  GB/T 29835. 3—2013

  指标名称

  事务吞吐容量

  测试说明

  2. 事务吞吐容量的测试是通过对一个逐渐增大的并发用户数的序列来进行测试尝试 ,并获得每次尝试的事务吞吐率 ,通过分析事务吞吐率在什么时 候 不 再 增 加 ,从 而 得 到 系 统 可 承 受 的 最 大 事 务 吞吐率 ,并进过时间换算得到一定时间的事务吞吐容量 。

  3. 应考虑保证事务吞吐容量测试中每次测试尝试的持续时间 ,从而考察在较长的的时间周期内系统总体的事务处理能力 。

  注 : 由于事务吞吐容量测试的是 服 务 器 端 的 极 限 负 载 , 因 此 可 不 考 虑 客 户 端 请 求 的 特 征 , 在 测 试事务吞吐容量时可减少或忽略用户的思考时间 。

  测 试 约 束

  环境约束

  适用的环境约束 :

  — 系统规定的 目标运行环境 ;

  — 其他需要进行效率测试的系统运行环境

  负载约束

  适用的负载约束 :

  — 极限负载

  注 : 由于极限负载也就是本指标的测试目标 , 因此也可以认为本指标无需负载约束 。

  对象约束

  适用的对象约束 :

  — 效率需求中明确对事务吞吐容量具有效率需求的事务 ;

  — 应用系统中典型的事务 ;

  — 应用系统中可能面临较大负载压力的事务

  测试设计

  1. 确定测试环境 ,按照环境约束确定测试环境 。一 次 测 试 面 向 一 种 测 试 环 境 ,如 果 要 求 多 种 不 同 的测试环境 ,则分别进行多次测试 。

  2. 设计测试场景 ,测试场景中应包括对象约束中要求的事务 。

  3. 设计要尝试的并发用户数序列 Nu[1] ,Nu[2] , … ,Nu[N] ,

  式中 :Nu[1]= N0 ,Nu[2]= Nu[1] +a, …Nu[i]= Nu[i-1] +a;i= 2…N;

  N0 为尝试测试的并发用户数最小值 ,a为每次尝试增加的并发用户数

  注 : 这里的并发用户数是指减少或忽略思考时间的并发用户数 , 因此应比考虑思考时间的实际的并发用户数要少得多 。

  测试实施

  1. 针对每个需要尝试的并发用户数 Nu[i] ,执 行 并 发 测 试 ,模 拟 具 有 Nu[i] 个 用 户 并 发 执 行 指 定 的事务 。

  2. 针对每个 Nu[i] ,测试事务处理的吞吐率 Pu[i] 。

  注 : 测试吞吐率的方法见 5. 2. 1。

  3. 监控测试结果 ,如果出现以下情况 ,可停止测试 。

  — 测试过程出现异常 ,测试无法正常完成 ;

  — 事务不能正常完成并获得正确处理结果 。

  4. 如果测试完 Nu[N]仍然未得到最大事务容量 ,应增加尝试次数或重新调整尝试范围与递增量

  测试结果计算

  1. 对每次尝试得到的结果{Nu[i] ,Pu[i]} , 以并发用户数为横坐标 ,吞吐率为纵坐标作图 , 获得吞吐率 Pu[i]随并发用户数 Nu[i]变化的关系图 。

  2. 选择最大事务吞吐率 Pu[j] ,满足 :

  —Pu[1]…Pu[j]持平滑上升趋势并达到最高 ,Pu[j+1]…Pu[N]不再呈现上升趋势 ;

  — 则 Pu[j]为最大事务吞吐率 , 即事务吞吐容量 。

  3. 必要时 ,计算事务吞吐容量满足需求的程度

  事务吞吐容量满足度= 事务吞吐容量/期望的事务吞吐容量

  16

  GB/T 29835. 3—2013

  6. 2. 2 数据吞吐容量

  指标名称

  数据吞吐容量

  测试说明

  1. 数据吞吐容量的测试是通过对一个逐渐增大的数据处理请求量来进行测试尝试 ,通过测试获得每次尝试的系统实际的数据吞吐率 ,通过分析数据 吞 吐 率 在 什 么 时 候 不 再 增 加 ,从 而 得 到 系 统 可 承受的最大数据吞吐率 ,并经过时间换算得到一定时间的数据吞吐容量 。

  注 : 数据处理请求量是单位时间内用户发出的数据处理请求 。

  2. 增加数据请求量可通过以下方式达到 :

  — 增加并发用户数 ;

  — 增加单位时间内并发用户数发出的事务数 ;

  — 增加事务中要求处理的数据量 。

  注 : 由于数据吞吐容量测试的是 服 务 器 端 的 极 限 负 载 , 因 此 可 不 考 虑 客 户 端 请 求 的 特 征 , 在 测 试数据吞吐容量时用户可连续产生数据处理请求 。

29140424029
下载排行 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图  360book | 联系我们谢谢