关注于测试自动化和测试管理,我是一个永远的测试新手。
Loadrunner参数化测试数据(2)
上一篇 /
下一篇 2007-10-16 09:56:46
/ 个人分类:Loadrunner
51Testing软件测试网3f"Q#l0K-c0_*WT原帖:http://bbs.51testing.com/thread-93017-1-1.html
9~Q*{6dT9f^M#i051Testing软件测试网xG!kp'u9h6Y'x为了解决他的问题,特回复一下。51Testing软件测试网#Ky$ubMgNV
51Testing软件测试网a`Ne8]/R e指点迷津不敢~~说说我的理解给你参考一下:
+DV8a.^HhvH6r+d0jWg[qtD0被参数化设置的一般都是向server提交数据的函数,例如web_url、web_submit_data等函数,这些函数通常都是一个整体,无法进行分拆的参数化输入,因此每次进行参数化时,要考虑所有的被参数的参数的取值问题,引申出来参数化的最重要的步骤——做数据。51Testing软件测试网
Sz? I8q.rd!|
bs-itolx+C0数据集有很多种,比如说 txt bat文件,比如说直接从数据库中读取,这些不同的数据集,lr应该处理的方式都是一样的,就是都是从数据集中先读取,然后存放到默认的bat文件中,然后再进行固定策略的参数化活动,因此,我们在做数据时,完全没有必要区分不同的数据集,我就只使用txt文件做数据集,如果是从数据库中读取数据,我就先自己select出来我要的,然后保存到txt文件中。同样,excel也是如此。
j2c:OU.m7|6} f051Testing软件测试网F GreA0i做数据时需要选择不同的策略,就是不同的数据存放在几个文件中!需要仔细考虑好,例如你的文章:LoadRnner参数化之疑问一之续一51Testing软件测试网(]Bjsh6G*G
中就有如下参数要进行参数化:51Testing软件测试网"h'tM:b:zO/Px
TBillNo、tranID、realCode、TBillDate、invoiceNo、contractNo、inUnitecode51Testing软件测试网%rl'Qu*@2N*P-U \}
其中TBillNo、tranID、realCode、inUnitecode你选择的策略是取唯一值,其它的3个值估计就是无所谓了,可以随便选择一些,但是我不明白的时,你为什么更新值策略每个参数都不相同,做的很复杂,建议只用一个数据集文件,把所有取唯一值的数据放入这个文件,其他无所谓的值就不参数化了,手动填写一些值就OK了;文件格式类似:51Testing软件测试网
Z j+Ad5_V'iO
TBillNo tranID realCode inUnitecode51Testing软件测试网vj!CyD+_*h
a1 b1 c1 d1
#uePy+n!|\0a2 b2 c2 d2
-gr
R3hh
\0v
G.u0a3 b3 c3 d351Testing软件测试网2g)l;r9@F$NH@~
……
h G hA:h7]1y
E0然后选择更新值策略为唯一,选择下一行为每次迭代,步长为1即可;这样参数化就完成了,直接执行虚拟用户就OK。
/b!LuI]&Vqc!a.O0bBg{F6i
a3a;z0再回答你的几个问题:51Testing软件测试网 O-ws lY;g
1、实际完成的数据是否等于 迭代次数*vuser数??51Testing软件测试网*s0p(rI;B+Y
?az
答:这个【迭代次数*vuser数】理论上是提交请求数,实际的交易成功数可能不是,如果你没有做返回的检查的话,提交失败的你有时无法检查出来。因为lr的录制的时候提交的数据都是正确的,返回也是正确的,但是实际在vuser执行时,可能你提交的数据有问题,程序给你返回错误的结果,但是你没有做判断,lr依然认为这个是正确的,没有报错,这样,实际上你10条记录提交了,实际只完成2条,完全有可能。因此,在脚本中增加对应的返回值检查是很必要的。
3s(j`w
P1a051Testing软件测试网/Q%}kv4ae2F2h2、如何取得唯一值?51Testing软件测试网 }onm.h$SS
答:在场景中执行的vuser脚本,使用唯一(unique)+每次迭代即可;
s^e e)@0 例如:你设置了【唯一(unique)+每次迭代】,然后用10个vuser来跑,不设置持续运行时间的话,那么你提交的请求就是 10个【每个vuser选取一个唯一值】,当然前提是你的参数化数据足够多。
*m#spnIk"XS0 再例:你设置runtime-setting的action的迭代次数为10,然后再用10个vuser来跑【唯一(unique)+每次迭代】的脚本,那你最好设置一下步长,就是规定每个vuser的取值空间,这样不会造成取值冲突;如果设置步长为10,那么你第一个vuser取值就是【(N-1)*100+10】行(N为迭代次数),这样可以避免有些策略提交了同样的值,造成请求发出,但是实际没有成功。
.Q&\}Ax?0x-c
SV+LS;ia:J0你可以参考我的blog文章:http://www.51testing.com/?6343/action_viewspace_itemid_64365.html
m7{
[(\;v1d0 G u4fO0Z*D-\?0有问题继续讨论,呵呵~~~~
K$}P\.N)wN0
相关阅读:
- 用LoadRunner监控windows的性能 (就是爱测试, 2007-10-09)
- 用LoadRunner监控windows的性能 (就是爱测试, 2007-10-09)
- MI工具下载 (lantianwei, 2007-10-09)
- Loadrunner精髓资料下载 (51testing, 2007-10-09)
- loadrunner - winsock 函数 一览表 (51testing, 2007-10-10)
- 如何在Suse_Linux9.0下使用Loadrunner监控服务器资源使用情况 (51testing, 2007-10-10)
- Loadrunner学习笔记_磁盘相关 (51testing, 2007-10-10)
- 实例分析Loadrunner参数化策略 (qiguojie, 2007-10-11)
- LoadRunner8.1中文使用指南 (51testing, 2007-10-11)
- 汉化版loadrunnerV8.1下载 [转载] (s428lsy, 2007-10-12)
收藏
举报
TAG:
LoadRunner
参数化
LR参数化
Loadrunner