编写测试计划中,线程组setUp-tearDown和调度器使用场景较少,但是往往关键功能的组成要点,是测试人员必须掌握的技能;
Jmeter线程组分类
- 线程组:常规线程组,实际使用较多;
- 特殊线程组:setUp线程组和tearDown线程组;
setUp线程组:做一些前置工作,在常规线程组之前执行;如:查看订单列表接口,必须登录获取token才可以查看订单数据;此时需要先调用登录接口获取token,再使用token调用订单列表接口;
tearDown线程组:做一些后置工作,在常规线程组之后执行;如:下单并查询订单详情;需要创建一个常规线程组完成下单并返回订单号,最后使用tearDown线程组根据订单号查询订单;
Jmeter测试计划执行效果
Jmeter调度器
在性能测试中,为了检查系统的稳定性,需要对系统持续一定时间的压测,并通过一系列指标和压测报表来证明,系统在特定配置中,允许承受的最大工作强度,从而方便后期做运维监控和机器的扩容处理;调度器就是用来做持续时间压测的配置;
使用说明:
- 必须是勾选循环模式,才可以让调度运行成功
- 勾选调度器
- 设置“持续时间”,单位秒;如:5秒,线程组允许5秒后就自动停止
- 设置“启动延迟”,单位秒;如:3秒,测试计划启动后,延迟3秒后执行,一般为了等待所有线程就绪后并发执行;
实战示例
参数解读:
线程数:100个,Ramp-Up时间:5秒,持续时间:60秒,启动延迟:5秒
5秒内启动100个线程,即每秒启动20个线程,且启动后延迟5秒后开始压测,压测时间持续60秒
HTTP请求默认值
测试人员在编写一个项目的测试用例,需进行多环境,如:测试环境和生成环境。以便后期测试需要;如果有100多个接口,每个接口都需要重复配置http协议、ip、端口等相同参数,维护起来麻烦。使用Jmeter的功能可实现一次修改全局适用;
测试计划上右击:添加->配置元件->http请求默认值
其他接口无需配置http协议、ip、端口等相同参数;也可以请求成功
HTTP信息头管理器
项目中,多数接口需要明确指定HTTP请求头的数据格式,此时可以通过Jmeter的“HTTP信息头管理器”来进行全局的参数设置;避免每个接口独立去设置