打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
小议LR参数化
1.         什么是参数化
参数化的目的是向服务器批量提交符合业务逻辑的数据。这些数据可能是另一个业务已经生成的,需要查询数据库的某些表得出。也可能是首次新增的数据,只要符合业务逻辑、不违反数据库表约束条件即可。
用于参数化的数据来源
获取方式
备注
首次新增到数据库的数据
使用数据生成工具制造
这些数据必须符合业务逻辑,不违反数据库表的约束条件
已由其他业务模块生成的数据
从数据库表查询这些数据
向该模块编码人员学习业务,明确新增一条记录时会写到数据库的哪几张表里, 查询这些数据时,条件应该怎么写。
假设当前要测一个“并发用户注册”的模块,这些注册信息是数据库没有的,理论上是用户自己填写的。而通过向开发人员学习,知道这些注册信息会最终写入到数据库的某一张表里。
如下图,PID是个人编号,NAME,AGE,JOB 都是在页面填写的基本信息。则录制脚本回放后,应该通过查询数据库的表,看看记录数是否增加了且增加的数据可以用于其他业务来验证脚本是否录制成功。
单纯地看LR回放是否不报错是不行的,因为有时候,即使回放没有报错,数据库却没有新记录生成,一般是由脚本没有做好关联或参数化引起。
2.         参数化的数据怎么造?
如果数据是需要查询出来的,没什么好说的,跟开发人员学习,写出一大堆sql语句,查就是了,顺便写好数据回滚的语句,在重复测试某个业务的时候就派上了用场。并不是某张表的每个字段都需要放到参数化文件里,注意脚本里提交什么,就放什么。
如果是造数据,一般都是先分析需要把哪几个字段提交给数据库,然后用Excel  (少量数据) 或者DATAFACTORY(大量数据)把这些字段的值造出来。如下图,Excel的 “自动填充选项”可以很方便的生成这种数据
几个小技巧:
l  在controller里同时运行几个动作相同、设置不同(如think time、模拟网速、集结点)的脚本时,可以在参数化的时候,给某个字段加上“组标识”(如上图中G1、G3,这些组的设置不同)这样做完测试后,再查询“数据库表记录”可以看看这几个脚本生成数据的情况。 使用这种带有标识的数据的另一个好处是:系统可能存在某个业务会因为一条数据的关联数据量不同而处理时间不同(例如,某业务要求给若干单位下的所有人发津贴,单位的员工数不同,发津贴用的时间不同。如果在单位编号上做了标识,则可以看出5并发给一大批员工数为1000的单位发津贴和5并发给一大批员工数为10的单位发津贴用的时间差多少)
并发数
每笔业务处理的记录数
平均一笔业务的耗时
5并发
每个单位下都是1000人
7秒
每个单位下都是10人
2秒
l  为了保证参数化的数据不出错,分隔符尽量使用逗号,不要使用空格或制表符。
(如下图)
因为,从PLSQL、Excel拷贝出来的数据(本身就有制表符号),倘若某一条记录有空格,它在TXT中又是空白的,肉眼很难看出来。 大批量的数据替换可以使用Ultra Edit非常棒的文本处理工具。
还有一点需要注意的就是,如果每条参数化的数据只能在未来的其他业务里用一遍,则参数化脚本里应该参照下图(红色部分)设置
这个Allocate   values for each Vuser 的意思也曾让我费解。不知道我以下的解释对不对:
在这个空格里填写的数 N  , 乘以将来controller里给这个脚本分配的Vuser数 X
应该等于(也可以小于,但绝不能大于)你参数化的数据量M。
换句话说, 一共造了 M 条数据, 若打算 用 X个Vuser把这M条数据压到数据库里,则这个空格就应该填 N,  N = X / M 。
为什么要用这个功能呢? 我估计是用于业务吞吐量测试, 将M笔业务(某个数量级)平均分配给X个用户,然后看这些业务都被处理完毕需要多少时间。 因为有些Vuser会先处理完分配给他们的业务,则按照上图的设置,他们会做退出动作。 这种测试造出的数据是事先规划好的 ,顺便可以去查一下, 这个数据量的数据占用了多少硬盘空间。再除以测试占用的时间,可以得到一个I/O指标。(也许这很不科学,请大家多批评指点)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
性能测试LR基本使用
LoadRunner v12测试案例--性能分析
LoadRunner用户行为模拟器 《第三篇》
细说LoadRunner参数化(转)
LoadRunner参数化
使用Loadrunner 调用Webservice接口测试优化总结 | 大爱
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服