51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6746|回复: 4
打印 上一主题 下一主题

[原创] loadrunner参数数量与vuser的分配(转来的,很不错,对初学者)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-5-31 14:46:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
只谈LoadRunner中Unique参数属性(绝对原创)来源: 作者: 发表时间:2008-07-08 14:17 点击:287次获取本文网址二维码 loadrunnerLoadRunnerLoadrunnerUnique原创LoadRunnerTestDirectorWinRunnerQuickTestProQualityCenterALM 在 LoadRunner 中进行参数化时,Parameter的取值设置有以下相关参数: 取值方式: Sequence:顺序 Random:随机 Unique:唯一 改变(更新)取值的时机: Each Iteration:每次迭代 Each Occurrence:每次出现 Once:只改变一次 (在此,我只讨论Unique的参数在LoadRunner中进行参数化时,Parameter的取值设置有以下相关参数:
        取值方式:
Sequence:顺序
Random:随机
Unique:唯一
        改变(更新)取值的时机:
Each Iteration:每次迭代
Each Oclearcase/" target="_blank" >ccurrence:每次出现
Once:只改变一次

(在此,我只讨论Unique的参数设置,其他相关参数会在其他文章中详谈)
当我们取值方式选为Unique/更新取值时机选为Each Iteration时,还有一个选项可设置,那就是:allocate Vuser values in the controller:它有两个选项:1、automatically allocate block size;2、allocate _____values for each Vuser. 因为我们选择了“每次迭代”更新取值的方式,所以可以指定是由系统自动分配Vuser的参数值数量,还是人为指定为每个Vuser分配的参数值数量。

我们以某网站登录功能为例来做分析:
先来看一下登录界面:
登录
用户名:        {T_name}
密码:        {Pwd}
确认密码:        {Pwd}
登录        取消

一、我们选择由系统自动分配Vuser参数值数量的选项,即勾选automatically allocate block size

1、        首先我们准备一些登陆用的数据,包括用户名,密码
编号        用户名:        密码:
1        T_username01        Pwd01
2        T_username02        Pwd02
3        T_username03        Pwd03
4        T_username04        Pwd04
5        T_username05        Pwd05

2、        分析user的参数值列表、Vuser数和迭代次数的关系:
首先确定我们是使用Vuser来虚拟多个用户通过调用多个user的参数值来实现模拟操作动作的,那一个Vuser使用的user参数值的多少就会和Iteration迭代的次数有直接关系。好,我们来看下面这个分析表:
解释格式:(以1*2;2*2;3*1为例)
                以分号分割,表示不同的Vuser:共3个Vuser
                第一位数字表示Vuser的编号:3*1表示第3个Vuser
                第二位数字表示分配得到的user参数值的数量:1*2表示第一个Vuser得到2个user参数值
User参数值的数量
(以5个为例)        迭代次数        最大允许Vuser数        最大Vuser数量下的分配情况
5        1        5        1*1;2*1;3*1;4*1;5*1
5        2        3        1*2;2*2;3*1
5        3        2        1*3;2*2
5        4        2        1*4;2*1
5        5        1        1*5

同样的分析方法,我们刚刚分析的“最大允许Vuser数量”,实际你可以取小于它的值,比如:
User参数值的数量
(以5个为例)        迭代次数        最大允许Vuser数        最大Vuser数量下的分配情况
5        2        2        1*2,2*2
注:比较和上表中的第二行数据,会发现:当我的每一个Vuser满足了自己的迭代次数,且参数数量够分配时,剩下的未用的1个参数就被忽略了
(当user参数值数量小于迭代次数时,具体的分配方式和另一个选项有关:1、中止;2、循环Vuser分配到的列表;3、只循环最后一个列表项;这部分内容放到文章最下面 ^_^ ,现在可以默认选在2上)



同样,我们可以分析一下10个User参数值的时候
User参数值的数量
(以5个为例)        迭代次数        最大允许Vuser数        最大Vuser数量下的分配情况
10        1        10        1*1;2*1;3*1;4*1;5*1;6*1;7*1;8*1;9*1;10*1
10        2        5        1*2;2*2;3*2;4*2;5*2
10        3        4        1*3;2*3;3*3;4*1
10        4        3        1*4;2*4;3*2
10        5        2        1*5;2*5
10        6        2        1*6;2*4
10        7        2        1*7;2*3
10        8        2        1*8;2*2

10        9        2        1*9;2*1
10        10        1        1*10

由此,我们可以推导出有关User参数值数量、迭代次数和最大允许Vuser数的数学公式:
令:        User参数值数量——ParamNum
                迭代次数————IteraNum
                最大允许Vuser数——MaxVuser
则公式如下:
        当ParamNum%IteraNum=0时                MaxVuser= ParamNum/IteraNum         
        当ParamNum%IteraNum!=0时                MaxVuser= ParamNum/IteraNum+1

二、我们选择人为分配Vuser参数值数量的选项,即勾选allocate _____values for each Vuser.并在空格中填入数量(我们以2为例来分析)

这种方式要比上面的分析方法简单些。
1、        还是用上面user的参数值列表为例
2、        分析user的参数值列表、Vuser数和迭代次数的关系:
User参数值的数量
(以5个为例)        迭代次数        Vuser的分配情况
5        1        1*2;2*2
5        2        1*2;2*2
5        3        1*2;2*2
5        4        1*2;2*2
5        5        1*2;2*2
由以上分析我们看到:当我们认为确定了分配给Vuser的参数值数量,那么系统会按照你设定的值去分配,前两个Vuser每人得到应有的2个参数值,而此时的Vuser数量如果大于2个地话,那么其他的Vuser是分配不到user参数值的;而且此时的迭代会按照1、中止;2、循环Vuser分配到的列表;3、只循环最后一个列表项;你的设置去迭代

三、最后一个相关选项:
        When out of values:


1、        中止:abort Vuser
2、        循环Vuser分配到的列表
3、        只循环最后一个列表项

1、现在我们假设选定2;
比如迭代3次时:
假设Vuser1得到的参数值为:T_username01、T_username02
那么迭代结果:T_username01、T_username02、T_username01
迭代4次结果:T_username01、T_username02 、T_username01、T_username02
3、        现在我们选定3:
同样的迭代3次时:
假设Vuser1得到的参数值为:T_username01、T_username02
那么迭代结果:T_username01、T_username02、T_username02
迭代4次结果:T_username01、T_username02 、T_username02、T_username02


今天就先说到这吧,我想你一定迫不及待的启动了LoadRunner,来验证这些理论吧。Just do it!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-5-31 17:29:34 | 只看该作者
对于初学者来说,这样更容易懂吧
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
    发表于 2012-5-31 22:14:49 | 只看该作者
    写得有点晕
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    4#
    发表于 2012-5-31 22:15:01 | 只看该作者
    很简单的写了这么一大篇
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    5#
    发表于 2012-6-1 16:16:20 | 只看该作者
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 15:13 , Processed in 0.069509 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表