1、什么是JMeter

  • Apache JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 (Apache JMeter是100%纯JAVA桌面应用程序)
  • Apache JMeter可以用于对静态和动态资源(如:文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)进行性能测试。
  • JMeter 可以用于对服务器、网络或对象模拟巨大的负载,通过不同压力类别,测试它们的强度和分析整体性能,并可以使用它做性能的图形分析。
  • JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序是否返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
  • Jmeter是一个开源的工具,在使用的过程中,如果需要使用更多功能,就需要安装相应的插件。

总结:JMeter做什么

  • 接口测试
  • 性能测试:程序的算法
  • 压力测试:外在负载
  • 数据库测试
  • java 程序测试
  • FTP服务器测试

(前面四个用的比较多)

2、为什么使用JMeter

JMeter优势如下:

  • 开源:JMeter完全免费,允许开发者使用源代码进行二次开发。
  • 友好的GUI:JMeter使用起来非常容易,不需要花时间熟悉。
  • 平台独立:JMeter是100%纯Java桌面应用程序,所以可以多平台运行。
  • 完全多线程框架:JMeter允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。
  • 可视化的测试结果:测试结果可以用不同的报表显示,如:图表、表格、树和日志文件。
  • 安装方便:你不用安装,只需复制并打开*.bat文件运行JMeter。(轻量级)
  • 高度扩展:你可以编写你自己的测试,JMeter还支持可视化插件,允许您扩展您的测试。
  • 多测试策略:JMeter支持多个测试策略,如:负载测试、分布式测试和功能测试。
  • 仿真:JMeter可以模拟多用户并发线程,创建一个沉重的负担对web应用程序测试下。
  • 支持多协议:JMeter不仅测试支持web应用程序,还可以评估数据库服务器的性能。

    JMeter基本支持所有的协议(如:HTTP、JDBC、LDAP、SOAP、JMS、和FTP)。
  • 录制和回放:录制用户在浏览器和web应用程序的记录,使用JMeter进行模拟。
  • 脚本测试:JMeter可以集成Bean ShellSelenium自动化测试。

3、JMeter的缺点:

  • 使用JMeter无法验证JS程序,也无法验证页面UI,所以要须要和Selenium配合来完成Web2.0应用的测试。(配合的意思就是在验证页面或者js程序的时候,使用Selenium。并不是结合的意思,是单独使用。)
  • JMeter不支持IP欺骗。
  • JMeter的测试脚本和结果基本都是本地管理,不支持版本控制管理。

4、JMeter对比 loadrunner

JMeter的架构跟loadrunner原理一样,都是通过中间代理,监控&收集并发客户端发现的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈的结果的一个过程。

  • JMeter安装简单,LoadRunner安装麻烦。
  • JMeter组件小,LoadRunner占用空间比较大。
  • JMeter不支持IP欺骗,LoadRunner支持。
  • 脚本录制功能两者都支持。
  • JMeter支持报表,但分析能力不足。LoadRunner支持报表,数据完成,界面漂亮。
  • JMeter是开源的(免费),LoadRunner是商业软件,需要收费。
  • JMeter易用性更强,JMeter的脚本修改,主要是对Jmeter中各个部件的熟悉程度,已经相关的一些协议的掌握情况,而不依赖于编程。

    LoadRunner除了复杂的场景设置外,还需要掌握函数和修改脚本(如果单单只会录制脚本,并不叫性能测试哦~)。

总结如下表:

参考:https://zhuanlan.zhihu.com/p/26729512

