zoukankan      html  css  js  c++  java
  • Jmeter体系结构-事务控制器

     

    前言

    在日常的性能测试工作中,我们往往只测试业务功能相关主要接口的数据请求和返回。
    然而实际上用户在使用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控制器添加路径:Test Plan-->Add-->Threads(Users)-->Add-->Logic Controller-->Transaction Controller

    事务控制器界面图:

    Generate parent sample

    【Generate parent sample】生成父样本,默认值为false。勾选该配置项,相关的子请求放置在事务控制器之下,聚合报告中不会看到该事务控制器所包含的所有子请求;详情如下:
    不勾选任何选项:


    查看结果树:

    聚合报告:

    勾选【Generate parent sample】

    查看结果树:

    聚合报告:

    Include duration of timer and pre-post processors in generated sample

    【Include duration of timer and pre-post processors in generated sample】生成的样本中是否包括计时器,预处理和后处理延迟。默认值为false。一般不建议勾选,因为勾选后会把一些额外时间算入执行结果总时间。
    勾选【Include duration of timer and pre-post processors in generated sample】

    查看结果树:

    聚合报告:

    小结:

    如果需要进行页面性能测试,事务控制器是必不可少的利器,可以增加页面性能测试结果的准确性。
    在接口测试时,也会经常用到事务控制器。因为有时一个业务需要关联多个接口才能完成。把这些接口统一归集到一个事务进行性能测试,得到的性能测试结果才会更加接近真实的业务场景。

    温馨提示:欢迎加入软件测试学习交流QQ群:642466721
     
  • 相关阅读:
    python,生产环境安装
    neo4j 图数据库
    RNN系列
    机器学习关于AUC的理解整理
    fensorflow 安装报错 DEPENDENCY ERROR
    dubbo Failed to check the status of the service com.user.service.UserService. No provider available for the service
    使用hbase遇到的问题
    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk
    gradle 安装
    jenkins 安装遇到的坑
  • 原文地址:https://www.cnblogs.com/DeryKong/p/13320763.html
Copyright © 2011-2022 走看看