当前位置: 首页 > 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,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

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

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

http://www.lryc.cn/news/327333.html

相关文章:

  • C# 多线程编程:线程锁与无锁并发
  • React.FC
  • 使用pytorch构建一个无监督的深度卷积GAN网络模型
  • [AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯
  • vue.js设计与实现(分支切换与cleanup)
  • 206基于matlab的无人机航迹规划(UAV track plannin)
  • 【Linux 】查看veth-pair对的映射关系
  • Cisco Firepower FMCv修改管理Ip方法
  • PHP开发全新29网课交单平台源码修复全开源版本,支持聚合登陆易支付
  • 【Web前端】CSS基本语法规范和引入方式常见选择器用法常见元素属性
  • SnapGene 5 for Mac 分子生物学软件
  • 本地部署大模型的几种工具(上-相关使用)
  • Spring Boot集成itext实现html生成PDF功能
  • Java 多态、包、final、权限修饰符、静态代码块
  • 基于Spring boot + Vue协同过滤算法的电影推荐系统
  • Chrome之解决:浏览器插件不能使用问题(十三)
  • 【正版特惠】IDM 永久授权 优惠低至109元!
  • SpringBoot与Prometheus监控整合
  • Linux 系统 docker搭建LNMP环境
  • 拉普拉斯变换
  • Mashup-Math_Topic_One
  • 基于JavaWEB SSM SpringBoot婚纱影楼摄影预约网站设计和实现
  • 逐步学习Go-Select多路复用
  • 王道:OJ15
  • 【案例·查】数据类型强制转换,方便查询匹配
  • spring boot3自定义注解+拦截器+Redis实现高并发接口限流
  • 使用certbot为网站启用https
  • Unity 背包系统中拖拽物体到指定位置或互换位置效果的实现
  • iOS客户端自动化UI自动化airtest+appium从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图
  • 每周编辑精选|在线运行 Deepmoney 金融大模型、AI 偏好等多个优质数据集上线