JMeter软件测试工具介绍及压力测试基本教程

一、工具介绍

(一)简介

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

(二)作用

1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。

2.完全的可移植性和100% 纯java。

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

4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。

5.精心的GUI设计允许快速操作和更精确的计时。

6.缓存和离线分析/回放测试结果。

JMeter的高可扩展性

1.可链接的取样器允许无限制的测试能力。

2.各种负载统计表和可链接的计时器可供选择。

3.数据分析和可视化插件提供了很好的可扩展性以及个性化。

4.具有提供动态输入到测试的功能(包括Javascript)。

5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。

在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。

相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。

(三)名词意义

1、Label: 定义的HTTP请求名称

2、Samples: 表示这次测试中一共发出了多少个请求

3、Average: 访问页面的平均响应时间

4、Min: 访问页面的最小响应时间

5、Max: 访问页面的最大响应时间

6、Error%: 错误的请求的数量/请求的总数

7、Throughput:每秒完成的请求数

8、KB/Sec: 每秒从服务器端接收到的数据量

二、安装教程

(一)Jmeter下载

进入官网:http://jmeter.apache.org/

1. 第一步进入官网如下

2. 选择进行下载,下载下来为一个压缩包,解压即可。

3.我下载的是jmeter4.0版本,对应jdk1.8。然后就进行解压。

个人认为要注意3点:

1)解压之后压缩包叫apache-jmeter-4.0.zip,如是src.zip后缀的都不对,打开之后会报错不可用,因为里面缺少我们下一步将要配置的环境变量.jar文件。

2)对应的jdk版本不可太低,一般jmeter3.0的对应jdk1.7,jmeter4.0对应jdk1.8以上,否者启用jmeter也会报错。

3)一定要确保环境变量配置正确(包括jdk的与jmeter的环境变量配置)。

(二)Jmeter环境变量相关配置

1.   电脑桌面----》“计算机”图标----》鼠标右键选择“属性”----》点击高级系统设置----》高级---》环境变量页面

2. 开始配置环境变量了。在系统变量框,点击“新建”,建立一个变量:JMETER_HOME,值为你解压的jmeter安装路径。我的安装路径是在E盘,这个路径根据自己实际安装路径进行填写。然后点击确定保存即可

3. 配置classpath变量,没有的话也要按照上面步骤进行新建,有的话直接进行选中,点击编辑即可。变量值固定为:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;  做完之后一定要保存,不确定的话可以直接点击确定按钮直到退到我的电脑页面

4. 基本配置完成,然后验证一下是否配置正确,是否可用。

首先进到你的jmeter安装路径,找到bin文件夹,点击进去,找到jmeter.bat,鼠标右键用管理员方式运行,或者直接双击打开,此时会弹出2个界面:1.个是命令窗口,使用jmeter的时候此命令窗口不能关,你缩小到电脑任务栏即可。2.还有一个界面是jmeter工作页面,你可以在里面进行相关的操作.具体如图

5. 确认安装是否成功,双击jmeter.bat或者以管理员方式运行,页面如下:

6. jmeter的工作区域如下:,我们每次使用jmeter的首先打开方式就是进入bin文件下双击这个jmeter.bat,如果觉得麻烦,可以鼠标右键快捷方式发送电脑桌面,就会方便很多。

7. 安装结束。

三、使用jmeter 对APP进行压力测试

我们小组的“代取吧”项目是一个基于移动端的APP,因此在接下里的功能实现以及项目测试中可能会用到jmeter对其进行压力测试,测试的主要目的是收集并发访问用户数和发生错误用户数

下面是使用jmeter进行压力测试的基本步骤:

(一)Jmeter设置

1.在jmeter/bin路径下双击jmeter.bat 等待jmeter启动

启动成功后界面如下:

2.添加线程组:右键测试计划→添加→Threads(Users)→线程组

3.添加简单控制器:右键线程组→添加→逻辑控制器→简单控制器

4.添加HTTP cookies 管理器:右键简单控制器→添加→配置元件→HTTP cookies 管理器

5.添加CSV数据文件设置:右键简单控制器→添加→配置元件→CSV数据文件设置

6.添加察看结果树:右键线程组→添加→监听器→察看结果树

7.添加聚合报告:右键线程组→添加→监听器→聚合报告

8.添加图形结果:右键线程组→添加→监听器→图形结果

9.添加HTTP代理服务器:右键测试计划→添加→非测试元件→HTTP 代理服务器

10.配置HTTP代理服务器 
·端口:8888 
·目标控制器:测试计划→HTTP代理服务器 
·分组:每个组放入一个新的控制器

配置手机代理

1.在设置→WLAN页面 开启手动代理

2.在PC端CMD→ipconfig查看ip 填写代理服务器主机名

3.填写代理服务器端口 与HTTP代理服务器端口一致

(三)录制脚本

1. 在HTTP代理服务器页面点击启动,进入录制状态

2. 在手机端操作要压测的APP

3. 录制完成后点击停止

4. 查看录制脚本(可以删除不需要压测的部分)

(四)使用jmeter进行性能测试

1. 造数据:先看参数要求中需要输入哪些参数,必传参数必须有数据,非必传可造可不造,(csv每行表示每一组参数值,每列表示同一种变量)造好数据后,另存为csv格式文件

