“千举万变,其道一也。不离于宗,谓之天人”

                ----《荀子·儒效》和《庄子·天下》

作为接口测试工具

  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工作原理的更多相关文章

  1. Jmeter(四十二)_控制器下遍历一组参数

    概述 在接口自动化的过程中,经常遇到需要遍历的参数组.jmeter在中,foreach控制器可以实现遍历参数,但是只能有一个入参.一旦遇到数组,foreach控制器表示我也无能为力... 为了解决这个 ...

  2. Jmeter(四十二) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 -番外篇(详解教程)

    1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是模模糊糊的.更有甚者觉得那是禁地神圣不可轻 ...

  3. NeHe OpenGL教程 第四十二课:多重视口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. Android艺术开发探索第四章——View的工作原理(下)

    Android艺术开发探索第四章--View的工作原理(下) 我们上篇BB了这么多,这篇就多多少少要来点实战了,上篇主席叫我多点自己的理解,那我就多点真诚,少点套路了,老司机,开车吧! 我们这一篇就扯 ...

  5. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

  6. 第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗?

    第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗? 几个月前(回到3月份),您可能还记得我在这个系列的52件东西中发布了第23件(可以在这里找到).这篇文章的标题是& ...

  7. 网站开发进阶(四十二)巧用clear:both

    网站开发进阶(四十二)巧用clear:both 前言 我们在制作网页中用div+css或者称xhtml+css都会遇到一些很诡异的情况,明明布局正确,但是整个画面却混乱起来了,有时候在IE6下看的很正 ...

  8. Gradle 1.12用户指南翻译——第四十二章. Announce插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  9. “全栈2019”Java第四十二章:静态代码块与初始化顺序

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. JMeter—监听器(十二)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第七节监听器用来显示JMeter取样器的测试结果,能够以树.表.图形形式显示,也可以以文件方式保存. 一.设置默 ...

随机推荐

  1. 浮动IP(Floating IPs):开始构建你的高可用性的应用

    高可用性是所有生产环境的关键.开发者因此可以高枕无忧因为他们知道他们的应用被设计为可以承受住故障. 今天,我们非常激动的宣布我们应用了浮动IP技术.浮动IP指的是一个IP地址可以立即从一个Drople ...

  2. madlib 集成 hasura graphql-engine 试用

    madlib 可以让我们直接在sql 中进行机器学习,集成了强大的sql 能力,以及分析能力,后边会尝试 集成graphql engine ,让功能更强大 docker 镜像准备 使用了一个别人的写好 ...

  3. lua-resty-shell 多任务执行

    已经写过一个openresty 使用lua-resty-shell 执行shell 脚本的demo,但是实际上我们可能是多节点运行, 同时需要负载均衡的机制. lua-resty-shell 支持un ...

  4. RTSP为什么VLC播放器无法播放

    rtsp_tracepoint: rtspservice.c,RTSP_state_machine, state_machine:current state is ready state curren ...

  5. asterisk todo

    1, 如何让用户打一个密码才能继续外拨? 可以利用__9xxx那种做法 2,如何和onsip连起来? 3, 如何记录所有拨打记录?

  6. centos安装netcat

    Linux安装swoole后,测试UDP服务需要用到netcat,然而百度了很多安装方法,并没有一个好用的.几经尝试,终于安装成功,现在就分享给大家,以供参考. 配置环境:centos6.3 1.下载 ...

  7. bzoj 3600 没有人的算术——二叉查找树动态标号

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3600 已知 l 和 r 的排名,想快速知道 k 的排名.那么建一个 BIT ,用已知的排名做 ...

  8. C#语法中一个问号(?)和两个问号(??)的运算符

    (1).C#语法中一个个问号(?)的运算符是指:可以为 null 的类型. MSDN上面的解释: 在处理数据库和其他包含不可赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型以及日期类型的功 ...

  9. java小程序(课堂作业06)

    编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”.“及格”.“中”.“良”.“优”的结论. 要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都 ...

  10. Delphi实现菜单项上出现提示

    type TMenuHintWindow = class(THintWindow) private FTimerShow: TTimer; FTimerHide: TTimer; procedure ...