软件性能是软件的固有特性,表现为执行软件某一功能所消耗的时间。软件性能是一种指标,是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是功能的响应及时性。性能是用户的一种最终感受,主要通过响应时间、吞吐量、并发用户数、系统资源占用、系统稳定性几个指标来衡量。

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,评判系统是否存在缺陷,并根据结果识别性能瓶颈,改善系统性能的完整的过程。依照性能测试开展的领域和性能测试类型两个维度看性能测试,划分如下:

(1)性能验证:也可以叫缺陷发现。主要通过性能测试的手段来发现系统中存在的并发异常等缺陷,同时对给定环境下产品的并发处理能力及响应时间情况有个了解。日常开展的性能测试基本都属于这一领域。如单元阶段的原型验证、发版阶段的产品性能验证。

(2)性能调优:通过性能测试,发现问题-调优(调整)-测试(验证调优效果)的方法提高系统性能能力。如针对项目上反馈的产品性能问题进行的专项性能测试。

(3)能力验证:验证系统在给定条件下是否具备预期(适用于项目自身的典型场景、用例)的能力表现。如客户上线前验收测试。

(4)能力规划:了解系统性能能力的可扩展性和非特定环境下的性能能力。关心的重点是“如何使系统具有我们要求的性能能力”或“在某种可能发生的条件下,系统会有如何的性能能力”。比如某项目设备选型测试,验证确认能满足未来3-5年业务发展需求的设备配置要求。

测试的用途:

(1)评估系统的能力,测试数据可验证计划模型的能力,帮助作出决策;

(2)识别体系中的弱点,为体系的瓶颈修复提供依据;

(3)系统调优,反复运行测试,直至验证活动得到预期的结果,从而改进性能;

(4)长时间的测试执行可以揭示程序中隐含的问题或冲突;

(5)通过测试可验证系统的稳定性和可靠性。

适用客户:政府部门、大专院校、科研院所、软件企业、计算机系统集成企业或与之相关IT企业。

测试标准:GB/T25000.51-2016《系统与软件工程系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》