开源性能测试工具JMeter快速入门(一)

目录

一、JMeter简介

二、JMeter功能介绍

三、JMeter脚本

四、关于JMeter小提示



一、JMeter简介


1.定义

JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

1)它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、DB、FTP 服务器, 等等。

2)JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

3)JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了预期结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

4)JMeter支持的协议有:Web(Http、Https)、SOAP、FTPd、JDBC、邮件、MongoDB、TCP、原生命令或Shell脚本

2.JMeter的优势

1)可对任何DB进行压力测试(通过JDBC)

2)纯Java,可移植性强

3)轻量组件支持包(预编译的JAR使用javax.swing.*)

4)多线程(多个线程并发或通过单独的线程组对不同功能同时操作)

5)计时精确

6)缓存和离线分析,回放测试结果

7)完全开源,可对JMeter进行二次开发,增加业务对应所需的插件

3.JMeter不足

1)录制功能操作不方便。需要第三方工具Badboy或使用Browser代理录制

2)入门困难,同时网上学习资源较少

3)报表类型少,场景设计比LR复杂

4)不支持进程模式

5)大并发时的结果不准确。



二、JMeter功能介绍

1.测试计划

启动JMeter后,默认打开了一个测试计划,一个完整的测试计划划包含一个或多个线程组、逻辑控制、取样发生控制、监听器、定时器、断言和配置元件。

2.线程

相当于LR中的VUser,每个JMeter测试计划的第一步就是添加线程组。在线程组里设置并发用户量、并发时间或并发次数、线程的启动频率。

JMeter的线程组有三种类型:

setup thread group: setup ,进行测试前的准备初始化工作,即init

teardown thread group:teardown,测试结束后的垃圾回收等清理工作,即end

thread group:最常用的线程组,相当于Action .一个线程相当于一个LR中的Vuser,这些线程在脚本运行过程中无法改变。

3.测试片段(Test Fragment)

测试片段元素像是控制器上的一种特殊的线程组,在测试树上与线程组同级。但它不被执行,除非引用 。

4.取样器Sampler

性能测试中向服务器发送请求并等待响应时间的最小单元,每个取样器有不同的属性可以编辑。

5.逻辑控制器

可自定义JMeter发送请求的行为逻辑 ,与Sampler结合使用可以模拟复杂的请求序列。常用的逻辑控制器有:IF Controller、While Controller、Runtime Controller、事务控制器、随     机控制器、交替控制器、吞吐量控制器、模块控制器等。

6.监听器

对JMeter测试结果进行收集处理并进行可视化展现出的一系列元件,包括发送的请求数据、返回的结果数据、响应时间的统计、吞吐量、错误率、返回结果状态等。常见的监听器有:图       形结果、查看结果树、用表格查看结果、聚合报告等。

7.配置元件

维护Sampler需要的配置信息,并根据实际需要修改请求内容 。一般配置元件放在请求开始前。

8.定时器

即思考时间。一来为了真实地模拟用户并发行为,二来控制每个线程间的请求间隔时间以减少服务器压力。

9.断言

即检查点。压力测试前提是功能正确。常用的断言有:响应断言、XML断言、HTML断言、XPath断言。

10.前置处理器

用来修改请求的设置。eg.Http URL重写修复符可实现URL重写,当RUL中有sessionID一类的session信息时,可通过该处理器填充发出请求的实际sessionID

11.后置处理器

即关联。用于对Sampler发出请求后得到的服务器响应数据进行处理。一般用于提取响应中的特定数据,如用后置处理器中的正则表达式提取器对服务器返回的特定数据进行关联操作。

原文地址:http://blog.51cto.com/hongz/2065065

时间: 2024-11-04 14:05:57

开源性能测试工具JMeter快速入门(一)的相关文章

开源性能测试工具JMeter快速入门(二)

