性能测试参数化技术详解—项目实战教学

所谓脚本参数化,就是针对脚本中的某些常量,使用参数来取代。参数中包含很多数据源,数据源可以是一个文本文件也可以是数据库。当不同的Vuser在执行相同的脚本时,分别调用参数文件中的数据代替这些常量,从而达到模拟多用户真实使用的目的。

参数化的过程体现了数据驱动的思想,即将测试脚本与测试数据进行分离的思想。脚本体现测试流程,数据体现测试案例。

01哪些情况参数化

工作中为什么要进行参数化呢?

  • 1)借助参数化可以减小脚本的数量,如果不进行参数化为了达到目标可能需要拷贝并修改很多个脚本。

  • 2)使业务更接近真实的客户业务,每个虚拟用户使用不同参数值来模拟,这样可以更好地接近客户的实际情况。

在实际工作中一般以下情况需要进行参数化:

  • 1) 日期时间

如这类业务,需要订一张机票,那么订票的日期一定是当前日期之后,不可能是当前时间之前的日期,如当前系统时间为2012年8月20日,那么订票时一定需要使用20日后期的日期(如订25日的机票),但是如果到25日之后再来回放该脚本时,还是发现脚本无法正常使用,所以对于这类情况需要参数化。

  • 2) 唯一性约束

唯一性约束是指在数据库中对于主键必须是唯一的,如果一直使用相同数据提交业务,那么业务将无法完成。如注册业务,就不能使用相同的数据就行注册,因为数据库中会把注册用户的ID做为主键,这样在测试过程中就必须进行参数化,否则业务无法成功。

  • 3) 数据约束

数据约束是指在测试过程中要求提交的业务数据必须是每次都不同,如果提交业务中的数据一致,那么业务将失败。例如银行业务,一些银行业务是以报文的方式发送的,在发送报头时,后面一般会接一个6位的动态码,那么这个动态码就必须每次都不一样,如果写成一样,那么银行交易业务将会失败,所以对于这类数据必须进行参数化。

  • 4) 缓存数据约束

在谈缓存数据约束之前,必须先了解数据库查询的过程,数据库在查询时首先使用查询条件在数据库进行查询,查询结束后,系统需要将查询到的结果显示在页面中,那么显示时需要先将查询到的结果从硬盘中读取之出,读取后将数据从硬盘读到内存,再从内存读到缓存,最后将缓存中的数据发送到处理器中进行处理。

但是有一种特殊情况,如果每次使用的查询条件一致时,数据库中查询到的结果就是一致的,那么需要处理的数据直接已经存储在缓存中,这样系统就不需要从硬盘将数据读到缓存,而直接将缓存中的数据传输到处理器中进行处理,这样就节约了从硬盘读到数据到缓存中的时间,而整个查询过程中时间消耗最多的恰好是从硬盘到缓存的时间,所以这样测试出来的时间不是真实的时间,这些就出现缓存数据约束,所以这种情况也需要进行参数化。

02创建参数

将飞机订票系统的注册业务流程录制成脚本,录制好脚本后,选中要参数化的常量,点击鼠标右键→选择Replace with a parameter,如图6-27所示,在该实例中对用户名和密码进行参数化。弹出Select or Create Parameter对话框,在该对话框中输入参数化的名称或者选择一个已经存在的参数名,这里将参数化名称设置为pw,如图6-28所示。

需要注意的一个问题是,当参数化结束后,脚本保存的根目录下会自动生成一个参数化的文件,如图6-29所示。

图6-29 参数化文件

在这个实例中有两个参数化文件,在此可以对这两个参数化文件进行合并,当然并不是非合并不可,但是如果有多个参数化文件并且每个文件都占很大空间时,就需要对参数化文件进行合并了,这样不但可以节省系统资源也方便管理参数化文件,在该实例中将这两个参数文件合并成一个参数文件parameter,在参数文件parameter中不同参数之间使用逗号分开,如图6-30所示。

图6-30 合并参数文件

