Jmeter学这些重点就可以了!

发表于:2019-12-31 13:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:全栈测试笔记    来源:全栈测试笔记

#
Jmeter
#
JMeter
分享:
  前言
  对测试来说,jmeter应该是大家使用较频繁的测试工具之一,因为其开源、免费、轻量、功能强大,支持很多种协议,除了测功能,还能做自动化和性能测试
  据某机构的调查,性能并发工具中,jmeter市场占有率已经50%+,超过了老大哥loadrunner;
  这么一款如此优秀的工具,对测试而言,是必须掌握的;
  经常看到群里大家讨论jmeter的各种功能,我发现有些朋友过度使用了一些不必要的功能;
  其实,jmeter常用的功能并不多,把主要的掌握,基本上就可以搞定90%的需求了,所以,不要把时间耗费在工具不常用的功能上,如果是做性能测试,分析定位调优才是重点。
  jmeter常用功能(性能方向)
  从jmeter2.x版本用到现在的5.x,常用的功能也就下面列举的这些,我不详细单讲,因为网上很多介绍,我博客或者公众号,也有对应的实战应用:
  测试计划
  线程组
  【Sampler】
  HTTP请求:可以参考:测试必备:jmeter测试http协议接口的各种传参方式
  BeanShell Sampler
  Debug Sampler:只看到jmeter变量
  如果是其它协议,比如java、dubbo、websocket、smtp、tcp、jdbc,添加对应的取样器等即可,如果没有,那么就需要我们自己开发,所以,java基础是必备的。
  【逻辑控制器】
  事务控制器
  ForEach控制器
  仅一次控制器
  【前置处理器】
  BeanShell PreProcessor
  【后置处理器】
  正则表达式提取器:关联的方式很多,我喜欢用万能的正则,另外,大家可以看之前写的:jmeter关联的5种方式
  Debug PostProcessor:除了可以看到jmeter变量,还可以看到配置信息,最好放在正则表达式提取器后面,否则看不到提取的结果;
  BeanShell PostProcessor
  【断言】
  响应断言
  BeanShell断言
  【定时器】
  固定定时器
  高斯随机定时器
  Synchronizing Timer
  【配置元件】
  HTTP信息头管理器
  HTTP Cookie管理器
  CSV 数据文件设置
  HTTP请求默认值
  【监听器】
  查看结果树
  聚合报告
  函数助手
  常用的函数需要掌握,如随机函数等,举例:生成1-1000的随机数,可以通过${__Random(1,1000,key)}生成随机数,通过${key}可以获取这个随机数;
  分布式压测
  分布式压测也是需要掌握的,参考:jmeter5.1分布式压测
  另外,beanshell相关的,可以参考:玩转jmeter:beanshell必备技能
  jmeter执行顺序
  配置元件 → 前置处理器 → 定时器 → 取样器 → 后置处理器 → 断言 → 监听器;
  同一层级的,顺序执行;
  jmeter最佳实践
  最后,我们来看看官方的最佳实践,地址是:
  http://jmeter.apache.org/usermanual/best-practices.html
  大概意思是:
  Jmeter压测减少资源使用的一些建议,即压测结果会更准确:
  1、使用非GUI模式(也就是CLI,Command Line Interface,命令行界面):jmeter -n -t test.jmx -l result.jtl
  2、少使用Listener, 如果使用-l参数,它们都可以被删除或禁用
  3、在加载测试期间不要使用“查看结果树”或“用表格查看结果”监听器,只能在脚本阶段使用它们来调试脚本
  4、包含控制器在这里没有帮助,因为它将文件中的所有测试元素添加到测试计划中
  5、不要使用功能模式
  6、使用CSV输出而不是XML
  7、只保存你需要的数据
  8、尽可能少地使用断言
  9、如果测试需要大量数据,尤其是需要将其随机化,可以提前准备好测试数据放到数据文件中,从CSV数据集中读取, 这样可以避免在运行时浪费资源
  如有不准之处,或者补充,请文末留言,谢谢。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号