软件性能测试需求的获取方法综述 软件测试
摘要:性能测试需求的质量直接影响性能测试的效果,在分析Web应用系统性能测试目的的基础上,提出性能测试需求描述要达到准确、一致和特定的要求,进一步明确性能测试需求必须要确定4W1H,即性能测试的需求必须包含where,what,when,who和how,并综述了几种有效的获取性能测试需求的方法。
关键词:性能测试;测试需求;需求获取
1 引言
基于Web服务器的应用系统由于提供浏览器界面而无须安装,大大降低了系统部署和升级成本而得以普遍应用。目前,很多企业的核心业务系统均是Web应用,但当Web应用的数据量和访问用户量日益增加,系统不得不面临性能和可靠性方面的挑战。因此,无论是Web应用系统的开发商或最终用户,都要求在上线前对系统进行性能,科学评价系统的性能,从而降低系统上线后的性能风险。
在很多性能测试项目中,由于不能合理定义系统的性能测试需求,不能建立和真实环境相符的负载模型,不能科学分析性能测试结果,导致性能测试项目持续时间很长或不能真正评价系统性能并提出性能改进措施。因此,性能测试需求分析的正确性是整个性能测试工作的最基本前提。若不能保证性能测试需求分析的正确性,即使性能测试工具使用的再正确,性能测试执行的再顺利,也无法保证性能测试达到预期的效果,即可能无法发现性能瓶颈、或者发现不了实际情况中应该出现的瓶颈。
本文从分析性能测试的目的出发,提出性能测试需求描述的三个要求,综述性能测试需求的获取常用方法。
2 性能测试的目的
性能测试的目的不仅是发现软件缺陷,还可能包括以下几个方面:
(1)验证能力。这是性能测试中最简单也是最常用的一个应用领域,典型的能力验证问题会采用这样的描述方式:“***系统能够在***条件下具有***能力?”。通常情况下,企业在进行项目验收阶段要求能力验证型的性能测试或者委托第三方软件测试机构开展独立的性能验证,其主要特点是在已确定的生产环境中实际使用被测系统,即这套系统能不能承受大量的并发用户同时访问?常以典型场景设计测试方案和用例。
(2)规划能力。这与(1)有较大的不同,以规划能力为目的的性能测试关注的是“应该如何才能使系统具有要求的性能能力?”或者“系统能否支持未来一段时间内的用户增长?”,因此,这种性能测试强调对系统当前性能的评估,通过评估可以在应用实际部署之前,预见系统负载压力的承受能力。
(3)调优性能。性能调优是以第一种或第二种为目的的性能测试实施后提供原始数据进而分析系统瓶颈和优化为目的,因此(3)常与其他的性能测试活动交杂在一起。该类性能测试需要在确定的基准环境下,采用基准负载,关注基准性能指标后,调整系统运行环境和实现方法,执行测试,记录测试结果进行分析,再调整、执行、分析,不断往复,直到系统性能达到要求为止。比如:用户提出业务操作响应时间长,如何定位问题,调整性能?