课程:B站大学
记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师


性能测试计划

1、测试背景

轻商城是公司新开发的一个电商项目,为了保证项目上线后能够稳定的运行,且在后期推广中能够承受用户的增长,需要进行性能测试。

2、测试目的

对新电商项目进行性能测试的核心目的包括:

  • 确定核心业务功能的TPS
  • 对业务流程(多接口组合)进行压测
  • 系统能在实际系统运行压力的情况下,稳定的运行24小时

3、测试范围

通过对性能测试需求的调研和分析,确定被测系统的测试范围如下(此处确定核心功能业务接口流程):
在这里插入图片描述

4. 测试策略

4.1 基准测试

先做基准测试,确定估算的标准。

4.2 负载测试

通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的最大负载。分别模拟5、10、30、50、100个用户对系统进行负载测试,查看不同并发时系统软件各项指标是否符合需求。

4.3 稳定性测试

  • 用200用户对系统进行7*24小时的不间断稳定性测试,查看服务器日志内有无异常和报错;系统软件各项指标中间有无异常波动;是否存在内存溢出之类的问题。
  • 验证系统长期运行的稳定性以及是否存在内存溢出之类的问题。

5.风险控制

在这里插入图片描述
列举出性能测试的风险,主要是线程性能测试,但是一般测试都是在测试环境,隔离环境进行的,性能测试主要就是模拟测试,当让大厂会在线上预先进行测试的,比如容器挂载映射

6. 交付清单

性能测试计划、测试脚本、性能缺陷统计和性能测试报告等。

7. 进度与分工

阶段事项开始时间结束时间状态责任人
需求阶段需求评审完成多方参与
系统架构图完成开发
需求调研完成性能测试人员
准备阶段环境交付完成运维、开发
应用部署完成运维、开发
数据准备完成开发、DBA、测试
脚本开发完成性能测试人员
实施阶段执行压测未完成性能测试人员
服务监控未完成运维、测试
数据收集未完成性能测试人员
结束报告评审未完成多方评审

8.编写性能测试用例

在这里插入图片描述
这一步和功能测试差不多,比较简单,需要确定好预期结果,后面才能进行脚本开发(可以用AI进行开发,也可以自己抓包找接口,AI进行jmx开发很快,稍微修改下就可以使用了)

9.单功能点分析

目标​​:验证单个接口/功能的性能指标(如TPS、响应时间、错误率)。
​​范围​​:核心功能接口(如登录、查询、提交订单)。
​​指标​​:
响应时间(≤500ms)

TPS(≥100)

错误率(≤0.1%)

​​方法​​:单接口压测,逐步加压至阈值。

10.接口组合用例

​​目标​​:验证多接口组合场景下的整体性能(如用户下单流程)。
​​范围​​:典型业务流(如登录→浏览→加购→支付)。
​​指标​​:
整体响应时间(≤2s)
吞吐量(≥50事务/秒)
资源利用率(CPU≤70%,内存≤80%)
​​方法​​:模拟真实用户路径,混合并发测试。

11.性能监控

使用Prometheus+node-exporter+grafana:
在这里插入图片描述
在这里插入图片描述
具体配置在linux中即可,后续我会单独分享从0到1搭建性能测试监控体系以及压测集群服务端监控。

jmx脚本执行与自动化调度

1、Windows 环境(JMeter 脚本调试)​​

在 Windows 上使用 ​​JMeter GUI​​ 调试 .jmx脚本,确保逻辑正确(参数化、断言、监听器等)。

调试完成后,​​将 .jmx脚本 + 相关依赖文件(如 CSV 数据文件、JSON 配置)上传到 Linux 集群​​(如 /opt/jmeter/scripts/)。

2、 Linux 集群(Shell 调用 JMX + Python 环境)​​

在linxu上安装相同版本和jmeter以及集群相关工具,编写shell文件调用jmx文件
编写python自动化脚本,解析JTL结果和自动化加载依赖对应sh文件执行相关逻辑最后将性能测试报告导出到windows上并且发送钉钉、飞书、邮箱等

3、CI/CD 集成​​(如 Jenkins/GitLab CI)

使用python自动化批量加载不同性能测试sh文件执行不同的jmx文件,最后使用Jenkins完成流水线集成并且发送通知完成性能测试整个流程

实践是检验真理的唯一标准

更多推荐