JMeter之事务控制器实践

发表于:2020-8-18 15:52

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

 作者:smart    来源:软件测试部落

  在性能测试工作中,我们往往只测试业务功能相关主要接口的数据请求和返回。然而实际上用户在使用web应用时,可能会加载诸多资源:htmldom、cssdom、javaScript、ajax请求、图片等。从打开一个页面到界面渲染完成需要一定的加载时间,这个加载时间是衡量web性能的标准之一。web应用的快速响应,会给用户带来良好的体验。
  一个web应用想要留住用户,必须在250ms内渲染界面或给用户提供视觉反馈。因此如果需要直观的衡量一个页面的加载时间,我们就用到了事务控制器。事务控制器会对应生成一个采样器,统计该控制器范围内所有测试元素执行的总时间
  例如,使用JMeter录制脚本的时,JMeter会抓取整个页面加载需要的所有请求,生成的事务控制J器下面包含所有子请求(Home Page .jpg request,.gif request,.png request,.js request等)。执行完成后,JMeter聚合报告会统计该控制器范围内所有接口响应总时间
  需要注意,事务控制器只有在其子采样器都执行成功的情况下才会显示成功。
  事务控制器
  JMeter控制器添加层次结构:测试计划-->线程组-->事务控制器。
  JMeter控制器添加路径:
  测试计划-->Add-->Threads(Users)-->Add-->LogicController(逻辑控制器)-->Transaction Controller(事务控制器)
  事务控制器界面图:
  Generate parent sample
  【Generate parent sample】生成父样本,默认值为false。勾选该配置项,相关的子请求放置在事务控制器之下,聚合报告中不会看到该事务控制器所包含的所有子请求。详情如下:
  1、不勾选任何选项:
  查看结果树:
  聚合报告:
  2、勾选【Generate parent sample】
  查看结果树:
  聚合报告:
  3、Include duration of timer and pre-post processors in generated sample
  【Include duration of timer and pre-post processors in generated sample】
  生成的样本中是否包括计时器,预处理和后处理延迟。默认值为false。一般不建议勾选,因为勾选后会把一些额外时间算入执行结果总时间。
  勾选
  查看结果树:
  聚合报告:
  小结
  如果需要进行页面性能测试,事务控制器是必不可少的利器,可以增加页面性能测试结果的准确性。
  在接口测试时,也会经常用到事务控制器。因为有时一个业务需要关联多个接口才能完成。把这些接口统一归集到一个事务进行性能测试,得到的性能测试结果才会更加接近真实的业务场景。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号