(一)性能测试需求分析
- 熟悉被测系统
1、熟悉被测系统的业务功能
2、熟悉被测系统的技术架构 - 明确性能测试内容
1、从业务角度明确测试内容
确定关键业务。即:用户使用频率较高的业务功能
2、从技术角度明确测试内容
如:通常逻辑复杂度较高的业务也是CPU密集运算较大的地方,考量服务器CPU在预定性能指标下是否达标
如:通常数据量较大的业务很占用系统内存,考量服务器内存在预定性能指标下是否达标 - 明确性能测试策略
1、负载测试
2、稳定性测试
3、并发测试 - 明确性能测试的指标
无明确需求指标 :通过查找相关资料,和类似的系统对比,以及对未来流量的预估,确定性能测试需求的指标
有明确需求指标 :例如,类似如下指标 下订单业务并发20个用户 平均响应时间要小于等于3s 事务成功率为100% CPU使用率小于等于85% 只需要根据执行分析结果与预期指标做对比,如果有不满足的,就需要分析问题所在
(二) 性能测试计划及方案
概要介绍:类似功能测试的测试计划,按照阶段进行划分
主要内容:
- 项目背景
- 测试目的
- 测试范围
- 测试策略
- 风险控制
- 交付清单
- 进度与分工
测试方案模板(包含测试计划):
x性能测试方案.doc
(三)性能测试用例
(四)性能测试执行
- 性能测试准备工作
1、选择性能测试工具(Jmeter、loadrunner,Locust)
2、测试服务器,服务器版本,服务器硬件软件参数
3、数据库资料(MySQL,Oracle)
4、测试数据,并发数据,模拟用户数据,流程节点设置
- 搭建性能测试环境
1、配置防火墙,网关,Nginx,tomcat等服务器
2、配置网络,搭建项目,新建数据库实例
3、分布式,虚拟IP等配置
- 编写性能测试脚本
1、调试基础接口,多接口参数关联,配置相关协议,证书等
2、编写脚本,设置场景,并发数,集合点,运行时长等
3、调试脚本
4、验证脚本
- 配置性能测试监控指标
1、响应时长,吞吐量TPS
2、错误率,资源使用率(CPU,内存,磁盘等)
- 执行脚本
收集运行时数据,收集运行结束时数据,生成性能测试结果
(五)性能分析和调优
性能分析:性能测试分析人员经过对结果的分析以后,有可能提出系统存在性能瓶颈
- 调优人员(开发人员、数据库管理员、系统管理员、网络管理员、性能测试分析人员)相关人员对系统进行调整;
- 验证-性能测试人员继续进行第二轮、第三轮……的测试,与以前的测试结果进行对比,从而确定经过调整以后系统的性能是否有提升。
系统调优由易到难的先后顺序如下:
- 硬件问题
- 网络问题
- 应用服务器、数据库等配置问题
- 源代码、数据库脚本问题
- 系统构架问题
(六)性能测试报告
性能测试总结要包含以下内容:
- 性能测试需求覆盖情况,测试过程回顾,及测试中出现的问题(如何去分析、调优、解决的)---基本要求
- 性能测试过程中遇到各类风险是如何控制的; 目前是否还有其他的性能风险存在
- 经过该项目性能测试后,有那些经验和教训等内容