软件性能测试是在交替进行负荷和强迫测试时常用的术语。理想的“软件性能测试”(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。软件性能测试一般包括负载测试和软件压力测试。
为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。
通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标。或者执行同样任务时新版本不比旧版本慢。一般还检查系统记忆容量在运行程序时会不会流失(memory leak)。比如,验证程序保存一个巨大的文件新版本不比旧版本慢。
将“响应时间”确定为“对请求作出响应所需要的时间”,作为用户视角的软件性能的主要体现。
软件性能测试一般不关注“呈现时间”,因为呈现时间很大程度上取决于客户端的表现。
并发用户数取决于测试对象的目标业务场景,需要先对用户的业务进行分解,分析出典型的业务场景(用户最常使用、最关注的业务操作),然后基于场景采用多种计算并发用户数的数学模型与公式,得到“并发用户数”。
一个应用系统最高峰有 500 人同时在线,但只有部分用户对服务器产生实际压力:
可见,并发用户数不仅取决于人数,还取决于业务逻辑、业务场景。
定义为“单位时间内系统处理的客户请求的数量”,直接体现软件系统的性能承载能力。
对交互式应用系统,吞吐量反映服务器承受的压力,在容量规划测试中是重要指标,体现在中间件、数据库和硬件等方面。
性能计数器是描述服务器或操作系统性能的一些数据指标,例如 Windows 的内存使用数、CPU 使用率、进程时间等。
使用关键:找到性能瓶颈、确定系统阈值、提供优化建议。
不同测试工具实现方式不同,如 HP LoadRunner 和 IBM Rational Performance Tester 差异较大。