性能测试——房屋租赁系统(BadboyJMeter)
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试——房屋租赁系统(BadboyJMeter)相关的知识,希望对你有一定的参考价值。
被测系统
a)系统名称: 房屋租赁系统
b)系统链接: http://114.215.176.95:60513/text2/
c)用户名:admin, 密码:123456
测试工具
慕测 JMeter 客户端:在编写脚本时,请使用最新版本的慕测 JMeter 客户端。如不使用最新版本可能造成得分显示错误以及评分无法上传的情况。下载
Badboy:http://www.winwin7.com/soft/7021.html
测试范围
对“房屋租赁系统”中的“租客已缴租金”的查询功能进行性能测试,在测试过程中必须按要求对录制的脚本进行修改(包括参数化、集合点、事务等)。
测试要求
- 创建名为 rentHouse 线程组(Thread Group),该线程组负责对房屋租赁系统-租客已缴租金查询功能进行性能测试,相关的操作应放置在该线程组中。
-
操作流程:
i. 进入到房屋租赁系统-租金信息-租客已缴租金列表页面;
ii. 对 租客姓名 进行筛选;
-
在该线程组处配置 50-100 个并发用户和合适的 ramp up period,线程组执行时间为 1 分钟。
i. 注意:在使用 jmeter 自带的run 功能时,不要使用超过 30 的线程数运行脚本, 否则会造成端口被封。正确流程是:
1. 使用较小线程数(10 以内)运行脚本和进行评分,保证除线程组以外的评分项获得理想分数
2. 再调整线程组配置,然后直接进行评分,不使用 jmeter 自带的 run 功能。请严格按照该注意事项进行操作,若造成端口被封,请换用其他 IP 和端口。如果还是不行,造成分数误差,后果自负。 -
对于这部分脚本,在关键的搜索请求处添加事务、参数化(对出发城市、到达城市,和去程时间做参数化,其他搜索字段不做要求),并在关键搜索请求处添加集合点。注意:
i. 请使用 CSV 数据文件配置(CSV Data Set Config)进行参数化,不要使用_CSVRead 等方式;
ii. 参数文件请使用 csv 格式;参数文件中最多包含 10 组数据即可,测试数据过多会导致评分速度过慢。
iii. 请将参数文件和脚本文件放在同一级文件夹下,并在 CSV 数据文件配置(CSV Data Set Config)中使用相对地址作为参数文件名,如 data.csv,不需要在文件名前使用./。文件不在同级目录、使用绝对地址、以及在文件名前使用./这三 种行为都会造成评分误差;
iv. 事务的位置、参数化的位置和集结线程数请自行配置
-
- 整理脚本,保证脚本执行成功(若果存在.css 或图片等的非关键链接执行失败,可以删除掉这部分链接)。
- 脚本编写有下面三种方法,选择一种方法即可,推荐使用后两种较为简单的方法。这三种方式外的其他编写方式可能会出现评分失败的情况
i. 使用浏览器的开发者工具捕获 http 请求,并手动编写脚本。
ii. 使用 JMeter 客户端自带的录制功能,在浏览器中安装ApacheJMeterTemporaryRootCA.crt,录制脚本
iii. 使用 Badboy 进行脚本录制后,通过 file -> Export to JMeter 得到脚本。
测试过程
Badboy录制脚本
JMeter制作脚本
导入脚本
重命名线程组
配置线程数、启动时间、运行时间
添加事务
添加同步点定时器(集合点)
搜索请求参数化
data.csv
参考:
C1
C2
运行和提交
测试工具为慕测 JMeter 客户端,请使用 JMeter 客户端菜单栏中的 MoocTest 菜单项下面的功能进行运行和提交,其中 Run 是运行和评分功能,Submit 是提交功能。
每次提交前,JMeter 客户端会再次对脚本进行运行和评分,并提交本次运行的分数和脚本。
本项目满分100分,在考试结束前,请一定要至少提交一次,否则最终会没有成绩。
测试结果
注意事项
- 不推荐用超过 30 的线程数跑 jmeter 脚本,会造成端口被封。请先使用较小线程数进行运行和评分,保证除线程组之外的其他评分项得分后,再调整线程组配置,直接评分。
- 参数化文件中,参数数据的组数越多,评分速度越慢。因此为了保证较快评分,在参数化文件中最多配置 10 组参数数据。
- 请将参数文件和脚本文件放在同一级文件夹下,并使用相对地址作为参数文件名,如
data.csv,不需要在文件名前使用./。文件不在同级目录、使用绝对地址、在文件名前使 用./这三种行为都会造成评分误差 - 在使用 jmeter 录制脚本时,请在浏览器中正确安装
ApacheJMeterTemporaryRootCA.crt,安装方法见官方文档
(https://jmeter.apache.org/usermanual/component_reference.html#HTTP%28S%29_Tes
t_Script_Recorder)。安装有误会造成 jmeter 无法录制全部请求。 - 使用 JMeter 客户端录制功能或者 Badboy 录制后,请删除关键请求外多余的请求,否则会造成多余无用请求,在运行时花费较长时间。
参考文章
以上是关于性能测试——房屋租赁系统(BadboyJMeter)的主要内容,如果未能解决你的问题,请参考以下文章