zoukankan      html  css  js  c++  java
  • Jmeter-测试计划元件【转】

    1. Test Plan (测试计划)

    用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本次性能测试的所有内容是于基于一个计划的。

    下面看一下一个计划下面都有哪些主要的功能模块(右键单击“测试计划”弹出菜单)。

     

     2. Threads (Users)线程 用户:模拟用户大量负载的情况

    虽然有三个添加线程组的选项,名字不一样, 创建之后,其界面是完全一样的。之前的版本只有一个线程组的名字。现在多一个setUp theread Group 与terDown Thread Group 

    1) setup thread group  

      一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。

    2) teardown thread group.  

      一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。

      可能你还是不太理解他们与普通的线程组有什么不同。 如果您用过junit,想必你不会对setup ,teardown这2个字眼陌生。 即使没用过,也没关系。 熟悉loadrunner的应该知道,loadrunner的脚本除了action里是真正的脚本核心内容,还有初始化“环境”的初始化脚本和测试完毕后对应的清除信息的脚本块。 那么这里 setup thread group 和 teardown thread group 就是分别指这两部分。  其实从本质上来看,他们并没有什么不同。

    3) thread group(线程组)

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

     

    线程组

      名称:就如字面意思,起个有意义的名字就行

      注释:

      线程数:这里选择5

      Ramp-Up Period:单位是秒,默认时间是1秒。它指定了启动所有线程所花费的时间,比如,当前的设定表示“在5秒内启动5个线程,每个线程的间隔时间为1秒”。如果你需要Jmeter立即启动所有线程,将此设定为0即可

      循环次数:表示每个线程执行多少次请求。

    访问路径:【测试计划】——【Threads(Users)】

    3.测试片段(Test Fragment)

     

      测试片段是在2.5版本之后新加的一个选项。

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

     

    4.取样器(Sampler):模拟用户操作向服务器发送请求

     

        取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler ,如 HTTP Request Sampler 、 FTP  Request Sample 、TCP  Request Sample 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。在jmeter 的所有sampler 中,Java Request Sampler 和 Beanshell Request Sampler 是两种特殊的可定制的 Sampler 。

     JMeter有两种类型的控制器:取样器(sample)和逻辑控制器(Logic Controller),用这些原件来驱动处理一个测试。

     访问路径:【测试计划】——【线程组】——【Sampler】

     

    5. 逻辑控制器(Logic Controller):处理多个接口请求

      逻辑控制器,包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的,如 事务控制器、吞吐量控制器。

      访问路径:【测试计划】——【线程组】——【逻辑控制器】

     

    6.配置元件(Config Element):做参数化

     

      配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的cookie 进行管理)

     访问路径:【测试计划】——【配置元件】

     

    7.定时器(Timer):模拟多个接口请求同时发送

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

     

    访问路径:【测试计划】——【线程组】——【定时器】

    8.前置处理器(Per Processors):请求发送前做一些准备工作

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

    访问路径:【测试计划】——【前置处理器】

     

    9.后置处理器(Post Processors):处理服务器的返回结果

      用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath  Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据。

    访问路径:【测试计划】——【后置处理器】

     

    10.断言(Assertions):用来验证结果是否正确

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

     

     

    访问路径:【测试计划】——【断言】

    11.监听器(Listener):查看测试结果

     

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

     

    到此,我们已经简单了解了jmeter的基本组成原件,我们后序的性能测试工作也就是使用这些元件来完成测试任务。

    访问路径:【测试计划】——【监听器】

    【转载链接】http://www.cnblogs.com/fnng/archive/2012/12/21/2828440.html

  • 相关阅读:
    树形DP新识
    HDU3652 B-number 数位DP第二题
    HDU3555 Bomb 数位DP第一题
    数位DP新识
    Codeforces Round #371 & HihoCoder1529【玄学】
    hihocoder1618 单词接龙
    后缀数组 逐步探索
    HDU2157 How many ways矩阵再识
    阿里云安全中心:自动化安全闭环实现全方位默认安全防护
    趣谈预留实例券,一文搞懂云上省钱最新玩法
  • 原文地址:https://www.cnblogs.com/linxiu-0925/p/10100943.html
Copyright © 2011-2022 走看看