2. 填写CSV数据文件设置 
·文件名:测试数据的路径 
·文件编码:UTF-8 
·其他:默认即可

3. 参数设置 
填写造了数据的参数,没造数据的就不用填了,使用 ${参数名称} 格式,如果参数是固定值就输入固定值,如果输入数字就需要在数字前加上英文逗号“,”,例如是年月日格式,参数输入固定值时就必须输入“,2014-07-12”。

4. 设置线程属性

线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。

1)线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。需要设置多少个虚拟用户数就在这里填写多少个线程数。

2)准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为5 ,那么需要5秒钟启动20个线程。也就是每秒钟启动4个线程。

3)循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

5. 运行脚本

6. 测试结束后,查看结果树中的结果是否符合要求,绿色是成功,红色是失败,若失败数过多可重新测试一遍,若失败数较少,则查看聚合报告结果,一般来说samples越大越好,一般也最好测试900s,或者10000条。然后根据性能测试统计表填写数据(平均响应时间、最大响应时间、最小响应时间、错误率)

聚合报告:

结果分析: 根据需求判断压测结果是否满足实际需要,如果偏差太大,就需要进行性能优化。

Tips:在一个空白的测试计划页面打开以前保存的测试项目,当弹出下图提示时,选择“否”,如果选择“是”,后面的空白页将会覆盖以前保存的配置。

原文地址:https://www.cnblogs.com/spang/p/10969343.html

时间: 2024-10-06 09:17:58

JMeter软件测试工具介绍及压力测试基本教程的相关文章

转载:JMeter压力测试入门教程[图文]

JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件.Java小服务程序.CGI脚本.Java 对象.数据库, FTP服务器, 等等.JMeter 可以用于对服务器.网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能.另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验

JMeter压力测试入门教程[图文]

Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件.Java小服务程序.CGI脚本.Java 对象.数据库, FTP服务器, 等等.JMeter 可以用于对服务器.网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能.另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果.为了最大

Jmeter压力测试简单教程(包括服务器状态监控)

前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要目的是测试负载均衡的实现效果.不知道是不是因为Jmeter不如loadRunner火爆还是什么,网上关于Jmeter的资料有很多但是大多千篇一律,要么简单弄个页面测试一下,要么全篇都是介绍很多和Jmeter无关的第三方工具,看起来很专业高深,但是作为测试小白来说,看到这样的东西确实头疼.我只是想好好了解一下Jmeter的使用啊,能不能完整的介绍一下啊?我不需要了解那么多其他的第三方工具啊?能不能截个图说的清楚一点啊?这个步

Android自动化压力测试图解教程——Monkey工具

转自:http://blog.csdn.net/lfyx1357/article/details/7418133 有时候我们需要对一个软件进行压力测试,检查该软件的性能.如果是人工进行测试的话,效率会低很多,而且会比较枯燥.这时,Android中的一个命令行工具Monkey就可以为我们减轻很多重复而又繁琐的工作. 一.Monkey简介 至于Monkey的名字是有何而来的呢?这个没有去怎么考究,Monkey这个工具就是一个调皮的猴子,在App中乱按.乱摸.乱滚.乱跳.Monkey测试是Androi

Jmeter连接SqlServer数据库进行压力测试

前提准备:先安装jdbc驱动 驱动下载链接地址:http://pan.baidu.com/s/1bpDpjSr 密码:v6tn 下载解压之后,讲sqljdbc4.jar放置jmeter的安装目录/lib下:复制之后重新启动jmeter: 1.测试计划-配置驱动程序 测试计划右下角,点击浏览,选择jdbc驱动 2.添加线程组 右击测试计划--添加--Thread--线程组 3.添加配置元件JDBC Connection Configuration 4.配置JDBC Connection Confi

软件测试工具介绍

Selenium软件测试工具 Selenium是一个用于Web应用程序测试的工具,是最传统也是最流行的测试工具之一.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等.这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能——创建回归测试检验软件功能和用户需求.支持自动录

jmeter进行的接口测试和压力测试

1.接口测试 接口测试的内容我们之前已经讲过,values-key形式和json串传参形式: 包括的协议有http,webservice(soap),jdbc数据库,java请求 2.参数化 定义:把固定的一个值,变成动态.可变的数组,把数组的值进行值传递.数组大小可控制. 1)使用函数助手的_random函数进行参数化设置: 2)使用配置原件CSV Data Set Config进行参数设置: 策略: Sharing mode:参数化取值策略 All threads              

APP压力测试入门教程

? Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和测试方面干了七年,自2010年,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议,他负责测试管理,测试自动化和测试执行.Daniel现在是XING移动和XING API团队的质量保证团队领导.在XING移动团队里,他还是负责XING安卓和iPhone Apps的测试管理和测试自动化.Daniel在包括像Robotium, KIF (Keep It Functional), Se

jmeter使用IP欺骗进行压力测试

loadrunner的IP欺骗功能很强大,耐心研究jmeter官方文档,发现在jmeter2.5以上的版本有此功能的实现~ 准备工作: 1.window7一台,安装jdk1.6环境. 2.下载最新jmeter,链接地址:http://jmeter.apache.org/download_jmeter.cgi,下载zip包解压即可,双击bin/jmeter.bat启动jmeter; 3.使用IP欺骗功能必须得本地有多个可用IP,通常普通的PC机只有一个物理网卡,这就需要我们手工设置多IP绑定同一网