Jmeter(四十二)Jmeter工作原理
“千举万变,其道一也。不离于宗,谓之天人”
----《荀子·儒效》和《庄子·天下》
作为接口测试工具
Jmeter只是作为发起请求的客户端(可以理解为前端),Jmeter是作为组装请求报文结构的容器,例如:请求行、请求头、请求数据;并可将响应结果进行可视化展示。对于接口的复杂逻辑Jmeter有丰富的插件进行支持,前/后置处理,断言元件、第三方插件、也可以自行开发插件。
考察点:对协议的理解程度,例如http(s)、TCP、SOAP、DUBBO等常见协议,熟悉了解其请求报文以及响应报文结构则可知其本质
作为录制工具
其录制功能本质为通过监听某个端口,让代理捕获监听端口的报文信息,对抓取的报文进行格式化转换为对应的行为函数,而脚本进行回放时,就用函数方法去模拟客户端与服务端的通信过程。
说的明白点,就是将浏览器(前端)的所有请求保存下来,而监听手段便是设置代理,其他的抓包工具fiddler、Charles等原理都为一致。fiddler打开便启动默认代理(代理端口8888),Jmeter则是需要去设置代理服务器,其原理一致。
考察点:对录制本质的理解,这也是对当下测试人员的一个阶段性的考验,初级测试人员学习工具的初衷究其根本:不想写代码!托拉拽能搞定的不会写一行代码,录制便是这种类型的一种体现。
作为性能测试工具
Jmerer是模拟负载的工具,通过多线程模拟服务器访问压力。众所周知,性能测试中脚本以及加压工具并非重点,因为可择加压方式有很多,如LR、locust、自行编码,脚本编写相对容易,其核心点在于针对数据的分析,而完成分析工作则需要审查对业务架构、系统架构、业务逻辑、接口逻辑、需求调研分析、数据准备、同步/异步监控(JVM、服务器)准备等等前置工作的铺底程度,而Jmeter在编写脚本以及服务器同步监控(有插件支持、也可集成influxdb+Grafana)阶段可完成。
考察点:对性能测试的理解,学习过性能测试的童鞋应该都知道:性能测试≠工具or代码,性能测试是一个比较宽泛的领域,仅仅说某种工具或者说某种代码能搞定的,显然是不太现实的。
因此考察what,回答what,如何回答,首先要理解其本质,万变不离其宗!见招拆招方可达道境三十三重天!
Jmeter(四十二)Jmeter工作原理的更多相关文章
- Jmeter(四十二)_控制器下遍历一组参数
概述 在接口自动化的过程中,经常遇到需要遍历的参数组.jmeter在中,foreach控制器可以实现遍历参数,但是只能有一个入参.一旦遇到数组,foreach控制器表示我也无能为力... 为了解决这个 ...
- Jmeter(四十二) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 -番外篇(详解教程)
1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是模模糊糊的.更有甚者觉得那是禁地神圣不可轻 ...
- NeHe OpenGL教程 第四十二课:多重视口
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Android艺术开发探索第四章——View的工作原理(下)
Android艺术开发探索第四章--View的工作原理(下) 我们上篇BB了这么多,这篇就多多少少要来点实战了,上篇主席叫我多点自己的理解,那我就多点真诚,少点套路了,老司机,开车吧! 我们这一篇就扯 ...
- SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关
0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...
- 第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗?
第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗? 几个月前(回到3月份),您可能还记得我在这个系列的52件东西中发布了第23件(可以在这里找到).这篇文章的标题是& ...
- 网站开发进阶(四十二)巧用clear:both
网站开发进阶(四十二)巧用clear:both 前言 我们在制作网页中用div+css或者称xhtml+css都会遇到一些很诡异的情况,明明布局正确,但是整个画面却混乱起来了,有时候在IE6下看的很正 ...
- Gradle 1.12用户指南翻译——第四十二章. Announce插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- “全栈2019”Java第四十二章:静态代码块与初始化顺序
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- JMeter—监听器(十二)
参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第七节监听器用来显示JMeter取样器的测试结果,能够以树.表.图形形式显示,也可以以文件方式保存. 一.设置默 ...
随机推荐
- 常用C语言time时间函数
常见的时间函数有time( ).ctime( ).gmtime( ).localtime( ).mktime( ).asctime( ).difftime( ).gettimeofday( ).set ...
- centos 7.0 lnmp成功安装过程
下载nginx,wget 是一个下载命令-c 是断点续传(不要也这个也可以) [root@bogon ~]# wget -c http://nginx.org/download/nginx-1.7.9 ...
- xenserver使用快照创建虚拟机,提示eth0 has different mac错误
这个报错的意思就是说mac地址错误 我们对比后可以发现,用快照创建的虚拟机和原虚拟机的eth0那个配置文件的 mac地址是一样的,因为mac地址具有唯一性,所以就报这个错,无法配置ip上网 解决方法很 ...
- sqler sql 转rest api 防止sql 注入
sqler 对于sql Sanitization 的处理,我们可以使用bind 指令 说明: 这个是2.0 的功能,注意版本的使用 参考格式 addpost { // $input is a ...
- Tower Defense Toolkit 学习
代码太多,就不贴了.用到的基本已注释. 游戏中的数据存放在Resources/Database中.游戏运行时,通过Resources.Load加载 UI构成 对象池 using UnityEngi ...
- PHP获取站点根目录
http://rmingwang.com/php-access-to-the-site-root-directory.html php绝对路径与相对路径详解完整版 http://www.phpthin ...
- 记一次服务器路由跟踪 (2019-01-23 TODO)
记一次服务器路由跟踪 有用户反馈网站 无法访问. 现象如下: ping 没有反馈,确认了可以 ping 通其它的网站. tracert 跟踪到服务器商的内部就没的反应了. 同样一家的服务器商,另外一台 ...
- Chrome 66 禁止声音自动播放
声音无法自动播放一直在IOS/Android上面都是一个惯例, 桌面端的 Safari在2017年的11版本中也宣布禁止带有声音的多媒体自动播放, 紧接着2018年4月份Chrome发布的66版本也正 ...
- Shell 一键安装命令
现在是懒人的天下,为了迎合用户的需求,很多开源软件或者包提供的安装步骤都非常简单,大家应该看到不少类似一键安装的命令.下面是几个典型的例子: # homebrew 安装 $ ruby -e " ...
- 七、springboot(四)配置redis
1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...