项目介绍
我的回答:
这次性能测试,是整个项目第一次正式上线前的性能测试;
目标是进行能力验证以及容量规划,主要是考虑到系统功能是逐步开放至全公司员工,以及供应商使用,总体用户会达到2-3万人,同时对应的服务器等资源也要满足未来的需求
我的整体做法是:
-
根据被替代的项目(由第三方开发的桌面端旧系统),收集使用频率最高的场景,确定了12个场景,涵盖物料查询、物料申购、供应商用户确认订单、发货等
-
接着制定测试计划、方案:确定测试时间,对接运维与开发来配合部署好测试环境;
-
搭建性能测试相关的环境(包括 Jmeter,Grafana,InfluxDB等),准备测试数据(用户数据,合同、订单数据等)
-
编写 Jmeter 测试脚本(参数化,断言,前后接口的数据关联等)
-
将 Jmeter 的执行命令封装成脚本文件,实现不同并发量的测试执行,在的 Grafana 平台上进行可视化监控,并对测试结果进行分析;如果在这一轮测试中发现有性能问题,则需要调整后进行新一轮的测试。
-
最后,输出整体性能测试报告
以上就是这个项目的介绍,谢谢!
项目中使用的 JMeter 组件
结合自己的项目梳理。
-
线程组:使用阶梯式加压线程组,尽可能模拟真实场景
-
采样器:Http 请求
-
配置原件:
-
Http cookie 管理器
-
Http 信息头管理器
-
csv data set config(csv 参数化):从csv文件中读取准备好的测试数据,例如登录账户数据等
-
-
逻辑控制器:简单控制器
-
定时器:高斯随机定时器,模拟用户的等待时间
-
后置处理器:JSON 表达式提取器
-
断言:响应断言
-
监听器:用于调试,正式测试时,需要关闭,减少对结果的影响
-
察看结果树:用于调试
-
聚合报告
-
断言结果
-
插件
-
hit per second(每秒点击数)
-
transactions per second(每秒完成事务数)
-
活动线程数
-
-
-
非测试元件:
- Http 代理服务器:用于抓包,录制脚本
-
函数助手:
- __setProperty:设置属性值,脚本形式运行时进行参数化
剩余内容,请通过下方获取方式购买后跳转阅读~
获取方式
本专栏内容为付费内容,你可以按照实际需求下单购买,谢谢你的支持~