news 2026/4/18 13:30:42

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
性能测试参数化技术详解—项目实战教学

所谓脚本参数化,就是针对脚本中的某些常量,使用参数来取代。参数中包含很多数据源,数据源可以是一个文本文件也可以是数据库。当不同的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(日期/时间)参数类型

    版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
    网站建设 2026/4/18 6:26:16

    基于单片机的蓝牙无线密码锁设计

    2 系统硬件设计 2.1 设计原理 本设计的主要硬件由单片机[5]、显示模块、驱动模块等硬件组成。在整个系统运转时,单片机会依照用户实际输入的对应内容,在此过程中,单片机判断用户输入密码的正确性。如果成功的输入正确的密码,继电器…

    作者头像 李华
    网站建设 2026/4/18 6:27:11

    工业通信中的“工业战狼”!耐达讯自动化CAN转PROFIBUS网关

    在某污水处理厂的配电室内,值班工程师小李正面对着24台智能电表的异常报警。这些设备虽具备智能采集功能,却因协议壁垒导致SCADA系统频繁报错,每次故障排查需耗费3小时。这正是传统工业现场的典型困境——当电力仪表的"方言"无法被…

    作者头像 李华
    网站建设 2026/4/18 6:25:49

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

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

    作者头像 李华
    网站建设 2026/4/17 21:14:23

    如何用 4 种可靠的方法更换 iPhone

    Apple 每年都会发布新版本的 iPhone。升级到新 iPhone 是一种令人兴奋的体验,但转移所有宝贵数据的想法有时会让人感到畏惧。幸运的是,我们准备了 4 种有效的更换 iPhone 的方法,让你可以毫不费力地更换到你的新 iPhone。此外,您还…

    作者头像 李华
    网站建设 2026/4/18 8:44:20

    雅思套招小Tips(未完待续)

    以下是雅思口语中常见场景的应对思路、精准用词及例句,涵盖高频话题,注重场景全面性和表达准确性:一、家乡(Hometown)常见问题:Where is your hometown?What’s special about your hometown?Do you like…

    作者头像 李华