以下为性能测试精简执行过程,具体内容涉及项目就不补充啦~
一、性能需求分析评审
参与需求评审会议,明确性能测试范围、目标。
二、熟悉系统架构,申请性能测试服务器
根据需求评审确定的测试范围,确定测试涉及到哪几个服务,包含具体的web服务器、应用服务器、数据库服务器、文件服务器等。
三、制定性能测试方案
性能测试方案包括项目背景、架构分析、所需资源、技术策略、测试计划、测试场景、性能指标、通过标准。四、搭建测试环境,准备测试数据
环境搭建内容有:
- 前端
- 后端
- 数据库
- 监控中心接入
五、 压测脚本编写
主流程稳定后,调试被测接口、开发压测脚本。
思路:首先理清压测接口前后业务逻辑,清楚接口入参数据从哪里获取。
一般行为:
1.第一个线程组里,添加仅一次控制器,编写获取token的接口,响应,查看结果树,断言正则表达式提取器提取出token,使用beanshell取样器给token设置成全局变量;
-
第二个线程组里,是实际压测接口,有的入参可以导入csv文件获取,响应断言,查看结果树;
六、预压测
少量并发(比如1个用户),压测10分钟,可以看压测环境功能是否通,估算并发过程中需要多少参数化数据的数据量。
七、执行压测并监控
场景设计好后,就可以执行压测了,然后监控查看测试各项指标是否满足需求;如果不满足,可以结合表象及根据自己的经验直接去看预估的瓶颈点。
八、分析数据
基于上一步的监控数据,对瓶颈进行分析、定位,模块隔离分析、日志分析、内存分析、线程栈分析、代码跟踪等等。
九、性能优化
定位到问题了,大部分情况下,优化方案也就有了,测试可以把自己建议的优化方案告诉开发,开发会结合自己的方案,一起做优化方案评估;如果测试没有优化方案,那就把问题反馈给开发吧,但是也好好学学开发的优化思路,这就是成长的过程。
十、性能回归
优化后,复测。
十一、编写性能报告
· 测试结果是多少?
· 测试是否通过?
· 发现了什么性能问题?
· 原因是什么?
· 如何优化解决的?
· 系统性能提升了多少倍?
· 优化方案务必写详细,以便上线同事知道,把优化同步到其它各个环境。