zoukankan      html  css  js  c++  java
  • JMeter 一:Elements of a Test Plan

    参考:http://jmeter.apache.org/usermanual/test_plan.html

    最小测试集包括:Test Plan,一个Thread Group,以及一个或多个Samplers。

    Test Plan

    测试计划,一个测试有且仅有一个测试计划部件。

    测试计划下面的配置部件,比如 Listeners,将会作用于所有的Thread Group。

    image

    Name:测试计划名称。

    User Defined Variables:用户可以在这里添加变量。这里定义的变量类似于全局变量,整个测试计划都可以用。

    Add directory or jar to classpath:这里可以放置需要加载的依赖jar包。

    Thread Group

    线程组,在这里配置Jmeter执行测试的线程数量。

    所有的Controller 以及 Sampler必须放到 Thread Group 下面。

    线程组种类:setUp Thread Group , Thread Group , tearDown Thread Group。

    setUp Thread Group 一般放置一些预处理的操作,tearDown Thread Group 一般放置一些所有线程组执行完毕之后清理操作,Thread Group 放置正常执行测试的操作。

    image

    Number of Therads:配置一共多少线程。对应LR里面的用户数量。

    Ramp-Up Period:配置多少秒内准备好线程。假设上面配置的线程数为40,这里输入120,则每3秒系统会准备好一个线程。

    这里的值太小,系统就需要在很短的时间内准备好大量的线程,导致测试开始系统负载太大;这里值太大也不好,可能导致第一个线程都结束了,最后一个还没开始,不能达到很好的并发效果。

    Loop Count:循环数。假设当前Test Plan只有2个Sampler,Number of Threads为5,Loop Count为3,则整个测试运行发送的request数量=(5 users) X (2 request ) X (3 loop)= 30 HTTP requests。

    这里也可以直接勾选“Forever”,意思就是测试会一直运行,直到用户手动停止。

    Scheduler:勾选这个可以配置测试计划的调度方法,比如开始以及结束执行时间,测试执行多久等等。

    Samplers

    取样器。Jmeter通过Sampler来给服务器发送请求。

    Sampler有多种,常见的有:HTTP Request,JDBC Request。每个Sampler页面呈现都不一样,可以在页面上配置发送该种请求所需要的字段。

    image

    Logic Controllers

    逻辑控制器。作用于它里面的部件,决定发送请求的逻辑、循环次数等。

    个人感觉就是LoadRunner可以自己写代码来控制逻辑,但是Jmeter都是采用UI方式直接配置,所以需要添加Logic Controllers来控制整个流程的逻辑,比如While Controller。

    image

    Test Fragments

    测试片段。

    Test Fragments 和 Thread Group 处于同一级。他俩的区别是:Test Fragments 不会被执行,只有被 Module Controller 或者 Include Controller引用的时候才会被执行。

    Test Fragments 纯粹是 为了测试计划内部代码的复用。

    Listeners

    监听。Jmeter的程序执行结果靠Listener来反映。可以为单个Sampler添加Listener,也可以为一组Sampler添加Listener。

    有表格形式的Listener,有图表形式的Listener,也有各种总结报告。

    如果需要存储执行过程中的数据,也可以直接在Listener里面配置存储的文件以及存储的内容。

    常用的包括:聚合报告(Aggregate Report)、查看结果树(View Results Tree)、用表格查看结果(View Results in Table)。

    image

    Timers

    定时器。

    默认执行Sampler时,会挨个挨个执行,中间不会有时间停留。但是有时候我们为了更好的模仿现实测试情况,需要在发送request之间延迟一段时间,这个时候就需要加Timers。

    image

    Assertions

    断言。对于从服务器返回的内容,我们需要进行验证的时候就需要添加断言。

    比如我们发送一个请求之后,判定服务器返回的内容必须包含某个特定文本才算请求发送成功,那我们就可以添加一个Response Assertion。

    Assertions 可以用来判断响应的结果是否如用户所期望的,确保功能正确的前提下执行压力测试。

    断言结果可以用Assertion Listener来监听。

    image

    Configuration Elements

    配置元素。

    Configuration Elements一般和Sampler结合起来使用。Configuration Elements会作用于和它同级以及低级的Sampler。

    比如多个HTTP request,就可以使用 一个 HTTP Request Defaults来管理一些共同属性。其他的还可以配置 header、cookie等。

    image

    Pre-Processor Elements

    前置处理器元素。Sampler请求发送之前执行。

    Pre-Processor一般用来在发送Sampler请求之前修改设置,或者更新不用从response中提取的变量。

    image

    Post-Processor Elements

    后置处理器元素。Sampler请求发送之后执行。

    Post-Processor 一般用来处理response数据,经常用来从response中提取值。比如动态关联就需要用到后置处理器中的 Regular Expression Extractor

    image

  • 相关阅读:
    EBS Form菜单栏增加选项
    Oracle EBS 基础概念:弹性域-上下文字段
    EBS apps, applsys 的关系及密码更改
    设计模式-建造者模式
    微服务入门
    常见SQL编写和优化
    java 8 stream toMap问题
    mysql8.0.22在centos7.6下的简单安装
    mysql8的collate问题和修改
    springboot+security自定义登录-1-基础-自定义用户和登录界面
  • 原文地址:https://www.cnblogs.com/miniren/p/6495068.html
Copyright © 2011-2022 走看看