序号 | ⼯作内容 | 负责⼈ | 时间 | 备注 |
1 | 测试场景梳理 | 小陈 | 2022.18-2022.18 | |
2 | 资源采购(阿里云服务器) | 李四 | 2022.18-2022.18 | 与⽣产保持⼀致 |
3 | ⽬标输出 | 小陈 | 2022.18-2022.18 | |
4 | 测试数据的准备 | 小A | 2022.18-2022.19 | 需要10万数据 |
5 | 人员不够 | 测试经理协调 | 2022.18-2022.18 |
序号 | ⼯具 | 选择理由 | 备注 |
1 | JMeter | 开源,可以做常规以及并发测试 | |
2 | Locust | 开源,基于协程,来测试服务稳定性这部分 | 验证服务是否出现崩溃 |
3 | JVM监控⼯具 | 检测服务是否出现OOM | |
4 | Grafana&InfluxDB | 数据可视化报表展示 |
序号 | 工作内容 | 负责人 | 时间 | 备注 |
1 | 测试场景梳理 | 小陈 | 2022.18-2022.18 | |
2 | 资源采购(阿里云服务器) | 李四 | 2022.18-2022.18 | 与⽣产保持⼀致 |
3 | ⽬标输出 | 小陈 | 2022.18-2022.18 | |
4 | 测试数据的准备 | 小A | 2022.18-2022.19 | 需要10万数据 |
5 | 人员不够 | 测试经理协调 | 2022.18-2022.18 |
序号 | ⼯具 | 选择理由 | 备注 |
1 | JMeter | 开源,可以做常规以及并发测试 | |
2 | Locust | 开源,基于协程,来测试服务稳定性这部分 | 验证服务是否出现崩溃 |
3 | JVM监控⼯具 | 检测服务是否出现OOM | |
4 | Grafana&InfluxDB | 数据可视化报表展示 |
序号 | 场景 | 目标 | 负责人 | 时间 | 是否完成 | 备注 |
1 | 测试并发登录 | 满足100人同时登录 | 小A | |||
2 | 产品列表加载 | 同时满足50个人加载,响应时间小于5秒 | 小A | |||
3 | 产品搜索 | 同时满足50个人加载,响应时间小于5秒 | 小E | |||
4 | 同时⽀持执行API测试用例 | 响应时间小于5秒,最⼤并发100 | 小B | |||
5 | 上传⽂件最⼤⽀持2G | 不能出现OOM | 小C | |||
6 | ⽀持持续的发送API请 求 | 验证服务的稳定性 | 小D |
2、等待2秒后,可以保证每次都是启动100人
与登陆设置一样,有两种操作思路,操作中可以同时使用。当服务满足100个人同时登录时,再验证一下90和110个人同时登录的情况
与产品搜索同理
首先在测试平台上设计相关的api测试用例,点击运行。打开jmeter填写测试用例,再考虑并发。
该场景有两种操作思路,通常一起使用更有说服力。当服务满足100个人同时登录时,再验证一下90和110个人同时登录的情况,设计思路与测试并发登录一致
测试最简单的方式:
在测试并发登录时,如需要满足50个人同时登录该测试平台,我们可以先测试一个人登录,看响应时间是否超过5s,如果超过5s表示需要优化,可不进行50个人同时登录该测试平台的测试,直接与开发沟通优化
当被测平台的文件上传服务,最大支持上传2G的文件时,我们对平台做性能测试时,可以上传2G的文件,然后看上传过程中是否会出现timeout(解决办法:把文件先进行拆分,如拆分成4个500兆的文件,然后在进行上传,上传成功后再合并)、上传成功的文件是否会缺失或者上传成功的文件是否会乱码或者文件错乱。(出现socket表示网络层出现错误)
文件上传服务监控是否会出现内存泄露的步骤:打开JVM工具——获取pid——通过jvisualvm查看监控(CPU和memory)——页面操作文件上传——观察日志,如果日志中出现java.long.out of memory
测试方式是:locust开发
该场景需要用到locust工具,首先需要创建locustfile文件夹,填写代码。内容如下
将JMeter内新建的线程组信息运行,打开控制台,进入代码文件夹,输入命令locust -f storm_api.py
浏览器内输入网址:http://47.95.142.233:3000/d/Z6Jz03i7k/apache-jmeter-dashboard?orgId=1&refresh=5s
该链接信息中需要特别注意的几个结果如图:
summary的总述部分、响应时间、吞吐量和系统负载