合并好参数文件之后,可以将user和pw两个参数化文件删除,为了将参数与脚本分离,一般新建一个参数文件夹,将所有的参数文件都放到里面,如图6-31所示。

图6-31 脚本与参数分离

创建参数完成后,需要对参数类型属性进行设置。

03参数类型属性

参数创建好之后,需要对这些参数的类型进行设置,主要有以下几种参数类型:

1、 Date/Time(日期/时间)参数类型

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

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    基于单片机的无线通信报警系统

    摘要 本课题设计了基于STM32F103C6T6单片机为主控核心的无线通信报警系统。为了解决家庭居室的安全监控,通过温湿度芯片SHT30、烟雾传感器MQ-2、天然气传感器MQ-4来获取居室的温湿度、烟雾、天然气含量,使用了一个热释电传感器、菲涅耳透镜、红外传感信号…

    基于单片机的轴承售卖系统设计

    1总体方案设计及选择 1.1设计方案与选择 设计一个客户端和一个厂家端,客户端有一个查看样品选项当客户选择查看之后,系统接收到指令,然后通过控制,打开样品展示仓的仓门;当这个客户查验这个样品过后控制样品展示仓关闭…

    深度测评专科生必用的9款AI论文软件

    深度测评专科生必用的9款AI论文软件 2026年专科生论文写作工具测评:为何需要一份权威榜单? 随着AI技术的不断进步,越来越多的专科生开始借助AI论文软件提升写作效率、优化内容质量。然而,面对市场上琳琅满目的工具,如何…

    基于单片机的室内空气质量监控系统设计

    2系统硬件设计 2.1 单片机的选择与设计 为了实现课题要求,需要选择一款最适合的单片机来作为主控制器。因为本设计中涉及到温湿度采集模块、甲醛采集模块、显示模块、按键模块、报警模块、加湿及风扇模块。其中,温湿度采集、甲醛采集和按键是输入&#x…

    基于PLC的控制分拣机械手设计 ——硬件设计

    2 机械手系统设计 2.1气压传动控制 在气压传动控制的设计中运用将压力能转化为机械能的一项技术:采用气压驱动器,并将压缩空气作为工作介质来实现此项技术。而用于控制零件的,是通过将马达或其他原动机所生成机械能转换成压缩空气的压力能的空…

    信息安全从入门到精通:技术、管理与法规的全景解读

    信息安全概论知识点 一.名词解释 1.信息安全:信息安全是指信息网络的硬件,软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏,更改,泄露,系统连续可靠地运行,信息…

    吐血推荐MBA必用TOP8 AI论文软件测评

    吐血推荐MBA必用TOP8 AI论文软件测评 2026年MBA学术写作工具测评:精准选型助力高效研究 在MBA学习与研究过程中,论文撰写是一项核心任务,而AI写作工具的出现极大提升了效率。然而,面对市场上琳琅满目的产品,如何选择真…

    如何规划你的网络安全认证之路?详解通往CISSP的“黄金跳板”证书

    前言 常见的网络安全证书主要有:CISP(国家基本信息工作人员)、CISP-PTE(国家申请注册渗入技术工程师)、CISP-A(国家注册系统注册会计师)、CISSP(国际认证信息安全权威专家)、CISA&a…

    智能能耗优化:汽车制造企业如何落地EMS系统

    一、汽车制造EMS系统的定义与核心价值在现代汽车工业的生产体系中,能耗管理已经不再是简单的成本控制问题,而是关乎企业竞争力、环保合规和可持续发展的综合性议题。汽车制造过程中的焊接、喷涂、烘干等工序,都是能耗密集型环节,传…

    图解TCP核心机制:一张速查表搞定协议要点、面试题与实战调优

    TCP 作为传输层的协议,是一个IT工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。 001. 能不能说一说 TCP 和 UDP 的区别? 首先概括一下基本的区别: TCP是…

    基于单片机的智能晾衣架控制系统的设计与实现

    一、设计背景与目标 传统晾衣架依赖手动操作,遇突发天气无法及时收回衣物,且晾晒过程中难以根据环境调整晾晒状态,影响衣物干燥效率。基于单片机的智能晾衣架控制系统,旨在通过环境感知与自动化技术,解决传统晾衣架的被…

    助力航空精密制造:Tube Qualify在管路在线检测与弯曲分析中的应用

    航空管路系统(燃油、液压、气动)的复杂管路,往往带有法兰、接头等部件,具有数量多、形状多样、结构复杂等特点,是航空装备的关键部件之一。为保证设备的平稳运行,在装配时,对管路的尺寸精度要求…

    2026移动端工程师AI大模型3个月速成计划:从App开发到智能体架构师!

    90天,从移动开发到移动智能体开发——你的每行性能优化代码,都是AI模型在手机端流畅运行的基石。 2025年数据显示,掌握端侧AI部署的移动工程师平均薪资涨幅达58%,远高于传统移动开发。你刚在手机上完成了一个丝滑流畅的列表滚动优…

    谷歌重磅测试Nano Banana2Flash AI图像模型,极速+高性价比双突破

    2026年1月4日,继推出高端图像模型Nano Banana Pro后,谷歌正秘密测试其Gemini Flash系列的新成员 ——Nano Banana2Flash。这一动态由科技领域知名博主MarsForTech率先在X平台披露,作为当前谷歌旗下速度最快的生成式AI图像模型,其核…

    网络协议硬核解析:应对HTTP/TCP/UDP及NoSQL的灵魂拷问与设计原理

    面试常用知识点总结 1. HTTP协议 HTTP请求和响应的组成部分 常见的HTTP方法及其用途 常见的HTTP状态码及其含义 HTTP/1.1和HTTP/2的主要区别 无状态协议的含义及其影响 2. TCP/IP协议栈 TCP/IP协议栈的四层结构及其功能 各层常见协议及其特点 TCP和UDP的区别 TCP三次握手和四次…

    解决报错Error in sitecustomize; set PYTHONVERBOSE for traceback:NameError: name ‘reload‘ is not defined

    一、问题如下 解决这个报错主要是修正Python代码的兼容性问题 二、找到路径 可以使用搜索 locate sitecustomize.py 通常在ROS或某些Python包的目录下,例如可能路径是 /opt/ros/melodic/lib/python2.7/dist-packages/sitecustomize.py 三、解决兼容性 参考 ht…

    一篇文章讲透网络协议知识体系:从TCP/IP、HTTP到NoSQL的协议栈全景

    面试常用知识点总结 1. HTTP协议 HTTP请求和响应的组成部分 常见的HTTP方法及其用途 常见的HTTP状态码及其含义 HTTP/1.1和HTTP/2的主要区别 无状态协议的含义及其影响 2. TCP/IP协议栈 TCP/IP协议栈的四层结构及其功能 各层常见协议及其特点 TCP和UDP的区别 TCP三次握手和四次…

    只会写Prompt怎么行?揭秘生产级Agent炼成之路:这10大工程维度,你一定要懂!

    技术层面的突破让AI智能体(Agent)成为当前绝对的AI热点。但随着Agent应用走向真实业务,也逐渐暴露出其工程瓶颈:不确定性、幻觉、不可观测、性能、安全、成本等多方面存在挑战…这些问题不会因为模型更强而自动消失。 “打造一个…

    突破传统点式测量:DIC技术在复合材料全场变形与损伤表征中的应用

    前言:数字图像相关(DIC)技术作为一种实用且有效的物体表面变形测量工具,目前已被广泛应用于测量复合材料的变形和损伤行为。复合材料具有非均匀性和各向异性的性质,导致其受载后会产生复杂的变形行为。DIC技术具有全场…

    配管配线工程量计算规范实操

    配管配线工程量计算规范&实操 绝缘导线穿管敷设,即配管配线,是工业与民用建筑中应用最广泛的配线方式。它不仅安全可靠,能有效抵御腐蚀气体侵蚀与机械损伤,还便于电线更换。本期将结合电气插座配线工程量计算规范&#xff0c…