性能测试工具Loadrunner使用之一(Virtual User Generato)学习笔记

1.如何设置参数规则?

数据类型:(1)Date/Time:在需要输入日期、时间的地方,可以用Date/Time来代替,可以选择日期格式,也可进行定制。

     (2)Group Name:该类型的参数用执行脚本的VU所属组的名称来替代。但是在VuGen中运行时,该值为None。

     (3)LoadGenerator Name:LoadRunner使用该虚拟用户所在的Load Generator机器名来代替参数。

     (4)Iteration Number:LoadRunner使用该测试脚本当前循环的次数来代替参数

     (5)Random Number:随机数,可以设置产生随机数的范围

     (6)Unique Number:唯一值来代替参数

     (7)Vuser ID:LoadRunner使用该虚拟用户的ID来代替参数值,该ID是由Controller来控制的,在VuGen中运行脚本时,该值为-1.

     (8)DataFile/Table:可以在属性设置中编辑文件,添加内容,也可以从数据库中提取数据。

     (9)UseDefinedFunction:从dll的简单函数中获取信息替代参数

【注意】对于参数类型为File/Table的数据文件: 

1. 在参数数据显示区中,最多只显示前100条数据,之后的不显示,但不影响正常取数据。

2. 在记事本中编辑参数数据时,数据文件一定要以一个空行结束,否则,最后一行输入的数据不会被参数所使用。

对于参数类型为File/Table的参数的更新方式:

Update Value on

(更新方法)

Select next row

(数据分配方法)

Sequential顺序

Random随机

Unique唯一

Each Iteration(每次迭代)

对于每次迭代,Vuser会从数据表中提取下一个值

对于每次迭代,Vuser会从数据表中提取新的随机值。

对于每次迭代,Vuser会从数据表中提取下一个唯一值。

Each Occurrence(每次出现)

参数每次出现时,Vuser将从数据表中提取下一个值,即使在同一迭代中。

参数每次出现时,Vuser将从数据表中提取新的随机值,即使在同一迭代中。

参数每次出现时,Vuser将从数据表中提取新的唯一值,即使在同一迭代中。

Once(一次)

对于每一个Vuser,第一次迭代中分配的值,将用于所有后续的迭代。

第一次迭代中分配的随机值将用于该Vuser的所有迭代。

第一次迭代中分配的唯一值将用于所有的后续迭代。

 

 

举例:

假设某参数有1.2.3.4.5.6.7.8.9.10这10个备选值,
场景设置为运行3个Vuser,
迭代次数为2,

怎样取下一行数据? 
Sequential:顺序,所有虚拟用户按照顺序读取数据表 
Random:随机,所有虚拟用户随机形式读取数据表 
Unique:唯一,所有虚拟用户每次各取一值(不重复)
什么时候访问数据表完成数据更新? 
Each iteration:每次迭代以后 
Each occurrence:每次出现参数 
Once:每出现一个虚拟用户

实例: 

现对不同搭配做比较: 
Sequential+ Each iteration:这种方式最常用,表示每个Vuser都是顺序取值,每次迭代更新。
运行后取值如下:
Vuser1: 1,2
Vuser2: 1,2
Vuser3: 1,2

Unique+ Each iteration:这种方式表示表示每个Vuser每次迭代取值不同,
运行后取值如下:
Vuser1: 1,2
Vuser2: 3,4
Vuser3: 5,6

 

Unique+Once:表示每个Vuser彼此之间各不相同,但是每个Vuser在每次迭代中值保持不变。在测试存款性能的时候,由于在实际业务中不存在两个人同时向同一个账户存钱的可能,所以对存款账号的参数化就可以采用这种方式,保证不同的用户操作不同的账号,不会在一个账号上有并发产生,
运行后取值如下:
Vuser1: 1,1
Vuser: 2,2
Vuser3: 3,3


Unique+Once:表示每个Vuser彼此之间各不相同,但是每个Vuser在每次迭代中值保持不变。在测试存款性能的时候,由于在实际业务中不存在两个人同时向同一个账户存钱的可能,所以对存款账号的参数化就可以采用这种方式,保证不同的用户操作不同的账号,不会在一个账号上有并发产生,
运行后取值如下:
Vuser1: 1,1
Vuser: 2,2
Vuser3: 3,3

 
 

原文地址:http://www.cnblogs.com/qmfsun/p/4491457.html

