51Testing软件测试论坛

标题: 关于LoadRunner参数的详细解释(自己看的) [打印本页]

作者: julioguo    时间: 2010-6-18 10:05
标题: 关于LoadRunner参数的详细解释(自己看的)
通过创建表方式和数据向导方式都可以成功创建数据文件,操作员可以随意选择自己习惯的方式。总之,能坚守数据文件放数据的原则,就不会出问题了。

当回到“参数属性页面”中后,发现数据已经准备好了,而且原来灰色的区域目前也可以选择了。



“选择下一行”共有下面几个选项:

Sequential:

    按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取。

Random:

    任意选择。但是在每一次迭代中,将不发生变化。

Unique:

    唯一的数。当使用该选项时,需要保证准备的数据文件中有足够的数据。比如要做20个虚拟用户,每个用户要进行5次迭代,第一个用户在5次迭代中分别使用数据文件中的数据1~数据5,第二个用户在5次迭代中分别使用数据文件中的数据6~数据10,类推以后20个用户将使用到100个数据。那么必须保证准备的数据文件中有100个以上的数据,否则运行时会出错。

Same line as 某个参数:

和前面定义的参数取同行的记录。通常用在有关联性的数据上面。比如当我做登录密码的参数化时,由于它和UserID是有关联的,所以会用到这种选择方式。



“更新值的时间”共有下面几个选项:

Each iteration:

每次迭代更新一个新的值。

Each occurrence:

每次出现时该参数时更新一个新的值。

Once

不管迭代多少次该参数的值一直保持不变。





*****注意*****

1、  参数类型:

在创建参数的时候,我选择了参数类型为File。参数类型共有9种,现在来简单介绍一下所有的参数类型以及意义。

1.1、DateTime:

在需要输入日期/时间的地方,可以用DateTime 类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。

1.2、Group Name:

很少用到。在实际运行中,LoadRunner使用该虚拟用户所在的Vuser Group 来代替。但是在VuGen 中运行时,Group Name将会是None。

1.3、Load Generator Name:

在实际运行中,LoadRunner 使用该虚拟用户所在LoadGenerator 的机器名来代替。

1.4、Iteration Number:

在实际运行中,LoadRunner 使用该测试脚本当前循环的次数来代替。

1.5、Random Number:

随机数。很简单。在属性设置中可以设置产生随机数的范围。

1.6、Unique Number:

唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。注意:使用该参数类型必须注意可以接受的最大数。例如:某个文本框能接受的最大数为99。当使用该参数类型时,设置第一个数为1,递增的数为1,但100 个虚拟用户同时运行时,第100 个虚拟用户输入的将是100,这样脚本运行将会出错。这里说的递增意思是各个用户取第一个值的递增数,每个用户相邻的两次循环之间的差值为1。举例说明:假如起始数为1,递增为5,那么第一个用户第一次循环取值1,第二次循环取值2;第二个用户第一次循环取值为6,第二次为7;依次类推。

1.7、Vuser ID:

设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户的ID 来代替,该ID 是由Controller 来控制的。但是在VuGen 中运行时,Vuser ID 将会是 –1。

1.8、File:

需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据(就是我用到的那种类型)。

1.9、User Defined Function:

从用户开发的dll 文件提取数据。


