性能测试-JMeter基础知识(1)

**1.1 JMeter概述服务器

JMeter简介**ide

Apache JMeter™是Apache组织开发的一款开源软件,是典型的纯Java开发的应用程序,能够在不一样平台好比Windows、Linux或macOS系统上进行软件测试。JMeter主要用于应用程序的功能负载测试以度量软件的性能,也能够用于其余类型的测试好比接口测试,API测试等。工具

JMeter版本性能

JMeter不一样的版本,功能有所差别,对JDK的支持也不尽相同。新的JMeter版本有些功能会逐渐改进完善,还会引入新的功能组件,性能也会逐步提高。所以在JMeter官方网站的最佳实践中,建议用户不管如何最好使用最新的JMeter版本。测试

这里以最新的JMeter5.1.1版本进行介绍。网站

JMeter GUI界面线程

当JMeter以GUI模式运行时,窗口主要由三部分构成:blog

1.功能区接口

上方菜单栏,下方工具栏。菜单栏展现了JMeter提供的功能菜单,而工具栏中的图标是常见功能的快捷方式。内存

2.视图区

以树状结构呈现JMeter元素,其中“Test Plane”是树的根节点,每个节点就是一个JMeter元素。

在此区域能够添加、删除节点,或者经过拖曳调整节点的位置。

3.内容区

在视图区选中一个JMeter元素节点,相应地在内容区则会显示该元素的内容。能够对其内容进行查看、设置等操做。
性能测试-JMeter基础知识(1)

1.2 JMeter测试组成
JMeter构建测试相似于组装一台智能电子设备,好比智能手机。智能手机由CPU、内存、输入输出设备(好比USB接口,摄像头等)、屏幕、电池等一系列物理部件构成的。

JMeter测试也是由一系列JMeter元素组合起来构成的,JMeter提供了构建测试的全部元素,你能够为所欲为的将这些元素组装起来完成你想要的测试。

JMeter元素有如下四种类型的测试元素:

1)测试计划

2)线程组

3)组件

包含配置元件、定时器、前置处理器、后置处理器、断言与监听器

4)控制器

包括取样器和逻辑控制器

1.2.1 测试计划
测试计划描述了JMeter测试在运行时执行的一系列步骤。完整的测试计划由一个或多个线程组、逻辑控制器、取样器、监听器、定时器、断言和配置元件组成。

测试计划元素是JMeter测试树的根节点,是惟一的,全部的测试元素节点都位于根节点之下。

1.2.2 线程组
在手工测试中,测试用例由测试工程师手动执行完成。而性能测试与自动化测试的测试用例由选择的测试工具代替测试工程师来执行。JMeter执行测试的任务是由线程组来完成的。打个比方,线程组至关于手工测试中执行测试用例的测试工程师。

线程组控制JMeter用来执行测试的线程数。要模拟多少个用户(称之为虚拟用户)来执行测试,能够经过修改线程组的线程数来实现。好比将线程数设置为10,表示模拟10个用户执行测试。

全部的取样器与逻辑控制器都必须位于线程组下,从这个角度理解,JMeter测试计划真正开始于线程组。其余元素,例如监听器,能够直接放在测试计划下,在这种状况下,它们将做用于全部的线程组。

一个测试计划下能够有多个线程组,在测试计划中能够配置以并行或顺序方式启动多个线程组。

1.2.3 组件
JMeter中最基本的元素为元件,元件是JMeter测试中的最小功能单元,每一个元件都具备某种特定的功能。好比“HTTP Request”取样器元件,能够实现HTTP请求发送的功能。

JMeter提供了不少元件,为了方便用户使用与管理众多的元件,JMeter将多个功能相似或逻辑上相关的元件归为一类,称为组件。JMeter包含六大组件: 配置元件、定时器、前置处理器、后置处理器、断言、监听器。

配置元件
配置元件与取样器密切相关。相似于配置文件之于软件,软件配置文件能够影响软件的行为;一样经过配置元件能够新增或修改请求内容,实现对请求的自定义。

定时器
默认状况下,JMeter线程按顺序执行取样器而不会出现暂停的状况。经过将定时器添加到线程组来指定延迟。若是不加延迟,JMeter可能会在很短的时间内发送过多的请求到服务器,致使服务器负载太重而崩溃。

定时器可使在其做用范围内的每一个取样器执行前延迟一段时间。

前置处理器
前置处理器在进行取样器请求以前执行一些操做。

若是前置处理器附加到取样器元素,那么它将在该取样器元素运行以前执行。

前置处理器常常用于在运行以前修改取样器请求的设置,或更新未从响应文本中提取的变量。

后置处理器
后置处理器在取样器请求完成后执行一些操做。

若是后置处理器附加到取样器元素,那么它将在该取样器元素运行以后执行。

后处理器一般用于处理响应数据,从中提取须要的值。

断言
断言用于验证取样器请求或对应的响应是否返回了指望的结果。

JMeter测试是否执行成功,结果是否预期,均可以经过添加断言来进行验证。

监听器
监听器能够在JMeter执行测试的过程当中搜集相关的数据,并将这些数据不一样的形式,好比树、图、报告等呈现出来。

好比,“图形结果”监听器绘制响应时间的曲线图,“查看结果树”监听器显示取样器请求和响应的详细信息等。

此外,有些监听器还能够将搜集到的测试数据保存到文件中以供之后使用。

1.2.4 控制器
取样器
取样器用于构建发给服务器处理的请求,即告诉JMeter怎样将请求发送到服务器。例如,若要发送HTTP请求,能够选择“HTTP Request”取样器,同时还能够经过添加配置元件来自定义请求。

逻辑控制器取样器请求默认是以前后顺序依次执行的,某些状况下知足了复杂的业务/场景需求。经过逻辑控制器能够控制JMeter发送请求的逻辑,来实现复杂的业务/场景。好比有选择性执行某些请求,循环执行请求,总体执行逻辑上有依赖关系的请求,交替执行请求等。

相关文章
相关标签/搜索