『动善时』JMeter基础 — 1、JMeter介绍的更多相关文章

  1. 『动善时』JMeter基础 — 6、使用JMeter发送一个最基础的请求

    目录 步骤1:创建一个测试计划 步骤2:创建线程组 步骤3:创建取样器 步骤4:创建监听器 步骤5:完善信息 步骤6:保存测试计划 步骤7:查看结果 总结:JMeter测试计划要素 当我们第一次打开J ...

  2. 『动善时』JMeter基础 — 58、JMeter分布式测试

    目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在 ...

  3. 『动善时』JMeter基础 — 3、JMeter插件管理

    JMeter是一个Java开发的开源软件,开源的软件有一个好处,就是会有很多第三方开发出来的插件,使得JMeter在处理某一些功能的时候更加的方便.并且这些插件拿过来就可以使用,完全免费的. 我们安装 ...

  4. 『动善时』JMeter基础 — 57、Linux系统中运行JMeter脚本

    目录 1.Linux系统中安装Java环境 (1)解压Java安装包 (2)配置Java环境变量 (3)验证Java环境是否配置成功 2.Linux系统中安装JMeter (1)下载JMeter (2 ...

  5. 『动善时』JMeter基础 — 8、JMeter主要元件介绍

    目录 1.测试计划(Test Plan) 2.线程组 3.取样器(sampler) 4.逻辑控制器(Logic Controller) 5.配置元件(Config Element) 6.定时器(Tim ...

  6. 『动善时』JMeter基础 — 20、JMeter配置元件【HTTP Cookie管理器】详细介绍

    目录 1.HTTP Cookie管理器介绍 2.HTTP Cookie管理器界面详解 3.JMeter中对Cookie的管理 (1)Cookie的存储 (2)Cookie的管理策略 4.补充:Cook ...

  7. 『动善时』JMeter基础 — 37、将JMeter测试结果写入Excel

    目录 1.环境准备 (1)引入操作Excel文件的基础JAR包 (2)引入封装自定义操作Excel文件的JAR包 2.准备测试需要的数据 3.测试结果写入Excel演示 (1)测试计划内包含的元件 ( ...

  8. 『动善时』JMeter基础 — 40、JMeter中ForEach控制器详解

    目录 1.什么是逻辑控制器 2.ForEach控制器介绍 3.ForEach控制器的使用 (1)测试计划内包含的元件 (2)获取学院列表请求内容 (3)JSON提取器内容 (4)ForEach控制器内 ...

  9. 『动善时』JMeter基础 — 41、使用JMeter连接数据库(MySQL)

    目录 1.为什么要使用JMeter连接数据库 2.JMeter连接数据库的前提 3.JDBC连接配置组件界面介绍 4.JMeter连接数据库演示 (1)测试计划内包含的元件 (2)测试计划中添加链接数 ...

随机推荐

  1. 【经验】Rufus制作Win10启动盘支持UEFI:比使用UltraISO(软碟通)制作Win10操作系统U盘启动盘更快捷的工具完整教程-

    ultraiso中文称之为软碟通,是一款功能强大的光盘映像文件制作/编辑/转换工具,通过它,用户可以直接编辑ISO文件和从ISO中提取文件和目录,也可以从CD-ROM制作光盘映像或者将硬盘上的文件制作 ...

  2. SpringBoot(十一): Spring Boot集成Redis

    1.在 pom.xml 中配置相关的 jar 依赖: <!-- 加载 spring boot redis 包 --> <dependency> <groupId>o ...

  3. while、do...while和for循环

    一.循环 1.1 定义 当满足一定条件的时候,重复执行某一段代码的操作 while和for和do...while是java中的循环 二.while循环 2.1 定义 int i = 0: 初始化值 w ...

  4. fastjson 漏洞利用 命令执行

    目录 1. 准备一个Payload 2. 服务器上启动 rmi 3. 向目标注入payload 参考 如果你已经用DNSLog之类的工具,探测到了某个url有fastjson问题,那么接着可以试试能不 ...

  5. go mod管理 init 和 包导入的关系

    你创建了一个文件的名字为:lisi001 如果你初始化项目名字为lisi, go mod init lisi 那么你导包的时候就得也用lisi import ( "lisi/path&quo ...

  6. 最简单的,在win,linux中,用powershell,自动获取Let's Encrypt证书方法

    powershell传教士原创 2020-04-12 Let's Encrypt证书有效期3个月,支持泛域名[*.你的网站.net].支持n天内(一般10天内就够用了),用脚本自动续期. 简介: 这个 ...

  7. JVM 中的StringTable

    是什么 字符串常量池是 JVM 中的一个重要结构,用于存储JVM运行时产生的字符串.在JDK7之前在方法区中,存储的是字符串常量.而字符串常量池在 JDK7 开始移入堆中,随之而来的是除了存储字符串常 ...

  8. [UWP] 模仿哔哩哔哩的一键三连

    1. 一键三连 什么是一键三连? 哔哩哔哩弹幕网中用户可以通过长按点赞键同时完成点赞.投币.收藏对UP主表示支持,后UP主多用"一键三连"向视频浏览者请求对其作品同时进行点赞.投币 ...

  9. 两种常见Content-type的方便理解

    application/x-www-form-urlencoded:key=value键值对application/json:{name:"张三"} JSON字符串塞到请求的bod ...

  10. NET 5.0 Swagger API 自动生成MarkDown文档

    目录 1.SwaggerDoc引用 主要接口 接口实现 2.Startup配置 注册SwaggerDoc服务 注册Swagger服务 引用Swagger中间件 3.生成MarkDown 4.生成示例 ...