有关各种参数类型属性的详细设置这里就不多介绍了,到用到的时候大家可以多看看帮助文档。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/windone0109/archive/2009/03/27/4028586.aspx
作者: julioguo    时间: 2010-6-18 10:06
Date/Time 类型,LoadRunner中较有用的一个参数化类型
Date, LoadRunner, 参数, 类型, Time
在使用LoadRunner进行性能测试时,有时候会遇到一种参数值唯一性要求十分严格的情况,就是不但在同一次测试过程中,要保证所输入的参数值不能重复,而且每一次测试,参数值也不能使用之前使用过的值。可是我们知道,性能测试往往是要多次重复地执行,要么是执行过程中出现一些异常情况,不得不多次重复,要么是对系统进行了优化调整后的回归测试。在这种情况下,如果我们只单纯地使用unique number或者文件类型的unique取值等,都会不可避免地遇到一些麻烦。
  这个时候Date/Time参数也许就可以派上用场了。采用%H%M%S的类型,相当于在脚本中加上一个时间戳,对于该参数值,每一次执行脚本时,LoadRunner都会自动获取系统的当前时间。如果再和其它类型的参数值结合起来使用,比如unique number或文件类型参数,那么参数值重复的机率就大大降低了。
  举个例子来说,如果我们需要将一个18位的证件号码做成唯一型的参数(假设该号码没有格式要求),那么我们可以将前面6位数字设置成Date/Time参数,假设参数名为Time,后12位数字设置成unique number参数,假设参数名为Certno,将二者结合起来使用,那么在脚本中需要输入证件号码的地方,参数值就用{Time}{Certno}组合起来。这样在多次执行脚本的时候,该参数值基本上就不会出现重复的情况了。
  Date/Time参数还有很多种格式,如加上日期等,还可以自己添加格式,大家可以根据需要灵活使用。

