当前位置: 首页 > news >正文

【JMeter入门】—— JMeter介绍

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

总结如下表:

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:

  • 通俗讲解缓存穿透和缓存雪崩
  • 【微服务篇】分布式事务方案以及原理详解
  • 目标检测的相关模型图:YOLO系列和RCNN系列
  • 详解JS方法之slice、splice、substring、substr
  • admin端
  • 《c++》纯虚函数和抽象类
  • C#WPF控件大全
  • jenkins拉取java远程日志
  • RabbitMQ介绍
  • 20.Ubuntu下安装GCC
  • 1.7.2 python练习题15道
  • 【@changesets/cli】变更集实战教程
  • JavaEE之网络初识(网络中的一些基本概念)详解
  • iOS开发 - 转源码 - __weak问题解决
  • 【WPF应用7】 基本控件-Grid 布局的详解与示例
  • 【小尘送书-第十五期】Excel函数与公式应用大全for Excel 365 Excel
  • jvm高级面试题-2024
  • Vue3气泡卡片(Popover)
  • docker容器退出后数据丢失怎么恢复?
  • linux 命令行下的计算器
  • https://app.hackthebox.com/machines/Inject
  • Spring —— Spring简单的读取和存储对象 Ⅱ
  • 渗透测试之冰蝎实战
  • Mybatis、TKMybatis对比
  • Microsoft Office 2019(2022年10月批量许可版)图文教程
  • 《谷粒商城基础篇》分布式基础环境搭建
  • 哈希表题目:砖墙
  • Vue 3.0 选项 生命周期钩子
  • 【车载嵌入式开发】AutoSar架构入门介绍篇
  • 【计算机视觉 | 目标检测】DETR风格的目标检测框架解读