性能测试流程
性能需求分析
- 测试人员需要与需求人员(客户)、领导及项目相关人员进行沟通,同时收集各种项目资料,对系统进行分析,确认测试的意图;
- 确认客户对性能的态度;
- 重点关注的性能指标。
某系统需求中性能部分的说明如下
要掌握哪些性能测试需求
- 系统响应时间要求
- 每秒完成的业务量要求
- 系统资源使用情况要求
- 用户并发量以及使用场景设计要求
性能测试计划
- 性能测试计划:测试环境的准备;软硬件配置、网络状况等;测试数据的准备;
- 明确测试策略:设计符合需求的测试场景,需要对系统的哪些业务模块进行测试。
- 明确人员配备:除测试人员,还包括开发、DBA、运维等人员的参与协助,性能测试的时间安排。
- 注意事项
- 服务器和客户端一定要在同一个局域网内,否则网络因素会成为性能测试的瓶颈。
- 在性能测试中要增加一些必要的检查点(断言),否则都不知道是否执行操作成功。但是也不要加太多检查点,否则也会影响性能指标。
- 测试程序中要加入一些等待时间,使得测试和真实情况一致。但是统计响应时间时要过滤这些时间。
- 尽量统计出每个页面、每个动作的响应时间以及响应时间的细分(域名解析、服务器时间、网络传输时间、客户端时间等),以便更好的分析测试结果。
- 运行性能测试时关闭日志功能,调试脚本时打开日志功能。
- 性能测试的数据准备:尽量保证数据库里的数据和真实生产环境里的数据同步或略多于真实环境数据,如果数据时会不断累加的,要考虑软件整个生命周期内可能的最大数据量。
误区
- 误区1:应用程序必须在功能测试通过后才能做性能测试。
- 说明:整体性能需要,但是小模块接口性能测试也应该尽早开展
- 误区2:性能测试要像功能测试一样,覆盖到所有功能。
- 说明:不是所有功能,根据二八原则有选择的制定性能测试方案
- 误区3:系统吞吐率随着并发增加而增加。
- 说明:并不是线性增长,有峰值和平稳期。
- 误区4:我们一定要想方设法达到客户给出的性能指标要求。
- 说明:有些需要与客户沟通增加硬件配置等解决性能瓶颈问题。
- 误区5:压力测试、负载测试、容量测试等要一一分开执行。
- 说明:一个整体系统性能测试场景里,应该包括各种类型的测试
- 误区6:性能测试就是工具的使用。
- 说明:工具只是辅助作用,测试方案、场景的分析、问题的定位是关键。