目录 一.JMeter简介 二.JMeter功能介绍 三.JMeter脚本 四.关于JMeter小提示 三.JMeter脚本 1.测试计划 测试计划是JMeter进行测试的起点 ,是其他JMeter测试元件的容器,每个测试场景/脚本都叫做一个测试计划. (1)名称;与业务相关的名称 (2)注释:非必填 (3)用户定义的变量,引用时直接用${变量名}即可,这里的变量是全局变量,作用于整个测试计划. (4)独立运行每个线程组:默认不勾选,即所有线程组并发启动.勾选则顺序执行所有线程组. (5) 结束

GNU开发工具——CMake快速入门

GNU开发工具--CMake快速入门 一.CMake简介 不同Make工具,如GNU Make.QT的qmake.微软的MS nmake.BSD Make(pmake)等,遵循着不同的规范和标准,所执行的Makefile格式也不同.如果软件想跨平台,必须要保证能够在不同平台编译.而如果使用Make工具,必须为不同的Make工具编写不同的Makefile.CMake是一个比Make工具更高级的编译配置工具,是一个跨平台的.开源的构建系统(BuildSystem).CMake允许开发者编写一种平台无

性能测试工具 jmeter 分布式压力测试实操

性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布式测试. slave-1/slave-2/master配置好jmeter环境(以下操作在jdk版本1.8环境下进行的) 1.下载jmeter3.2 wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz 2

Web性能测试工具JMeter

做Web方面的黑盒测试,也就是功能测试,基本不需要什么测试工具,都是直接打开浏览器访问,点一点界面就行. 现在流行的移动互联网应用,客户端和服务端的开发是分离的,两者开发进度肯定不一样,可能存在服务端接口开发完了,客户端还在开发中. 所以如果要做服务端HTTP接口的测试时,可以借助浏览器的插件,比如Firefox的HttpRquester. 如果是做性能测试,这时候就要借助专门的测试工具 性能测试工具,功能比较强大的是HP的LoadRunner,但毕竟是商业软件,体积也比较大 如果只是简单的We

(推荐)PHP采集工具curl快速入门教程

为什么要用CURL? CURL(Client URL Library Functions)是一个利用URL语法在命令行方式下工作的文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER,  TELNET, DICT, FILE 以及 LDAP.CURL同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法,FTP 上传, kerberos认证,HTTP上传, 代理服务器, cookies, 用户名/密码认证,下载文件断点续传,上载文件断点续传,

性能测试工具JMeter使用学习

项目中需要使用一个性能测试工具对开发的服务进行性能评估,调研后选择了JMeter,并进行了初步的学习和使用. 1. 工具获取. jmeter基于Java,并隶属于Apache,下载地址:http://jmeter.apache.org/download_jmeter.cgi,当前的最新版本是2.12 2. windows GUI版本试用. windows环境需要安装Java,运行bin下的jmeter.bat即可触发GUI环境. 可以新建一个HTTP的测试模板. 可以配置压力属性,如下图,其中:

Jmeter 快速入门--简单的http压测

1.添加线程组 打开jmeter主窗口后,选择左侧树形结构里的"测试计划",然后右键选择添加,选择"threads(users)",选择"线程组". 图略,在线程组概念介绍中有展示 2.添加一个http sample (测试脚本的主体) 选中线程组,右键添加一个http sample,添加相应参数,如图所示. 3.添加结果树(用来debug脚本,遇到性能测试错误排查错误等,默认不会添加,所以需要手动添加) 选中线程组,右键添加"监听器&

Jmeter 快速入门教程(三-3) -- 使用参数化

参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 前提: 假如,我们录制好了一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 1. 我们需要“参数化”的数据,这里我用记事本写了五个用户名和密码,保存为.dat格式的文件. 我将这个文件放在了我的

【转】性能测试工具JMeter的使用技巧

在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享.本文内容如下. 1.如何使用英文界面的jmeter 2.如何使用镜像服务器 3.Jmeter分布式测试 4.启动Debug 日志记录 5.搜索功能 6.线程之间传递变量 如何使用英文界面的JMeter Jmeter启动时会自动判断操作系统的locale 并选择合适的语言启动,所以,我们启动jmeter后,其会出现一个倍感亲切的中文界面.但由于jmeter本身的汉化工作做得不好,你会看到有未被汉化的选