2.什么是迭代?为什么要设置action的迭代次数?以及对于不同的应用系统应该怎样设置迭代次数呢?

答:录制脚本时只会有1个虚拟用户,1个虚拟用户可以有多次 迭代,也就是 重复执行 Action里面的内容,在场景设置的时候,如果在runtime-setting的Run Logic里面设置为10,那就是1个虚拟用户 迭代 10次,并且要求你设置的场景Duration的类型为Run until Completion 时,这个设置才会起作用,如果Duration的类型是Run for <时间>, 这个意思就是1个用户在这段时间内不停执行Action里面的操作;

性能测试是模拟系统一段时间内真实的压力情况,以考察系统的性能。怎么模拟系统真实的压力情况?比如在半个小时内,用户都在进行登录操作,且平均分布在这半个小时内。我们要做的是什么?模拟这半个小时用户的行为。怎么模拟?估算出同时操作的人数,并用LoadRunner不断的发送登录请求,这就是我们为什么要迭代;

至于迭代次数,只要能够模拟出真实情况,多少次都无所谓,不过10次8次估计是模拟不出来。迭代次数至少要保证压力达到一个稳定值后再运行一段时间,这样我们得到的数据才是有效的。所以我们除非是特别要求,一般不用迭代次数,而是用运行时间。

3.什么是并发?并发与迭代的区别?

答:某个脚本设置的vuser值, 可以理解为这个业务场景的并发用户数,但如果要测试具体某个业务的并发操作, 那就需要设置集合点, 而且集合点数目不能大于vuser值;迭代就是不停的反复调用同一脚本,反复执行,注意,对1个用户执行10次来说,只会分配一块内存。10个用户执行一次,是调用同一脚本10次,会分配10块内存。LR调用脚本,编译后,运行,按脚本发送数据。

迭代跟虚拟用户数没什么必然联系

迭代是这样的:

    迭代1次    迭代2次    迭代3次

用户1   X1        X2      X3

用户2   Y1       Y2       Y3

其中的X1-3 Y1-3是参数,参数规则就如上面说的

这么两个用户是根据你的rump up 上来的,比如5秒上两个用户,那么用户1和2就在5秒之内加载进来的。迭代次数只是对你设置了迭代次数的action进行迭代,而用户数可以理解为对整个录制过程的迭代(只是各个用户不同)而且增加并发量可以通过增加用户来达到,还可以设置集合点来增加某个操作的并发量。

 

假如一个脚本,设置最大并发量为10,每5秒中增加2个并发用户,而Action设置的迭代为10次:

当开始至2秒时,加载了2个用户,这2个用户分别开始运行,并都运行10次,不管这个2个用户运行10次是否结束,当下一个2两秒到来时,即开始至第4秒时又加载了2个用户,这2个又运行10次;就这样一直加载到10个并发用户,然后当每个用户都运行完10次时就结束。这样中间最大并发是10个,但不一定能达到10个,因为在加载最后几个时,前面的有可能已经运行结束,所以如果要真正达到最大并发10就必须设置集合点来完成。不过也不一定非要设置集合点才能实现同时处在running的状态有10个用户。设置duration也是可以的。不过那就不只每个用户运行10次了。如果想实现用户迭代10次,并且想同时running为10个用户,就应该设置集合点。

3.应用案例展示

测试用例:(1)登录系统;

     (2)预定EN42034次航班机票3张;

     (3)退出登录;

(1)录制脚本:注:如果把所有脚本都录制到一个action里,那回放的时候,每个用户登录就只能买一张票,而如果想一个用户买多张票的话,这样就行不通了。那你就要设多个action,并把登录和结束各录制在一个action里,把买票录到一个action中,这样,将买票的action迭代多次,而用户登录和结束只运行一次)

(2)运行时设置:(注:使用LoadRunner的Block(块)技术,来设置事务循环/迭代次数)

1.打开Run-Time Settings对话框,点击Run Logic,再选中Run

2.点击Inser Block

3.选中Block0,点击Insert Action,在Select Actions中选中Order,点击Ok按钮。

4.选中Block0,点击Properties按钮,设置Block的迭代次数。

5.调整Action运行顺序,是顺序排列为Login→Block0(×3)→Logout。设置Number of Iterations为1。

 

转载于:https://www.cnblogs.com/zynNote/p/6991941.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值