性能测试项目实战
背景
描述具体是干什么,干这件事的前因后果。
性能测试过程
测试前期准备
干这件事需要有哪些准备工作,每个任务对应的负责人以及工作的开始和结束时间。
测试工具引入
基于梳理的业务场景,和服务底层稳定性体系的保障
性能测试计划
背景
描述具体是干什么,干这件事的前因后果。
前置工作
干这件事需要有哪些准备工作。
人员配备
每个任务对应的负责人以及工作的开始和结束时间。
技术(工具)选择
列举出自己选择的工具,以及选择相应工具的理由。
测试范围
就是具体的工作内容
测试风险
是否存在其它依赖项,基于客观事实,客观评估此次性能测试是否存在风险。
测试设计与开发
JMeter⼯具
测试并发登录
产品列表加载
测试最简单的方式:
1、测试只有一条列表数据时列表加载的响应时间。
2、测试添加多条数据时数据列表加载的时间。
同时⽀持执⾏API测试⽤例
上传⽂件最⼤⽀持2G
测试方式是:
1、上传一个2G文件的时间是多少?(使用JVM监控CPU和内存)
2、支持同一时间上传多少个的2G文件,最快上传的文件用时多少,最慢上传的文件用时多少?
3、一个人上传大小不同的文件,上传文件的大小为多少时出现内存泄漏?
4、多少个人同时上传多大的文件会出现内存泄漏
5、测试超过2G的文件大小的上传情况。
6、测试文件大小为1G的上传情况。
locust开发
⽀持持续的发送API请求
import time
from locust import HttpUser,task,between
class QuickStartUser(HttpUser):
host = 'http://47.95.142.233:8000'
min_wait = 3000
max_wait = 6000
def login(self):
r=self.client.post(
url='/login/auth/',
json={"username":"13484545195","password":"asd888"})
return r.json()['token']
测试执⾏与管理
性能关注指标
1、上传文件场景
1)时间
2)CPU与内存的变化趋势
2、常规场景
1)系统资源:CPU与内存
2)响应时间:最小,最大,平均,中位数,90%,95%,99%
3)吞吐量
4)IOPS,连接数
5)JVM的资源变化趋势关注
3、一码通场景
结合边界值分析法,需要测试的数据量为100万 90万 150万
1)系统资源:CPU与内存
2)响应时间:最小,最大,平均,中位数,90%,95%,99%
3)吞吐量
4)IOPS,连接数
测试报告(分析)
参与人员
参与的测试人员及测试版本
报告汇总
测试结论:结果是否符合预期。
过程数据
错误汇总(记录错误类型和错误日志)
测试风险
基于测试结果,给出的测试风险。
测试结论
总体测试结论的汇总:性能测试目标以及是否通过。
测试风险
基于测试结果,给出的测试风险。
测试结论
总体测试结论的汇总:性能测试目标以及是否通过。