软件性能测试面面观 性能测试工具
软件测试,作为软件工程的一部分,随着软件生产的产业化运作应运而生,是软件生产的一个动态监控过程,对软件开发全过程进行检测,可以随时发现问题、报告问题,并重新评估新的风险,设置新的监控基准,并持续下去。软件测试是软件质量控制的过程,是对软件系统中潜在的各种风险进行评估的活动,其目的是监测和排除缺陷,以确保软件产品在可用性、功能性、可操作性等多方面满足质量需求。
目前,软件测试已经由被动的以监测和发现错误为目的发展到从软件质量控制(SQC,Software Quality Control)开始转移到软件质量保证(SQA,Software Quality Assurance),使软件测试从单纯的缺陷检测和发现覆盖到整个软件开发过程,避免了软件开发过程中由于软件需求和设计等方面的缺陷所带来的巨大风险。一个典型的软件过程可以分为测试需求分析、测试设计、测试执行、缺陷和配置管理过程等许多个不同的阶段。在软件测试技术方面也已经被细化为单元测试、集成测试、系统测试、用户验收测试等不同的测试技术。而在对软件产品质量呼声日高的今天,软件性能测试技术尤为重要。
软件性能测试“整体观”
软件的性能测试是为了检验系统或系统部件是否达到需求规格说明中规定的各类性能指标,并满足一些性能相关的约束和限制条件,它必须对系统或系统部件具有的性能(例如,速度、精度、频率)做出规定的要求。
性能测试通常在系统测试阶段执行,常常与强度测试结合起来,一般需要使用测试工具。评估测试对象的性能行为时,可以使用多种评测,这些评测侧重于获取与行为相关的数据,如响应时间、计时配置文件、执行流、操作可靠性和限制。这些评测主要在评估测试活动中进行,也可以在执行测试活动中使用性能评测评估测试进度和状态。
性能需要在各种条件下测试,这些条件包括:
● 不同的工作量和/或系统条件。
● 不同的用例/功能。
● 不同的配置。
● 性能需求在补充规格或需求规格说明书中的性能描述部分中说明。
在上述条件下执行测试时,要特别注意以下信息,并为反映这些信息的每条语句生成至少一个测试需求:
● 时间语句,如响应时间或定时情况。
● 指出在规定时间内必须出现的事件数或用例数的语句。
● 将某一项性能的行为与另一项性能的行为进行比较的语句。
● 将某一配置下的应用程序行为与另一配置下的应用程序行为进行比较的语句。
● 一段时间内的操作可靠性(平均故障时间或MTTF)。
● 配置或约束
软件性能测试工作主要包括如下几个方面:
● 动态监测:在测试执行过程中,实时获取并显示正在执行的各测试脚本的状态。
● 响应时间/吞吐量:测试对象针对特定主角和/或用例的响应时间或吞吐量的评测。