一、测试计划:
用来描述一个压力/性能测试脚本和场景设计的基本运行单元, 使用JMeter进行测试的所有内容都是基于一个测试计划
用户定义变量
测试计划的基础配置:
不勾选:各个线程组并行、随机执行
勾选:线程组按照前后顺序来执行
独立运行每个线程组
主线程组运行完成之后运行tearDown线程组
函数测试模式,比如保存响应数据或者样本数据,需要注意的是选择该功能非常耗磁盘
空间添加文件或者jar包,常用于外部功能调用
二、线程组:
线程组元件是任何一个测试计划的开始点,在一个测试计划中的所有元件都必须在某个线程组下,所有的任务都是基于线程组。
第一部分:在请求取样器执行错误时需要执行的下一步动作
Continue:继续执行接下来的操作
Start Next Loop:忽略错误,执行下一个循环
Stop Thread:退出该线程(不再进行此线程的任何操作)
Stop Test:等待当前执行的采样器结束后,结束整个测试
Stop Test Now:直接停止整个测试
第二部分:线程属性
Number of Thread (users):线程数,模拟的用户数量
Ramp-up Period(in seconds):达到指定线程数所需要的时间。举例:线程数设置为50,此处设置为5,那么每秒启动的线程数 => 线程数50/5 = 10
Loop Count: 循环次数
Same user on each iteration:每次迭代都用相同的用户, 勾选该选项则不同次迭代之间是串行执行,不勾选则为并行执行。
Delay Thread creation until needed:当线程需要执行的时候,才会被创建。如果不选择这个选项,那么,在计划开始的时候,所有需要的线程就都被创建好了
Specify Thread lifetime:定义线程调度时间
Duration (seconds): 持续时间(秒), 在此选项填入N,说明这个计划,从某个开始时间算起,执行N秒后结束。(会忽略 结束时间 的选项)
Startup delay (seconds): 启动延迟(秒),在此选项填入N,手动点击开始执行计划,然后延迟N秒后,计划才真正开始执行。
三、控制器:
种类丰富
为请求执行提供不同的逻辑控制
常用的逻辑控制器
事务控制器 Transaction Controller
条件控制器 If Controller
循环控制器 Loop Controller
随机控制器 Random Controller
四、采样器 / 取样器:
采样器(取样器): 模拟用户操作,向服务器发出请求的组件;
采样器作用:向服务器发送请求,记录响应信息与响应时间;
常用采样器:
HTTP Request Sampler
Debug Sampler
BeanShell Sampler
五、JMeter 场景逻辑控制技术:
场景逻辑控制技术:
利用JMeter 逻辑控制器
实现测试业务流程中的逻辑变化
模拟实际业务场景
六、监听器:
定义:用来动态的监控JMeter执行测试的过程,实时查看测试结果;
常用监听器:
查看结果树
聚合报告
后端监听器
七、定时器:
定义:定时器是用来控制采样器发出请求开始时间的组件
固定定时器:发出请求前等待的时间
高斯随机定时器:两个请求等待的时间在给的时间范围内随机,等待时间不固定
吞吐量定时器:控制对应的吞吐量,如1秒钟1个流量
并发定时器:控制同步发起请求
直播
1、 JMeter介绍
2、 JMeter安装
3、 JMeter启动提示
# 不要使用GUI模式进行负载测试 GUI模式只是压测脚本的创建和调试 Dont use GUI mode for load testing !, only for Test creation and Test debugging. # 如果想要进行负载测试 使用CLI模式 即非GUI模式 -- 静默压测会详细介绍 For load testing, use CLI Mode (was NON GUI): jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder] # 可以增加Java的堆来满足压测需求 & increase Java Heap to meet your test requirements: # 修改JMeter文件的Java堆变量 Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file4、压测脚本四要素
5、 用户定义的变量
6、 线程组件
默认值是指匹配不到时,给一个默认值
7、 jmeter中文显示问题的解决
* 解决乱码问题 -> 在<jmeter_home>/bin/jmeter.properties配置文件中设置 sampleresult.default.encoding=utf-8 * 解决Unicode 显示成可读中文的问题 -> 将 <ijmeter_proj>/unicode2utf8/unicode2utf8.js 内容复制粘贴到 BeanShell PostProcessor 中最后:下方这份完整的软件测试 视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。