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,如何回答,首先要理解其本质,万变不离其宗!见招拆招方可达道境三十三重天!

        

作者:紫陌花间客
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

posted @   紫陌花间客  阅读(5743)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!
点击右上角即可分享
微信分享提示