软件性能测试指导
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件性能测试指导
版本V1.0 版次1
背景:如何提高产品的质量,增强市场竞争力,日益成为企业发展必须解决的迫切问题,对软件企业来说尤为重要。软件企业要直接参与国际软件市场的竞争,首要问题就是要保证软件的质量,同时要加快软件产品的发布与交付使用。因此,如何提高软件质量,越来越成为当前软件产业发展中一个迫在眉睫的问题。
范围:本文档适用于软件测试人员的测试工作指导
软件质量:质量保证能力的强弱直接影响着软件业的发展和生存。《GB/T 16260 信息技术软件产品评价质量特性及其使用指南》明确定义:软件质量是软件产品具有满足明确的或隐含需求能力的特征和特性总和。具体包括以下六个方面的质量特性:
1、功能性:与一组功能及其指定的性质有关的一组属性。这里的功能是指满足明确或
隐含的需求的那些功能。
2、易用性:与一组规定或潜在的用户为使用软件所需作的努力和对这样的使用所作的
评价有关的一组属性。
3、可靠性:与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属
性。
4、效率:与在规定的条件下,软件的性能水平与所使用资源量之间关系有关的一组属
性。
5、可维护性:与进行指定的修改所需的努力有关的一组属性。
6、可移植性:与软件可从某一环境转移到另一环境的能力有关的一组属性。
因此,为了评价软件产品的质量,需要对软件质量的每个特性实施和执行测试。
随着现代软件构架技术的发展,特别是WEB技术的发展,与软件可靠性、效率质量特性相关的软件性能问题越来越受到包括软件从业人员、专家学者以及软件使用者的重视,软件的性能指标的好坏已直接影响到软件的质量。
性能测试技术:软件性能的测试一般包括三个方面,即性能评测、负载测试和强度测试。每一方面的测试都有其不同的测试目标、测试技术、完成标准,具体如下:
(一)、性能评测
针对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。目标是验证性能需求是否都已满足。
测试目标:验证所指定的事务或业务功能在以下情况下的性能行为:
1、正常的预期工作量
2、预期的最繁重工作量
测试技术:使用为功能或业务周期测试制定的测试过程。
1、通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭
代数量。
2、脚本应该在一台计算机上运行(最好是以单个用户、单个事务为基准),
并在多个客户机(虚拟的或实际的客户机上重复。
完成标准:
1、单个事务或单个用户:在每个事务所预期或要求的时间范围内成功地完成
测试脚本,没有发生任何故障。
2、多个事务或多个用户:在可接受的时间范围内成功地完成测试脚本,没有
发生任何故障。
注意事项:综合的性能测试还包括在服务器上添加后台工作量。可采用多种方法来执行此操作,其中包括:
1、直接将“事务强行分配到”服务器上,这通常以“结构化查询语言”(SQL)
调用的形式来实现。
2、通过创建“虚拟的”用户负载来模拟许多个(通常为数百个)客户机。此
负载可通过“远程终端仿真”(Remote Terminal Emulation) 工具来实
现。此技术还可用于在网络中加载“流量”。
3、使用多台实际客户机在系统上添加负载。
4、性能测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的
控制和精确的评测。
5、性能测试所用的数据库应该是实际大小或相同缩放比例的数据库。
(二)、负载测试
负载测试通过使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行,以及软件的性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
测试目标:验证所指定的事务在不同的工作量条件下的性能行为时间。
测试技术:
使用为功能或业务周期测试制定的测试。通过修改数据文件来增加事务数
量,或通过修改测试来增加每项事务发生的次数。
完成标准:多个事务或多个用户:在可接受的时间范围内成功地完成测试,没有发生任何故障。
注意事项:
1、负载测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的
控制和精确的评测。
2、负载测试所用的数据库应该是实际大小或相同缩放比例的数据库。
(三)、强度测试
强度测试目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共
享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。
测试目标:验证测试对象能够在以下强度条件下正常运行,不会出现任何错误:
1、服务器上几乎没有或根本没有可用的内存(内存和磁盘空间)
2、连接或模拟了最大实际(实际允许)数量的客户机
3、多个用户对相同的数据或账户执行相同的事务
4、最繁重的事务量或最差的事务组合
注:强度测试的目标可表述为确定和记录那些使系统无法继续正常运行的的情况或条件。
测试技术:
1、使用为性能评测或负载测试制定的测试。要对有限的资源进行测试,就应
该在一台计算机上运行测试,而且应该减少或限制服务器上的内存和磁盘
空间。
2、对于其他强度测试,应该使用多台客户机来运行相同的测试或互补的测试,
以产生最繁重的事务量或最差的事务组合。
完成标准:
所计划的测试已全部执行,并且在达到或超出指定的系统限制时没有出现
任何软件故障,或者导致系统出现故障的条件并不在指定的条件范围之
内。
注意事项:
1、如果要增加网络工作强度,可能会需要使用网络工具来给网络加载消息或
信息包。
2、应该暂时减少用于系统的磁盘空间,以限制数据库可用空间的增长。
3、使多个客户机对相同的记录或数据账户同时进行的访问达到同步。