当前位置: 首页 > 网络应用技术

性能测试必须是工件:jmeter

时间:2023-03-09 11:34:27 网络应用技术

  对于大多数测试人员而言,Jmeter应该是最常见的测试工具之一(从人到人,萝卜和白菜不同),因为它们是开源,免费,轻巧且功能强大的。在测量功能中,您也可以执行界面和性能自动化测试;深受行业的喜爱!

  来自主要招聘网站或其他在线培训机构的一些数据表明,他们经常使用它们来吸引潜在的学生(介绍如何使用),在绩效测试工具中,Jmeter的市场份额逐渐超过了领导者LoadRunner Performenting工具的性能;面对如此出色的测试工具,您如何不将其视为出色?

  但是,我经常看到各种QQ组或其他博客论坛,以讨论Jmeter的各种“晦涩和困难”功能<需求>例如,支持一些时髦的脚本,粘贴python胶语,并实际使用JS和硒自动化?当然,这并不排除这些场景确实需要这些来帮助。友好的提醒:过去不要纠正它!!!

  在实际工作中,Jmeter可以使用的功能不多。掌握主要功能元素基本上可以获得需求的80-90%。<只需设计好脚本场景就好>,分析性能问题的定位和性能调整是重中之重。

  从JMeter2.x版本到当前5.x,没有多个高级功能。至于以下内容,如果您想详细了解,请参阅Jmeter官方网站的介绍)。

  从添加测试计划 - 线程组(基本上以执行顺序引入)开始:

  【配置组件】

  HTTP信息标头:界面中的特殊指定请求标头,例如内容类型或令牌

  HTTP Cookie Manager:适用于Web功能测试,预计不保留Cookie;

  CSV数据文件设置:等效于参数化数据文件,可以是测试用例(接口自动化);

  HTTP请求默认值:提取接口请求的通用公共部分,例如URL,端口或一般参数。

  【预处理处理器】

  BeanShell预处理器:预先准备测试数据的组件,支持支持Java和Jmeter的功能脚本;

  用户参数:用于准备测试数据的组件不适合大量测试数据驱动程序;

  JDBC预处理器:用于预先准备测试数据的组件更灵活,可以从数据库中获取测试数据。

  【逻辑控制器】

  事务控制器:这是为了控制交易。例如,一个场景中涉及多个接口,单个接口是一个子交易,但是我们需要将其视为整体交易,并且需要此组件。

  foreach控制器:当上一个接口返回的数据中有多个元素时,例如,响应结果中条件的所有参数都需要一个接一个地获取,而SQL请求结果的结果也需要穿越;

  只有一次控制器:它适用于在性能测试方案中仅进行一次操作的请求。例如,登录。在这里必须提到的是,它仅与线程组中的线程数有关,即迭代次数。

  如果控制器:条件控制器,支持__jexl3函数表达式和__ groovy脚本或其他变量,

  【计时器】

  固定计时器:相当于思想时间;

  高斯随机计时器:这类似于思考时间,但是它具有一系列活动,即等待时间间隔;

  同步计时器:同步计时器,Jmeter中的设定点,其第二个参数是超时。如果不是0,它将执行采样器请求,以免缺少相应的时间。

  【采样器】

  HTTP请求:您应该了解HTTP协议的各种请求和参数。它应该是文件上传/下载的接口,它也支持SOAP协议的请求;

  Beanshell采样器:通常,编写脚本以完成测试,毕竟,您需要一些Java Foundation;

  调试采样器:简单地说,在调试脚本时将使用它。您需要测试Jmeter脚本中使用的变量是否正确;

  例如,Java,JDBC,FTP,WebService和Sampler Sampler支持的其他协议,如果它们不满意其他协议,我们需要自己开发它,因此Java Foundation是必要的条件。

  【后处理器】

  正则表达式提取物:有很多方法可以关联动态参数。您可以根据实际请求选择。

  调试后处理器:除了看到Jmeter变量外,您还可以查看配置信息。最好将其放在正则表达式提取器后面,否则不可见提取的结果。

  Beanshell后处理器:处理Samlper请求响应结果数据。

  【断言】

  响应断言:最简单的是,在接口测试设计中,通常没有数据更改或简单的响应结果;

  Beanshell断言:它属于高级主张,因为它是一个脚本,因此更灵活。

  【听众】

  查看结果树:使用调试结果,并且上面有各种测试器调试视图;

  会议报告:您可以查看性能测试结果的数据,例如:响应时间:90、95、99。可以通过配置文件来修改这些值,并且有绩效指标,例如错误率,tps。

  【功能助理】

  这是按需,例如随机函数,随机字符串函数,线程计数器功能,环境变量参数函数,时间函数等。

  让我们提前谈谈:分布式压力测试:在哪种情况下分布式压力测试是什么?

  首先,当大量用户并发

  其次,加载机不支持大量并发

  第三,在大数据的情况下,第一

  另外,基本的语法相关组件很常见。上面提到的组件中有四种类型的Beanshell组件:前处理器,采样器,后处理器,断言等。可以看出,Java基金会非常重要!

  [Jmeter执行订单]

  配置元素→前处理器→计时器→采样器→后处理器→断言→侦听器;

  提示:相同级别的组件,按顺序执行;

  最后,让我们看一下官方绩效测试的最佳实践,地址是:http://jmeter.apache.org/usermanual/best-practices.html

  Chrome浏览器的正确单击翻译内容如下:

  16.7减少资源需求

  一些有关减少资源使用的建议。

  如果您的测试需要大量数据(尤其是您需要随机化数据),请在可以通过CSV数据集读取的文件中创建测试数据,这可以避免在运行时浪费资源。

  作者:测试测试微信:oupoor