上海XX科技有限公司管理制度
I/NK-T006:1.0
系统性能测试指南
发布 起实施
上海XX科技有限公司 总经理室 发布
系统性能测试指南 I/NK-T006:1.01.0
文件修改记录
序号 1 2 版本 1.0 更改者 XXX 修订日期 2006-10-19 简要说明 创建 - 1 -
系统性能测试指南 I/NK-T006:1.01.0
前 言
为适应企业管理的需要,本公司参考了国外先进的软件开发过程的管理理念、方法和模型以及有关国际和国家标准的要求,根据内部沟通对文档格式的需要,制定了本规范。
本规范由质量管理部提出和归口。 本规范由本公司质量管理部负责起草。
本规范主要起草人:吴志文、雍莉、崔晓东等。
1 范围
本程序描述了系统性能测试过程中应遵循的准则和方法,为软件测试中性能测试策略的具体细则补充,对性能测试过程中软件开发、测试参与各方的权责进行了明确定义,并对软件测试管理流程及各流程节点的启动准则、输入、活动内容、工作产品和结束准则进行了明确定义。
项目所有的性能测试工具都采用Mercury Interactive公司的LoadRunner7.8(含中文补丁)作为主要性能测试工具。
在LoadRunner工具不能完全承担性能测试任务,可以采用性能测试工具作为辅助,例如robot、act、was等。
性能测试推荐采用真实环境或模拟真实环境进行测试,具体参见《测试环境管理指南》。
2 引用标准
在本规范的描述和应用中,将使用下列国际和国家标准。本标准在起草时,所示的标准均为有效。所有标准都会被修订,使用本规范的各方应探讨使用下列标准最新版本的可能性。
GB/T 19000-2000 质量管理体系 基础与术语(idt ISO 9000:2000) GB/T 19001-2000 质量管理体系 要求(idt ISO 9001:2000)
3 术语与定义
本程序引用条款2的引用标准中的术语和定义。
4 权责
4.1 项目经理
提供软件性能测试需求,在《软件需求说明书》中体现; 提供《软件性能测试分析表》,可以由测试组辅助填写。
4.2 测试经理
负责测试体系的维护;
指导项目或软件产品性能测试工作;
辅助项目组和领导测试组完成性能测试工作;
4.3 测试组
软件性能测试计划的制定; 软件性能测试方案的编写; 软件性能测试执行 提供软件性能测试报告
5 软件性能测试
5.1 软件性能测试目标
- 2 -
系统性能测试指南 I/NK-T006:1.01.0
软件性能测试目标主要有以下几个:
度量最终用户的响应时间:分析完成一个业务流程需要多少时间。 定义最优的硬件配置:分析哪种硬件配置可以提供最佳性能。 检查可靠性:分析系统无错误或无故障运行的时间长度或难度。 检查硬件或软件升级:分析升级对性能或可靠性有何影响。 评估新产品:分析新产品应选择哪些服务器硬件或软件。
度量系统事务通过量:分析没有显著性能下降的前提下,系统能够处理多大负载。 确定瓶颈:分析那些因素会影响系统性能。
在软件开发过程中,所需要选择的测试目标与软件开发过程的对应关系表如下: 计划与设计 开发 实施 生产 升级 评估新产品 度量响应时间 检查可靠性 度量响应时间 检查硬件或软件升级 度量响应时间 定义最优的硬件配置 检查可靠性 检查硬件或软件升级 度量系统事务通过量 确定瓶颈 度量响应时间 度量系统事务通过量 确定瓶颈 度量系统事务通过量 5.2 软件性能测试策略
软件性能测试根据测试要点不同,所采取的测试策略也不同,测试策略主要包含以下几类: 性能测试(Performance Testing):
一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。 负载测试(Load Testing):
一种性能测试。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
强度测试(Stress Testing):
一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。 容量测试(Volume Testing)
使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。 软件性能测试策略能达到的软件性能测试目标的对应关系如下表: 度量响应时间 定义最优的硬件配置 检查可靠性 检查硬件或软件升级 评估新产品 √ √ √ √ √ √ √ √ √ 性能测试 √ 负载测试 √ √ 强度测试 √ 容量测试 - 3 -
系统性能测试指南 I/NK-T006:1.01.0
度量系统事务通过量 确定瓶颈 √ √ √ √ 5.3 性能测试分析表定义
由测试人员针对《需求分析说明书》(来自于项目组)性能需求部分,对项目的性能测试要求进行分析,根据性能测试策略的不同,分别作如下分析区分:
注意:除了容量测试以外,如无特殊要求,系统的测试环境中的数据量都应该保持在系统稳定运行半年至一年的数据量,可以依据容量测试模拟数据容量的方法进行模拟。
1、 性能测试:主要分析系统常态下的性能测试方法和测试要点,需关注如下几个要点:
a) 平均并发用户数的估算方法:
i.
实时系统,可以根据系统的目标用户数的20%~30%进行估算,非实时系统,可以根据系统目标用户数的2%-5%进行估算。 ii.
也可以根据系统业务的运行模式进行分解,例如根据交易通过率(吞吐量)进行分析,换算出每分钟必须通过的事务,那么就采用这个数字除10,获得交易并发数。
iii.
高峰并发数的估算方法:根据常态业务并发数的3-5倍来估算。
b) 响应时间的选择: i. ii.
一般响应时间采用本指南第5.5节的规则进行选定。
对于需较长或较短的响应时间需单独定义,特殊响应时间根据应用系统而定。
c) 性能场景的建立应该遵守下面两条原则: i. ii. iii.
必须忠实于系统应用实际情况,严格按照系统业务应用比例来模拟。 对于重点性能模块,可以建立场景单独测试。 分组比例的两个参数定义方法:
1. 按照预定的并发数计算分组比例,例如登录并发数为100,查询为20,那么登录
的比例则为100/(100+20)*100%。
2. 场景并发总数量为累加,例如登录并发数为100,查询为20,那么组合场景为120。
d) 事务吞吐量(事务通过率)估算方法,根据系统处理能力TPM-C = M*M0/T/M1(其中M为
日交易量,M0为应用交易对应标准交易的个数一般取10,T为交易时间此处由8/2原理取96分钟,M1为操作系统提供处理能力取80%):例如:一个报税系统年工作为11个月,而每个月又分为三旬业务,每旬业务后三天会处理80%的业务,而最后一天又分配了这三天的80%业务,系统的年业务量是100万笔,那么高峰并发数为:1000000/(11*3)*80%*80%=19400笔,那么系统的高峰并发数为TPM-C=M*(M0/T/M1=10/96/0.8)=0.13*19400=2522笔/分钟。
- 4 -
系统性能测试指南 I/NK-T006:1.01.0
2、 负载测试:主要分析系统最大能够承受的负载压力,其关注点放在系统的最大并发问题上,需
要关注以下几个要点:
a) 并发数:并发数选择一般采用系统并发的十倍以内进行选择,系统并发数可以根据场景换
算需求换算。
b) 测试脚本:选择系统预计的大并发场景的脚本进行测试,对于不需要大并发的测试脚本,
则不应选择作为测试脚本。
3、 疲劳测试:主要分析系统的强度情况,测试重点在于系统稳定运行的时长,同时监控系统资源
的占用情况和系统运行状况,以检查系统的稳定性为主。其中需要关注以下几个要点: a) 并发数:按照性能测试中的算法,计算出一般系统的平均并发数进行系统压力测试。 b) 强度准则选择:根据采用方法不同,分以下两种类别 i.
采用预定强度准则法:预定强度即运行时长固定,分为以下三种时长,以达到预期检测目标:72小时不间断测试:达到7×24系统使用要求,36小时不间断测试:达到5×24系统使用要求,12小时不间断测试:达到5×12系统使用要求。 ii.
采用目标交易量估算法:目标一个月的交易量在固定时间内完成,例如一个月的交易量为10万笔业务。
4、 容量测试:主要分析系统的数据容量情况,测试重点在于主要的应用数据表中的数据量,同时
监控改变数据量的情况下系统的表现情况,以检查系统的预期为主。其中需要关注以下几个要点:
a) 数据量的估算:根据不同应用系统的使用年限预期,获得系统预计容量,一般情况以一年
为基准,逐步向上累加,在需要测试的年限内,至少取3个数据采集点,测试系统容量不一般超过10年的数据,特殊要求系统除外。
b) 数据的模拟:收集到业务系统主要的数据表以及数据表所影响的性能点,应用数据量模拟
工具模拟出实际的系统容量性能。
5.4 性能测试脚本定义标准
标准中主要定义了事务名称、参数名称、变量名称、注释信息标准。 事务名称定义标准,事务名称需包含以下几个部分:
1、 事务序号:以2位阿拉伯数字为顺序,定义事务序号后加入事务半角的“.”作为分隔,如果含
有子事务,那么序号采用分级方法定义,即在当前序号之后,再增加2位阿拉伯数字作为需要,后面同样用半角“.”分隔。
2、 事务名称:用中文描述当前事务采集点的主要含义,不超过10个汉字。
3、 举例:如果点击查询按钮为第二个事务查询的第三个子事务,那么该事务则命名为:02.03点击
查询按钮。
参数池名称定义标准,必须符合以下准则: 1、 在参数前加入“par_”表示为参数池调用。
- 5 -
系统性能测试指南 I/NK-T006:1.01.0
2、 采用英文描述。
3、 不同含义词语的第一个字母必须用大些表示。
4、 举例:房屋地址的参数池定义为:par_HouseAddress。 变量名称定义标准,必须符合一下准则: 1、 在变量前加入“var_”表示为变量调用。 2、 采用英文描述。
3、 不同含义词语的第一个字母必须用大些表示。
4、 举例:房屋地址的参数池定义为:var_HouseAddress。 注释信息标准,必须复合一下准则:
1、 新增的变量和参数必须含有注释信息。 2、 注释信息采用/* 信息 */的方式注释。
3、 注释信息中必须包含详细信息、注释人、注释时间三个内容。按照如下模板进行注释。
/* 详细注释信息 注释人:×××,注释日期:××××*/
5.5 性能测试普遍度量标准
标准中主要定义了交易响应时间、资源占用率的度量指标。 1、 交易事务的响应时间分为三个级别。 a) <3秒:性能较好;
b) >=3秒and<5秒:性能一般; c) >=5秒and<8秒:性能较差; d) >=8秒:性能不可接受。
2、 资源占用的度量指标。以WINDOWS的资源占用为标准
a) CPU平均利用率不大于80%(Processor. % Processor Time) b) 可用物理内存大小,不少于总量的10%(Memory. Available Mbytes)
c) 内存页交换率,不大于80(Memory. Pages/sec)
d) 磁盘读取时间百分比,不大于80%(PhysicalDisk. % Disk Time)
- 6 -
因篇幅问题不能全部显示,请点此查看更多更全内容