全网最详细,Jmeter性能测试-性能基础详解,控制器不同选择(四)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

逻辑控制器

提前说明,逻辑控制器≠混合场景
混合场景是不同数量的并发用户发起不同接口的请求,关于混合场景前面文章已分析写过。

循环

jmeter中有有两个用于循环的逻辑控制器,分别是“循环控制器”和“foreach控制器”。
如果学过Python,可以这么理解,循环控制器就是for i in range(10), 指定循环次数;

而foreach控制器则是for i in [对象],循环的次数是不定的,完全由对象的可迭代次数来决定。

循环控制器

循环控制器非常简单,指定次数或者勾选永远,让他循环指定的次数或者永远循环下去即可。

请添加图片描述

Foreach控制器

首先在用户参数中添加5个变量,变量名分别是var_1、var_2…var_5

请添加图片描述

然后添加foreach控制器

请添加图片描述

变量前缀为var;
开始循环字段,由于是不包含第一个的,所以要输入0;
结束循环字段输入5,因为是包含的;
输出变量名称为f, 即脚本中如果要使用这些变量,使用${f}即可;
由于变量名和数字之间有“_”,所以要勾上“数字之前加上下划线”;

然后创建一个调试取样器,把名称改为${f},然后允许查看结果,就会循环5次。

请添加图片描述

条件控制器

默认情况下,条件框中必须要使用__jexl3或者__groovy函数的计算结果,要为true或false

请添加图片描述

如果不勾选lnterpret Condition as Variable Expression?,那就会将里面的内容作为表达式进行运算,而且这里是作为js的表达式进行运算,因此也可以进行and、or等逻辑语的运算。

请添加图片描述

事务控制器

在jmeter中,默认一个取样器就是一个事务。而事务控制器就是控制其子集取样器(n),合并为一个事务。

然后,这里又涉及到一个概念,Tps是服务器每秒处理的事务数。如果使用事务控制器合并了多个取样器之后,那么Tps就是计算多个事务总的时间。

添加逻辑控制器->事务控制器。要注意,如果想要将多个取样器合并为1个事务,那必须要勾选Generate parent sample

请添加图片描述

请添加图片描述

请添加图片描述

如果再把lnclude duration of timer and pre-post processors in generated sample勾选了,那如果取样器有前置处理和后置处理的时间都会记录到聚合报告。

最后,这里有个问题,在性能测试中,是否要勾选Generate parent sample?

首先要明确一点,性能测试是先做单接口的性能测试,然后再做多借口的性能测试。因此只有在做多接口合并的时候才需要勾选。

也因此,事务控制器的使用场景是在需要验证某一个流程(例如下单流程、登录流程)的性能指标。

另外补充一点,一个流程的性能指标并不是把这个流程每个接口的指标相加!

一套完整的性能流程应该是先用单个取样器,做出某个接口的性能测试指标,然后再做出多个接口的性能指标,然后再使用事务控制器并勾选Generate parent sample,做出业务的性能指标,把所有业务都做出来之后,再合并做出整个系统的性能指标。

临界控制器

这是个比较特殊的控制器,它默认有一个固定锁名称,会把性能测试中的并行执行强制转换为串行,他会要求每个并发用户按照取样器的顺序走。
但既然是默认,那就还是可以改变,只要让锁名称动态生成即可。推荐使用线程号。

请添加图片描述

仅一次控制器

这个控制器的意思并不是只运行一次,而是一个线程只执行一次。只有一个并发用户数时,这个其实看不出什么感觉,但是如果是多用户的时候就能看到效果了
5个线程,循环10次。仅一次控制器每个线程只会运行1次。

请添加图片描述

Switch控制器

可以直接跳转到指定的脚本去运行,如下图,设置跳转到q2取样器,那就只会运行q2,q1和q3不会运行了

请添加图片描述

请添加图片描述

另外,如果直接在Switch控制器中填入数字,这个是按下标去找到对应的取样器,而下标是从0开始了。

请添加图片描述

随机控制器&随机顺序控制器

随机控制器是把挂载下的所有取样器中随机执行一个。
随机顺序控制器则是把挂载下的所有取样器的随机排序后再执行。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要心怀信念,勇敢追梦,任何困难都能战胜;只要不断努力,坚持不懈,成功就会向你招手。愿你在奋斗中成长,收获人生的美好与幸福。

勇敢地去追求你想要的生活,即使路途坎坷,也要坚定不移,因为只有拼搏奋斗,才能实现自己的梦想,才能过上真正属于自己的美好人生。

只要心怀梦想,脚踏实地向前,无论跌倒多少次,也要坚定不移地站起来,相信自己,保持专注,永不放弃,成功就在前方等待着你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/10192.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一篇文章让你搞懂TypeScript中的??和?:和?.和!.是什么意思

TypeScript中的??和?:和?.和!.是什么意思?知识回调(不懂就看这儿!)场景复现核心干货???:?.!.知识回调(不懂就看这儿!) 知识专栏专栏链接TypeScript知识专栏https://blog.csdn.net/xsl_…

Scrapy爬虫框架(概念)

