jszy 2020-01-01
一、前言
jmeter是主流的性能测试工具,因其开源,文件体积小,支持多协议等优点,越来越受到软件测试工程师的欢迎。本文主要简单介绍jmeter的功能摘要。
二、jmeter工具组成部分
三、测试树的简单介绍
1.Test Plan(测试计划)
用来描述一个性能测试,包含与本次性能测试所有相关的功能。简单来说,本性能测试的所有内容是基于一个计划的。(相当于LR中的一个测试场景)
2.Thread Group(线程组)的区别
3.Test Fragment(测试片段)
测试片段元素是控制器上的一个特殊的线程组,在测试树中与线程组处于一个层级,但不被执行。除非它是一个模块控制器或者是被控制器所引用时才会被执行。
4.Config Element(配置元件)
用于提供对静态数据配置的支持。如CSV Data Set Config可以将本地数据文件形成Data Pool(数据池)
5.Timer(定时器)
用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LR的“思考时间”。jmeter定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer
QPS(QueriesPerSecond):意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
6.Per Processors(前置处理器)
用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符可以实现URL重写。当URL中有sessionID一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID
7.Post Processors(后置处理器)
用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似于LR的关联概念)
8.Assertions(断言)
断言用于检查测试中得到的响应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否于预期一致
9.Listener(监听器)
用来对测试结果数据进行处理和可视化展示的一系列元件。例如图形结果、查看结果树和聚合报告等
PS:该监听器不是用来监听系统资源的元件
jmeter有2种类型的控制器:Sampler(取样器)和Logic Controller(逻辑控制器)
10.Sampler(取样器)
Sampler(取样器)是性能测试中向服务器发送请求,记录响应信息和响应时间的最小单元。jmeter原生支持多种不同的sampler,如HTTP Request Sampler、FTP Request Sampler、TCP Request Sampler、JDBC Request Sampler等,每一种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求
11.Logic Controller(逻辑控制器)
包括2类元件,1类是用于控制Test Plan种sampler节点发送请求的逻辑顺序的控制器,常用的有if控制器、switch Controller、Runtime Controller、循环控制器等。另1类是用来组织可控制sampler节点,如事务控制器、吞吐量控制器