基本构成

1)负载发生器:产生负载,多线程模拟用户行为

2)用户运行期:脚本运行引擎,用户运行器附加在线程上,根据指定脚本模拟指定的用户行为

3)资源发生器:生成测试过程中服务器、负载机的资源数据

4)报告生成器:根据测试中获得的数据生成报表,提供可视化的数据显示方式

主要概念

1)测试计划(Test Plan)

测试计划是根节点,包含本次测试所有相关功能

2)线程组(Threds(Ures))

用来模拟用户负载的组件,主要用来设置运行的线程数(就是模拟多少用户,一线程=一用户)

3)取样器(Sampler)

取样器必须添加在线程组下面。

用来模拟用户操作,向服务器(被测试系统)发出Http请求或java请求等等。接口测试就是用HTTP请求来实现的。

4)逻辑控制器(Logic Controller)

控制取样器的执行次数或执行顺序等

5)前置处理器(Pre Processors)

一般放在取样器之前。在取样器执行发出请求之前,做的一些环境或参数的准备工作。

比如有一个JDBC请求的取样器,要对数据库进行一些操作。需要在前置处理器中,先进行数据库的连接

6)后置处理器(Post Processors)

一般放在取样器之后。用来处理服务器返回的结果。比如接口测试中,上一个请求返回的参数,会当做下一个请求的参数。这时就需要用后置处理器去获取这个值。

7)断言(Assertions)

检查测试得到的响应和预期结果是否一致。判断测试是否通过

8)定时器(Time)

设置取样器的执行时间,可以让请求在一个时间点同时发出等场景

9)测试片段(test fragment)

和线程组同样级别的组件,可以在该组件下放任何测试元件。但一般不会被运行。

测试片段下的元件可以被模块控制器调用。利用它来模块化请求(类似封装)

10)配置元件(Config Element)

通过这个组件可以实现参数化。比如从csv文件中读取数据。为取样器提供数据支持。

11)监听器(Listener)

用来收集测试结果,对测试结果进行处理和可视化的组件

一个测试脚本中必定会有测试计划(打开jmeter默认就会有的),至少一个线程组、取样器、监听器

JMeter负载是通过线程组来驱动的。所以计划中至少要有一个线程组

测试的目的是为了模拟用户的请求,没有取样器脚本没有任何意义

需要使用监听器来知道请求结果。从结果中对问题进行分析。

JMeter学习笔记02-基础介绍的更多相关文章

  1. JMeter学习笔记--工具简单介绍

    一.JMeter 介绍 Apache JMeter是纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java ...

  2. python学习笔记02 --------------基础数据类型

    python的基本数据类型: 1.基本数据 1.1. 数字类型 1.1.1 整数 int int()           #将括号内内容转化为整数类型. 1.1.2 浮点数 float 1.1.3 复 ...

  3. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  4. HTML+CSS学习笔记(1) - Html介绍

    HTML+CSS学习笔记(1) - Html介绍 1.代码初体验,制作我的第一个网页 <!DOCTYPE HTML> <html> <head> <meta ...

  5. MyBatis:学习笔记(1)——基础知识

    MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...

  6. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  7. ELK-6.5.3学习笔记–elk基础环境安装

    本文预计阅读时间 13 分钟 文章目录[隐藏] 1,准备工作. 2,安装elasticsearch. 3,安装logstash. 4,安装kibana 以往都是纸上谈兵,毕竟事情也都由部门其他小伙伴承 ...

  8. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  9. bootstrap学习笔记之基础导航条 http://www.imooc.com/code/3111

    基础导航条 在Bootstrap框中,导航条和导航从外观上差别不是太多,但在实际使用中导航条要比导航复杂得多.我们先来看导航条中最基础的一个--基础导航条. 使用方法: 在制作一个基础导航条时,主要分 ...

随机推荐

  1. DeeplabV3+ 命令行不显示miou的解决

    首先看到训练时会在命令行里输出 loss 和 total loss,那是怎么做到的呢,通过分析 train.py 源码,看到如下代码 total_loss = tf.cond( should_log, ...

  2. 进程与线程的通信机制----Queue

    进程运行时候变量是隔离的,线程间共享全局变量. 进程: from multiprocessing import Process from threading import Thread def get ...

  3. 记自己在spring中使用redis遇到的两个坑

    本人在spring中使用redis作为缓存时,遇到两个坑,现在记录如下,算是作为自己的备忘吧,文笔不好,望大家见谅: 一.配置文件 <!-- 加载Properties文件 --> < ...

  4. java 中的基本数据类型

    1,  变量 Java是强类型语言, 对于每一种数据都定义了类型,基本数据类型分为数值型,字符型,布尔型.数值型又分为了整型和浮点型. 整型又分为byte, int, short long. 浮点型又 ...

  5. JPA 连表查询

    A表和B表 @Entity @Table(name = "A", schema = "kps", catalog = "kps") @Dyn ...

  6. HTML- 标签语法

    HTML 标签语言 概念  超文本标记语言, 是一种用于创建网页的标记语言 ps: 不是编程语言 利用标签来描述网页 扩展名:.html .htm 语法规范 标签不区分大小写, 推荐小写 双标签必须写 ...

  7. 并发容器学习—ConcurrentSkipListMap与ConcurrentSkipListSet 原

    一.ConcurrentSkipListMap并发容器 1.ConcurrentSkipListMap的底层数据结构     要学习ConcurrentSkipListMap,首先要知道什么是跳表或跳 ...

  8. spring boot junit controller

    MockMvc 来自Spring Test,它允许您通过一组方便的builder类向 DispatcherServlet 发送HTTP请求,并对结果作出断言.请注意,@AutoConfigureMoc ...

  9. beego框架的最简单登入演示

    一.controllers逻辑代码 func (c *UserController) Get() { c.TplName="login.html" } func (c *UserC ...

  10. Mock6 moco框架中如何加入header

    新建一个 startupWithHeader.json,这次在request里面添加了headers属性 [ { "description": "这是一个带header的 ...