性能测试工具:Jmeter简介及安装
Posted heiqiuxixi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试工具:Jmeter简介及安装相关的知识,希望对你有一定的参考价值。
一、Jmeter简介
1.Jmeter:Apache Jmeter是由Apache组织的开发源代码项目,是一个纯Java桌面应用,用于压力测试和性能测量。它最初被设计用于web应用测试但后面扩展到其他测试领域。
2.Jmeter作用:Apache Jmeter可以用于对静态的和动态的资源(文件、Servlet、Perl脚本、Java对象,数据库和查询,FTP服务器或是其他资源)的性能进行测试。Jmeter可以用于分析不同压力条件下的总体性能情况,也可以使用Jmeter提供的图像化界面,分析性能指标或者在高负载情况下测试服务器、脚本、对象。
3.Jmeter和LR区别
Loadrunner | Jmeter | |
安装卸载 | 比较麻烦,文件体积大 | 比较简便,文件体积小 |
脚本录制 | 支持 | 支持 |
参数化 | 支持 | 支持 |
集合点 | 支持 | 支持 |
检查点 | 支持 | 支持 |
关联 | 支持 | 支持 |
多协议 | 支持 | 支持 |
IP欺骗 | 支持 | 不支持 |
多线程 | 支持 | 支持 |
报告生成与导出 | 支持 | 支持 |
测试成本 | 商业软件,成本高 | 开源软件,测试成本低 |
二、Jmeter安装配置
请参考Jmeter工具安装详情:https://www.cnblogs.com/heiqiuxixi/p/12296724.html
三、Jmeter文件目录介绍
1.Jmeter压缩包解压需包含以下六个目录及三个文件
1.1 bin:可执行的文件目录
a.Jmeter.bat:windows的启动文件
b.Jmeter.log:日志文件
c.Jemter.sh:linux的启动文件
d.Jmeter.properties:系统配置文件
e.Jmeter-server.bat:windows分布式测试要用到的服务器配置
f.Jmeter-server:linux分布式测试要用到的服务器配置
1.2 docs:接口文档目录
1.3 extras:扩展插件目录
1.4 lib:所用到的插件目录,里面全是.jar包,Jmeter会自动在JMETER_HOME/lib 和 ext 目录下寻找需要的类
1.5 License:Jmeter证书目录
1.6 printable_docs:用户使用手册(实用的)printable_docs/usermanual/index.html
四、Jmeter功能概要
1.Jmeter工具组成部分
a.资源生成器:用于生成测试过程中服务器、负载机的资源代码。(LR中的VuGen)
b.用户运行期:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为。(LR中的Controller)
c.报表生成器:根据测试中实时地的数据生成报表,提供可视化的数据显示方式。(LR中的Analysis)
d.负载发生器:用于产生负载,通常以多线程或多进程的方式模拟用户行为。(LR中Load Generators)
2. Test Plan(测试计划):用来描述一个性能测试,包含与本次性能测试所有相关的功能,也就是说本次性能测试的所有内容是基于一个计划。(LR的一个测试场景)
2.1 Threads(Users)线程 用户
a. setup thread group
一种特殊类型的ThreadGroup,可用于执行预测试操作,这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。(LR的init())
b.teardown thread group
一种特殊类型的ThreadGroup,可用于执行测试后的操作,这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。(LR的end())
c.thread group(线程组)
thread group通常添加运行的线程组。可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程中包含的线程数量在测试执行过程中是不会发生改变的。(LR的action())
2.2 Test Fragment(测试片段)
测试片段元素是控制器上的一种特殊的线程组,它在测试树上与线程组处于一个层级,它与线程组有所不同。因为它不被执行,除非它是一个模拟控制器或是被控制器所引用时才会被执行。
2.3 线程组的8类可执行元件
a.Config Element(配置元件)
配置元件用于提供对静态数据配置的支持。如CSV Data Set config 可以将本地数据文件形成数据池(Data Pool)。
b. Timer(定时器)
定时器用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LR的“思考时间”。Jmeter定义Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。
c.Per Processors(前置处理器)
用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当URL中有sessionID一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID。
d. Post Processors(后置处理器)
用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应的特定数据(LR测试工具中的关联概念)
e. Assertions(断言)
断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。(LR的检查点)
f.Listener(监听器)
用来对测试结果数据进行处理和可视化展示的一系列元件。图形结果、查看结果树、聚合报告。都是经常用到的元件。注意:这个监听器可不是用来监听系统资源的元件。(LR的日志展示)
以上是关于性能测试工具:Jmeter简介及安装的主要内容,如果未能解决你的问题,请参考以下文章