软件性能测试的目标
软件性能测试的目标是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最终起到优化系统的目的。
软件性能测试包括以下几个方面的内容。
-
评估系统的能力
测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
-
识别体系中的弱点
受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
-
系统调优
重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
-
检测软件中的问题
长时间的测试执行可能导致程序发生由于内存泄漏引起的失败,揭示程序中隐含的问题或冲突。
-
验证稳定性(Resilience)、可靠性(Reliability)
在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
1. 性能测试通过标准
性能测试从需求、设计、准备、执行到分析,最后需要判断性能测试是否通过,性能测试工程师最终需要考虑很多因素,判断的标准相应也会有多个维度。性能测试通过标准包括服务端性能、前端性能和用户体验性能,常规通过标准如表所示。
类别 | 判断维度 | 不通过 | 通过 | 备注 |
---|---|---|---|---|
通用互联网服务端性能 | 超时概率 | > 0.5‰ | < 0.5‰ | 性能测试团队根据通过标准,判定被测性能点不通过。没有绝对的标准,有专家组或项目负责人来评判。 |
错误概率 | > 0.5‰ | < 0.5‰ | 网页响应时间一般根据(1s 优秀、3s 普通、5s 忍受极限)来判断。假设 5s 为客户忍受的上限,特殊功能另议。 | |
TPS | 小于期望高峰值 | 大于期望高峰值 | ||
CPU 利用率 | > 75% | < 75% | ||
响应时间 | 大于期望时间 | 小于期望时间 | ||
JVM 内存使用率 | > 80% | < 80% | ||
Full GC 频率 | 平均小于半小时 1 次 | 平均大于半小时 1 次 | ||
前端页面性能 | YSlow 评定 | YSlow 评定 C 级以下 | YSlow 评定 C 级,或 C 级以上 |