• Jmeter-功能概要


    1、Jmeter工具组成部分

      (1)资源生成器:用于生成测试过程中服务器、负载机的资源代码。(LR中的VuGen)

      (2)用户运行器:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为。(LR中的Controller)

      (3)报表生成器:根据测试中实时的数据生成报表,提供可视化的数据显示方式。(LR中的Analysis)

      (4)负载生成器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。(LR中的Load Generators)

      Test Plan(测试计划):用来描述一个性能测试,包含本次性能测试所有相关的功能。也就是说性能测试的所有内容是基于一个计划的。(相当于LR的一个测试场景)

     

    2、Threads(Users)线程、用户

      (1)Thread Group(线程组):

        这个就是我们通常添加运行的线程。可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。类似LR的action()

      (2)setUp Thread Group:

        一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。类似LR的init(),unittest单元测试框架的前置条件

      (3)tearDown Thread Group:

        一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。类似于LR中的end(),unittest单元测试框架的后置条件

    3、测试片段(Test Fragment):

      测试片段元素是控制器上的一个特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。

    4、配置元件(Config Element):

      配置元件用于提供对静态数据配置的支持。如CSV Data Set Config可以将本地数据文件形成数据池(Data Pool)

    5、定时器(Timer):

      定时器用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段,类似于LR中的思考时间。Jmeter定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer

    6、前置处理器(Per Processors):

       用于实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当URL中有sessionID一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID

    7、后置处理器(Post Processors):

       用于对Sample发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LR测试工具中的关联概念)

    8、断言(Assertions):

     

       断言用于检查测试中得到的相应数据是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致

    9、监听器(Listener):

       是用来对测试结果数据进行处理和可视化展示的一系列元件。图形结果、查看结果树、聚合报告。都是经常用到的元件。注意:这个监听器可不是用来监听系统资源的元件

      Jmeter有俩种类型的控制器:取样器(Sample)和逻辑控制器(Logic Controller)用这些元件来驱动处理一个测试

    10、取样器(sample):

      取样器是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,Jmeter原生支持多种不同的sample,如HTTP Request Sample、FTP Request Sample、TCP Request Sample、JDBC Request Sample等,每一种不同类型的Sampler可以根据设置的参数向服务器发出不同类型的请求

    11、逻辑控制器(Logic Controller):

       逻辑控制器,包括俩类元件,一类是用于控制Test Plan中Sampler节点发送请求的逻辑顺序的控制器,常用的有如果(if)控制器、switch Controller、Runtime Controller、循环控制器等。另一类是用来组织控制Sampler节点的,如事务控制器、吞吐量控制器。

  • 相关阅读:
    【Java每日一题】20161027
    【Java每日一题】20161026
    【Java每日一题】20161025
    【Java每日一题】20161024
    【Java每日一题】20161021
    【Java每日一题】20161020
    【Java每日一题】20161019
    Xen们和Open Stack们
    Linux内存管理子系统
    Python学习资料收集
  • 原文地址:https://www.cnblogs.com/katyhudson/p/12229992.html
Copyright © 2020-2023  润新知