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

            

  • 相关阅读:
    Java中判断两个列表是否相等
    chrome:插件、跨域、调试....
    mac 开发环境采坑
    webpack升级踩坑
    js-使用装饰器去抖
    React setState 笔试题,下面的代码输出什么?
    react 解决:容器组件更新,导致内容组件重绘
    centos使用ngnix代理https
    javascript 理解继承
    js 数据监听--对象的变化
  • 原文地址:https://www.cnblogs.com/richered/p/10382824.html
Copyright © 2011-2022 走看看