软件性能是软件的固有特性,表现为执行软件某一功能所消耗的时间。软件性能是一种指标,是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是功能的响应及时性。性能是用户的一种最终感受,主要通过响应时间、吞吐量、并发用户数、系统资源占用、系统稳定性几个指标来衡量。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,评判系统是否存在缺陷,并根据结果识别性能瓶颈,改善系统性能的完整的过程。依照性能测试开展的领域和性能测试类型两个维度看性能测试,划分如下:
(1)性能验证:也可以叫缺陷发现。主要通过性能测试的手段来发现系统中存在的并发异常等缺陷,同时对给定环境下产品的并发处理能力及响应时间情况有个了解。日常开展的性能测试基本都属于这一领域。如单元阶段的原型验证、发版阶段的产品性能验证。
(2)性能调优:通过性能测试,发现问题-调优(调整)-测试(验证调优效果)的方法提高系统性能能力。如针对项目上反馈的产品性能问题进行的专项性能测试。
(3)能力验证:验证系统在给定条件下是否具备预期(适用于项目自身的典型场景、用例)的能力表现。如客户上线前验收测试。
(4)能力规划:了解系统性能能力的可扩展性和非特定环境下的性能能力。关心的重点是“如何使系统具有我们要求的性能能力”或“在某种可能发生的条件下,系统会有如何的性能能力”。比如某项目设备选型测试,验证确认能满足未来3-5年业务发展需求的设备配置要求。