本文来自: 天天测试交流(http://www.365testing.com/bbs/) 详细文章参考:http://www.365testing.com/bbs/thread-7507-1-1.html
作者: julioguo    时间: 2010-6-18 10:07
在Loadrunner录制脚本及执行的过程中,经常会用到变量参数化来进行一些不同组合及唯一性值的设定,对于Loadrunner参数化的文章也很多,在此也不在繁述,今天我们就探讨下如何更高效的进行Loadrunner参数化,以更好的提高工作效率。


         很多人在接触参数化时,都多少有这这样的困扰:我的参数化设置执行结果和我预期的结果有很大区别!在很多系统中对数据唯一性要求很高的话,我们会经常碰到这样的情形:我的脚本成功执行完毕,但是到后台一查数据却发现,数据没有执行进入系统,这样的测试案例根本无法对系统性能进行评估。


首先我们先看一下再Loadrunner参数管理器中的2个设定项select next row和update value on,很多朋友在刚开始接触参数化时会对这2个设定项产生混淆,我们可以从2个特定的维度和覆盖角度进行理解:


Select next row 是针对于所有vu的取值方式进行限定的,此指标是针对于全局的

Update value on是针对每一个用户每一次循环过程中如何更新值进行限定的


根据上面的定义,我们来逐个对这2个设定项内的选项进行说明

Select next row

         Sequential:所用用户分配相同参数,以顺序方式进行分配

         Random:所有用户分配随机参数,以随机方式进行分配

         Unique:所有的用户分配不同参数,以顺序方式进行分配

Update next row

Each iteration:当前循环内值不变

Each occurrence:当前循环内只要触发就进行值的更新

Once:执行过程中不更新(即在脚本执行前进行取值,然后在执行过程中均取该值)


然后我们就可以根据这样的句式来理解参数分配的方式:当脚本开始时,为< --select next row -- >,在< -update next row -- >。通过这样的方式对在执行过程中参数分配方式可以有更直观的理解;


下面我对以上的选项做一个排列组合,供大家参考


Sequential
Random
Unique

Each iteration
所有vu均取参数列表的第一行,在循环结束后取第二行
所有vu随机选取参数列表内参数,在循环结束后取第二个随机数
所有vu按顺序取不同值,在循环结束后取下一个未被使用的值

Each occurrence
所有vu均取参数列表的第一行,在当第二次出现时取第二行值,即使在同一迭代内
所有vu随机选取参数列表内参数,在当第二次出现时取第二个随机数,即使在同一迭代内
所有vu按顺序取不同值,在第二次出现时取下一个未被使用的值,即使在同一迭代内

Once
所有用户取参数列表的第一行,在脚本执行过程中均为该值
所有用户随机选取参数列表内唯一参数,在脚本执行过程中均为该值
所有vu按顺序取不同值,在脚本执行过程中均为该值



在参数设置的过程中,可能会遇到参数列表内数据量小于(VU*循环数)的情况,若可能出现该情况的组合中,参数管理器中会出现when out of value选项,来配置参数用尽后的操作方式,我们可以选择退出vu,从新轮循以及使用最后一个值,根据测试需求设定即可


对于Allocate Vuser values in the Controller选项一般情况下默认选择 Automatically allocate block size即可,若选择手动设定则block size的数量需于脚本循环数对应。


以上对Loadrunner参数化设置进行了说明,现在我们再来看一些在实际使用过程中比较实用的参数设置方式


Iteration Number:返回当前循环次数

UserID:返回当前VU 的ID值

Group Name:返回次脚本在当前场景内Group名称

Load Generator Name:返回脚本执行的测试机名称


在脚本参数化的过程中,以参数的应用对脚本执行回馈有着很大的帮助,在脚本执行完毕后如果需要查询和统计每个VU的参数取值以及执行情况,则这些参数化的使用将使你受益良多。


其次由于以上参数类型具有一定的唯一性,可以通过适当的组合来获得一组有规则可循的唯一值,在后期性能分析过程中的数据分析阶段事半功倍。


例如我们可以用UserID+Iteration Number来确定一个唯一值作为脚本内某些数据的参数使用,则省去了繁琐的数据准备及设置工作并且容易查找;同理,在多脚本或多测试机执行的场景中可以加入Group Name以及Load Generator Name来区分。


上述类型的参数设定均比较简单,根据参数管理器内的提示即可。有一些参数类型可以支持自定义类型,稍微懂一些C的printf的都完全可以理解,再次也不在赘述。


对于本文未涉及到的一些参数类型以及参数化以后的数据汇集我会在以后的Loadrunner教程中与大家探讨,敬请期待!


以上是我对Loadrunner参数化过程中的一些心得及看法,不胜详尽。希望对各位朋友的学习和工作有所帮助。


本文来自CSDN博客,转载请标明出处:
在Loadrunner录制脚本及执行的过程中,经常会用到变量参数化来进行一些不同组合及唯一性值的设定,对于Loadrunner参数化的文章也很多,在此也不在繁述,今天我们就探讨下如何更高效的进行Loadrunner参数化,以更好的提高工作效率。


         很多人在接触参数化时,都多少有这这样的困扰:我的参数化设置执行结果和我预期的结果有很大区别!在很多系统中对数据唯一性要求很高的话,我们会经常碰到这样的情形:我的脚本成功执行完毕,但是到后台一查数据却发现,数据没有执行进入系统,这样的测试案例根本无法对系统性能进行评估。


首先我们先看一下再Loadrunner参数管理器中的2个设定项select next row和update value on,很多朋友在刚开始接触参数化时会对这2个设定项产生混淆,我们可以从2个特定的维度和覆盖角度进行理解:


Select next row 是针对于所有vu的取值方式进行限定的,此指标是针对于全局的

Update value on是针对每一个用户每一次循环过程中如何更新值进行限定的


根据上面的定义,我们来逐个对这2个设定项内的选项进行说明

Select next row

         Sequential:所用用户分配相同参数,以顺序方式进行分配

         Random:所有用户分配随机参数,以随机方式进行分配

         Unique:所有的用户分配不同参数,以顺序方式进行分配

Update next row

Each iteration:当前循环内值不变

Each occurrence:当前循环内只要触发就进行值的更新

Once:执行过程中不更新(即在脚本执行前进行取值,然后在执行过程中均取该值)


然后我们就可以根据这样的句式来理解参数分配的方式:当脚本开始时,为< --select next row -- >,在< -update next row -- >。通过这样的方式对在执行过程中参数分配方式可以有更直观的理解;


下面我对以上的选项做一个排列组合,供大家参考


Sequential
Random
Unique

Each iteration
所有vu均取参数列表的第一行,在循环结束后取第二行
所有vu随机选取参数列表内参数,在循环结束后取第二个随机数
所有vu按顺序取不同值,在循环结束后取下一个未被使用的值

Each occurrence
所有vu均取参数列表的第一行,在当第二次出现时取第二行值,即使在同一迭代内
所有vu随机选取参数列表内参数,在当第二次出现时取第二个随机数,即使在同一迭代内
所有vu按顺序取不同值,在第二次出现时取下一个未被使用的值,即使在同一迭代内

Once
所有用户取参数列表的第一行,在脚本执行过程中均为该值
所有用户随机选取参数列表内唯一参数,在脚本执行过程中均为该值
所有vu按顺序取不同值,在脚本执行过程中均为该值



在参数设置的过程中,可能会遇到参数列表内数据量小于(VU*循环数)的情况,若可能出现该情况的组合中,参数管理器中会出现when out of value选项,来配置参数用尽后的操作方式,我们可以选择退出vu,从新轮循以及使用最后一个值,根据测试需求设定即可


对于Allocate Vuser values in the Controller选项一般情况下默认选择 Automatically allocate block size即可,若选择手动设定则block size的数量需于脚本循环数对应。


以上对Loadrunner参数化设置进行了说明,现在我们再来看一些在实际使用过程中比较实用的参数设置方式


Iteration Number:返回当前循环次数

UserID:返回当前VU 的ID值

Group Name:返回次脚本在当前场景内Group名称

Load Generator Name:返回脚本执行的测试机名称


在脚本参数化的过程中,以参数的应用对脚本执行回馈有着很大的帮助,在脚本执行完毕后如果需要查询和统计每个VU的参数取值以及执行情况,则这些参数化的使用将使你受益良多。


其次由于以上参数类型具有一定的唯一性,可以通过适当的组合来获得一组有规则可循的唯一值,在后期性能分析过程中的数据分析阶段事半功倍。


例如我们可以用UserID+Iteration Number来确定一个唯一值作为脚本内某些数据的参数使用,则省去了繁琐的数据准备及设置工作并且容易查找;同理,在多脚本或多测试机执行的场景中可以加入Group Name以及Load Generator Name来区分。


上述类型的参数设定均比较简单,根据参数管理器内的提示即可。有一些参数类型可以支持自定义类型,稍微懂一些C的printf的都完全可以理解,再次也不在赘述。


对于本文未涉及到的一些参数类型以及参数化以后的数据汇集我会在以后的Loadrunner教程中与大家探讨,敬请期待!


以上是我对Loadrunner参数化过程中的一些心得及看法,不胜详尽。希望对各位朋友的学习和工作有所帮助。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pipi99/archive/2010/03/08/5358415.aspx
作者: PPP777    时间: 2010-6-18 11:24
标题: 谢谢分享!
谢谢分享,很不错的收集!
作者: tiancaim    时间: 2010-6-18 14:46
很有用的文章,谢谢分享
作者: 森林一木    时间: 2010-6-18 15:56
参数化学习,还是需要自己动手练习的。
创建一个参数{test},用下面两句多练习,找规律,光看资料是不够的
lr_output_message("第一次取值:%s",lr_eval_string("{test}"));
lr_output_message("第二次取值:%s",lr_eval_string("{test}"));

脚本生成器中试试,再到场景中试试,可以用2*2的方式。
作者: julioguo    时间: 2010-6-18 16:21
标题: 回复 6# 的帖子
多谢LS的宝贵的意见 ,
作者: yakabao    时间: 2012-8-8 09:23
请问 如何找到这个关于参数化解释的帮助文档呢?谢谢楼主
作者: dujun    时间: 2012-8-8 10:43
好好学习 呵呵
作者: Talia2010    时间: 2012-11-15 09:27
赞一个




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