• 性能测试工具:Jmeter介绍


    JMeter是一个开源的Java应用程序,由Apache软件基金会开发和维护,可用于性能测试、压力测试、接口测试等。

    1. 原理

    JMeter的基本原理是模拟多用户并发访问应用程序,通过发送HTTP请求或其他协议请求,并测量响应时间、吞吐量、并发用户数、错误率和性能指标等,以评估应用程序的性能和稳定性。

    2. JMeter特性

    1)支持多种协议

    支持HTTP、HTTPS、FTP、TCP、JDBC和JMS等协议,可以模拟多种网络环境和应用程序场景。

    2)支持多种测试类型

    支持负载测试、压力测试、功能测试、基准测试和分布式测试等多种测试类型,适用于不同的性能测试需求。

    3)支持多种测试场景

    支持多种测试场景,包括并发用户数、持续时间、循环次数和延迟时间等,可以模拟真实的使用场景。

    4)支持多种测试结果收集和显示方式

    支持多种测试结果收集和显示方式,包括聚合报告、图形结果、树形结果和控制台输出等,便于性能分析和优化。

    5)支持插件和扩展

    JMeter支持插件和扩展,可以扩展其功能和性能,以满足特定的性能测试需求。

    2. JMeter的组件

    1)测试计划(Test Plan)

    测试计划是JMeter中的最高层次,包括多个线程组、配置元件和监听器等。测试计划用于设置全局的测试参数,包括测试名称、工作目录、线程数和持续时间等。

    2)线程组(Thread Group)

    线程组是JMeter中用于模拟并发用户访问应用程序组件,包括一组线程(用户)和一组控制器(逻辑控制)。线程组用于设置线程数、循环次数、持续时间和延迟等参数,控制器用于设置线程(用户)的请求和响应的逻辑控制。

    3)HTTP请求(HTTP Request)

    HTTP请求是JMeter中模拟客户端向服务器发送HTTP请求的组件。HTTP请求包括请求的URL、协议、方法、参数、头部和Body等,可以模拟GET、POST、PUT、DELETE等HTTP请求方法,以测试应用程序的响应速度和性能。在HTTP请求中,可以设置请求的参数、响应的断言和监听器等,以收集和显示测试结果。

    4)控制器(Controller)

    用于控制测试计划和线程组的执行流程,包括简单控制器、随机控制器、循环控制器和条件控制器等。

    5)监听器(Listener)

    监听器是JMeter中收集和显示测试结果的组件,包括聚合报告监听器、图形结果监听器、树形结果监听器和控制台输出监听器等。监听器用于监控测试结果,以评估应用程序的性能和稳定性,并生成报告。

    6)断言(Assertion)

    断言是JMeter中验证HTTP响应的状态码、内容和格式的组件,包括响应码断言、响应内容断言和响应时间断言等。断言用于验证HTTP响应的正确性和完整性,以确保应用程序的功能和性能。

    7)配置元件(Config Element)

    用于配置测试计划和线程组的属性和参数,包括HTTP请求默认值、CSV数据文件配置和用户定义的变量等。

    8)启动器(Timer)

    用于在发送HTTP请求前或线程开始前等待一段时间,以模拟用户的行为。启动器用于设置线程组的执行前等待时间,以模拟真实的使用场景。

    9)前置处理器(Pre-Processor)

    用于在发送HTTP请求前进行处理,包括用户参数、CSV数据集和HTTP Cookie等。

    10) 后置处理器(Post-Processor)

    用于在接收HTTP响应后进行处理,包括正则表达式提取器和XPath提取器等。

    3. JMeter用户界面

    JMeter的用户界面包括以下几个主要部分:

    1)工具栏:包含了常用的功能按钮,例如开始、停止、保存和导入等。例如,我们可以使用工具栏上的按钮开始和停止测试,以便进行测试和观察测试结果。

    2)树形结构:用于组织测试计划的各个组件,包括测试计划、线程组、控制器、监听器和配置元件等。

    3)属性窗口/面板:用于显示和编辑选定组件的属性,例如线程数、延迟和协议等。

    4. JMeter的配置文件

    JMeter的配置文件用于存储各种配置选项和全局变量,包括以下几个主要文件:

    1)jmeter.properties:包含了JMeter的全局配置选项,例如默认编码、连接超时和代理服务器等。

    2)user.properties:包含了用户自定义的全局变量和配置选项,例如用户定义的变量和自定义的插件等。

    3)saveservice.properties:JMeter的结果保存配置文件,包含JMeter测试结果的保存格式、编码、压缩、分隔符等配置参数。

    最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    在这里插入图片描述

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

  • 相关阅读:
    ZooKeeper 之zkCli.sh 客户端一文读懂
    Linux 中的权限
    网络安全(黑客)自学
    jvm优化 JVM 内存大小设置
    xml引配置文件
    linux多线程编程之pthread_join和pthread_once使用
    python条件语句,循环
    时序预测 | MATLAB实现TCN时间卷积神经网络的时间序列预测
    聊聊Linux中CPU上下文切换
    自动化测试08
  • 原文地址:https://blog.csdn.net/2301_78276982/article/details/134055890