51Testing软件测试论坛

标题: Controller中多用户并发操作是怎样进行的? [打印本页]

作者: zhangqiang17    时间: 2010-5-12 11:26
标题: Controller中多用户并发操作是怎样进行的?
最近学LoadRunner,在用Controller模拟50个用户进行登录操作这块,对其原理有点疑惑,请高手指点。
录制的是Loadrunner自带的Web Tours登录脚本,用参数化准备了50个不同的用户名和密码(均已注册)。在Controller中设置场景后,在Run-Setting 中设置循环次数是50。 那么这50个用户是怎么工作的呢?是每个用户分别用对应的用户名进行登录?还是50个用户中每个用户都分别使用那50个用户名进行登录呢?
作者: msnshow    时间: 2010-5-12 20:35
要看你是如何参数化的了,如果你是让用户取唯一值,那么每个虚拟用户都会取不同的用户名和密码来登陆
作者: mr.bee    时间: 2010-5-12 23:30
补充楼上,复制之前写过的一个东西。。。。。。。。。。。。。

假设存在:
数据:A、B、C
虚拟用户:Vuser1、Vuser2、Vuser3
脚本中参数出现三次,脚本迭代三次

怎样取下一行数据?
Sequential:顺序,所有虚拟用户按照顺序读取数据表
Random:随机,所有虚拟用户随机形式读取数据表
Unique:唯一,所有虚拟用户每次各取一值(不重复)

什么时候访问数据表完成数据更新?
Each iteration:每次迭代以后
Each occurrence:每次出现参数
Once:每出现一个虚拟用户


实例:
顺序
Sequential + Each iteration
第一次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取A
第二次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取B
第三次迭代 无论参数任何时候出现Vuser1、Vuser2、Vuser3 取C

Sequential + Each occurrence
第N次迭代 参数第一次出现 Vuser1、Vuser2、Vuser3 取A
第N次迭代 参数第二次出现 Vuser1、Vuser2、Vuser3 取B
第N次迭代 参数第三次出现 Vuser1、Vuser2、Vuser3 取C

Sequential + Once
第N次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C

随机
Random + Each iteration
第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新
在N+1次迭代,每个Vuser重新随机抽取数据


Random + Each occurrence
第N次迭代 第一次遇到该参数 Vuser1、Vuser2、Vuser3在A、B、C中随机抽取一个
第N次迭代 第二次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个
第N次迭代 第三次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个
在N+1次迭代,每个Vuser继续保持每遇到一次参数就重新抽取一次数据

Random + Once
第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C
第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C
第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C
在N+1次迭代,每个Vuser不会重新抽取数据

唯一
注意:使用该Unique类型必须注意数据表有足够多的数。
比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。
因此以下例子在数据表中加入数据D、E、F、G、H、I。

Unique + Each iteration
第一次迭代 无论参数出现多少次 Vuser1取A Vuser2取D Vuser3取G
第二次迭代 无论参数出现多少次 Vuser1取B Vuser2取E Vuser3取H
第三次迭代 无论参数出现多少次 Vuser1取C Vuser2取F Vuser3取I

Unique + Each occurrence
第一次迭代 第一次出现该参数 Vuser1取A Vuser2取D Vuser3取G
第一次迭代 第二次出现该参数 Vuser1取B Vuser2取E Vuser3取H
第一次迭代 第三次出现该参数 Vuser1取C Vuser2取F Vuser3取I

Unique + Once
无论进行多少次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C
数据D、E、F、G、H、I不取

[ 本帖最后由 mr.bee 于 2010-5-12 23:42 编辑 ]
作者: zhangqiang17    时间: 2010-5-13 13:42
非常感谢!
作者: 玉簪花    时间: 2010-5-16 21:51
标题: 回复 3# 的帖子
3楼是好人啊,太感谢了,我也一直纳闷儿呢~~
作者: meih521    时间: 2010-5-17 11:42
标题: 回复 3# 的帖子
不错,顶!!!
作者: aman_cao    时间: 2010-6-8 15:36
好贴一定要收藏
作者: patrick_1984    时间: 2010-6-8 16:06
ding !!!
作者: coco_kong    时间: 2013-2-17 09:32
回复 3# mr.bee


    试问下,你说的数据A、B、C是指什么哦?
作者: mike3421    时间: 2013-2-18 18:01
我只想说太有用了!
作者: chinesegu    时间: 2013-2-26 16:01
真的有用阿 顶下




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2