Scrapy 入门教程 | 菜鸟教程 (runoob.com) Scrapy是一个快速功能强大的网络爬虫框架 Scrapy的安装 通过 pip 安装 Scrapy 框架: pip install Scrapy 安装后小测: 执行 scrapy ‐h Scrapy不是一个函数功能库,而是一个爬虫框架。 Scrapy架构图(绿线是…

CentOS7 虚拟机 双网卡绑定

一、网卡绑定模式 模式类型特点mode0round-robin(平衡轮询策略)基于per packet方式,轮询往每条链路发送报文。提供负载均衡和容错的能力,当有链路出问题,会把流量切换到正常的链路上。交换机端需要配置聚合口。mode1a…

【论文笔记】CRN: Camera Radar Net for Accurate, Robust, Efficient 3D Perception

原文链接:https://arxiv.org/abs/2304.00670 1. 引言 本文提出两阶段融合方法CRN,能使用相机和雷达生成语义丰富且位置精确的BEV特征。具体来说,首先将图像透视特征转换到BEV下,该步骤依赖雷达,称为雷达辅助的视图变换…

C#基础复习

语句 目录 语句 switch: 跳转语句 标签语句 标签: 标签语句的作用域 goto语句 using 语句 资源的包装使用 using 语句示例: 多个资源和嵌套 语句是描述某个类型或让程序执行某个动作的源代码指令 块在语法上算作一个单条嵌入语句。任何语…

电脑无法正常关机?点了关机又会自动重启

“真木马”相信不少朋友遇到过电脑关机自动重启现象,一点关机,但随后电脑有会进入重启状态,就是一直不会停,属实是很难崩。 目录 一、问题症状 二、问题原因 三、解决方案 方法一: 1.关闭系统发生错误时电脑自动…

企业数字化转型全是坑?这几篇数字化转型成功案例,减少70%损失

这篇给大家整理了200企业数字化转型案例合集,涵盖了制造、建筑、教育、零售、互联网等10行业的大中小型企业数字化转型思路,希望对大家有所帮助。 案例全部整合在这篇文章中,点击即可查看>>数字化干货资料合集! 01 首先&…

C++编程法则365条一天一条(359)认识各种初始化术语

文章目录Default initialization默认初始化Copy initialization拷贝初始化Aggregate initialization聚合初始化Direct initialization直接初始化list_initialization列表初始化value_initialization值初始化参考: https://en.cppreference.com/w/cpp/language/copy_…

项目打包发布流程

---》》》项目打包发布 1.编译并构建项目 2.部署 npm i npm run build scp2:需要写代码 ---》》》 后续有空更新:赋几个链接: Jenkins官网 nullhttps://www.jenkins.io/zh/一文详解Jenkins的安装与配置Jenkins是一个基于Java开发的开源…

ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing错误

一、问题 重新安装hbase后,在hbase shell中查看所有命名空间时,出现了ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing错误。 二、方法 1、root用户下,关闭hbase stop-hbase.sh 2、执行以下命令删除HDFS下的hb…

深度学习环境配置超详细教程【Anaconda+PyTorch(GPU版)+CUDA+cuDNN】

深度学习环境配置 入门深度学习,首先要做的事情就是要搭建深度学习的环境。不管你是Windows用户,Mac用户还是Ubuntu用户,只要电脑配置允许,都可以做深度学习,毕竟Windows、Mac和Ubuntu系统都可以进行深度学习环境的搭…

惊呆了,2小时我就学会了Charles抓包的详细教程

目录 一、什么是Charles 二、下载Charles 三、设置Charles代理 四、配置设备代理 五、抓包操作 六、常见问题及解决方法 抓包不到某些应用程序 Charles抓包后网站出现异常 七、总结 一、什么是Charles Charles是一个跨平台的HTTP代理服务工具,可以用来查看…

软件测试工作主要做什么

随着信息技术的发展和普及,人们对软件的使用越来越普及。但是在软件的使用过程中,软件的效果却不尽如人意。为了确保软件的质量,整个软件业界已经逐渐意识到测试的重要性,也有越来越多的小伙伴加入了软件测试这个行业中来。软件测…

从FPGA说起的深度学习(六)-任务并行性

这是新的系列教程,在本教程中,我们将介绍使用 FPGA 实现深度学习的技术,深度学习是近年来人工智能领域的热门话题。在本教程中,旨在加深对深度学习和 FPGA 的理解。用 C/C 编写深度学习推理代码高级综合 (HLS) 将 C/C 代码转换为硬…

ServletAPI详解(四)-HttpServletResponse

我们来看第三个方法,HttpServletResponse 在servlet运行原理中提到,servlet代码中的doXXX方法的目的就是根据请求计算响应,然后将响应数据设置到HttpServletResponse对象中,然后 Tomcat 就会把这个 HttpServletResponse 对象按照 HTTP 协议的格式, 转成一个字符串, 并通过 Soc…

Linux Shell 实现一键部署二进制Rabbitmq

rabbitmq 前言 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代…

MPC的560x系列的运行模式的介绍

一、模式简介 1、运行模式 一共11种模式,分别为RESET、DRUN、SAFE、TEST、RUN0、RUN1、RUN2、RUN3、HALT、STOP、STANDBY。其中RESET、DRUN、SAFE、TEST是系统工作模式,用户不用个特别关系,而后面几种是用于经常使用到的工作模式。 RESET&a…

Linux搭建docker

1. 查看系统的内核版本 [rootwide ~]# uname -r 3.10.0-1160.el7.x86_642. 将yum更新到最新版本 [rootwide ~]# yum upate -y Complete!3. 安装Docker所需的依赖包 [rootwide ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2 Loaded plugins: fastes…

MyBatis多表查询+动态sql

文章目录MyBatis多表查询1. 多表一对一查询2. 多表一对多动态SQL1.\<if\>标签2.\<trim\>标签3. \<where\>标签4.\<set\>标签5. \<foreach\>标签MyBatis多表查询 在全局配置文件中中设置MyBatis执行日志 mybatis:configuration:log-impl: org.a…

hadoop使用MapReduce统计单词出现次数案例

前言 前面的文章已经展示了如何在windows上传文件到hdfs&#xff0c;上传后如何简单的做统计&#xff0c;本文展示一下。上传文件到HDFS链接 这里我们做一个案例&#xff0c;对一个上传到HDFS的文档中统计good出现的次数。 文件内容如下 这里我使用的是【上传文件到HDFS链接…
最新文章