51Testing软件测试论坛

标题: 按百分比运行混合场景 [打印本页]

作者: xiaoxia318205    时间: 2011-2-25 10:22
标题: 按百分比运行混合场景
在loadrunner中如何实现混合业务按不同的比例来运行
例如:
参与本次测试业务有 登录、创建任务、创建日程、创建便签  退出
并发人数:5000

希望实现:50% 人在创建任务
          20% 在创建日程
          10% 在创建便签

请问各位大侠们,我们是把这三个业务录制到不同的action中,还是分别录制成三个脚本呢,如何才能实现按不同的百分比运行呢?
作者: msnshow    时间: 2011-2-25 21:43
不同ACTION中也可以,同一个都行的

当然不同脚本中也OK
作者: caicainiao    时间: 2011-2-26 16:19
还有20%呢?
作者: Fin    时间: 2011-2-27 22:53
楼主您好!
首先纠正两个问题:
1. 业务模型 不等于 用户模型。
     用户模型:是在场景Controller 运行 时配置的用户量 或 用户百分比, 此配比不可用 业务模型替换,两者不是一个等价。
     因为存在一个响应时间的问题比方说 :              业务1 与 业务2 的响应时间不同,
                      业务1响应时间 = 1秒
                      业务2响应时间 = 0.5秒

              业务配比:
                      业务1 = 50%
                      业务2 = 50%

              假设场景1:
                      业务1脚本   设定 10 个用户
                      业务2脚本   设定 10 个用户

              发送策略:  5分钟。

              测试结果:  业务1 执行了【1次/1秒(响应时间) *  300 秒 = 300 次】
                              业务2 执行了【2次/1秒(响应时间) *  300 秒 = 600 次】

              结论: 与业务模型不匹配

              执行后的业务配比反推为:
                        业务1 = 33.3%
                        业务2 = 66.6%


2. (每个业务/每ACTION) 与 (每个业务/每个脚本) 是不同的。

      (每个业务/每ACTION):
           的配比在于 按照 ACTION 循环,脚本每次运行1个ACTION ,相当与按照ACTION的配比串行执行(也就是说这个用户在执行此脚本的业务1时,其他业务都不执行,必须等业务1执行完毕才执行其他ACTION ),与业务模型相同,但是在用户量小的时候不建议用(毕竟是串行,看你目标需求选择策略),如果用户数大,可以用此方法, 可直接套用业务模型。

========================================================================
根据楼主的需求有两个策略可供使用:
      1. 所有业务写在 一个脚本,多ACTION中。可用ACTION 配比业务, 然后用场景执行,用户数就依据你需要而填写。
      2. 业务模型 转换 用户模型
             A. 求出单业务响应时间: 先做单交易基准测试,把每只业务的响应时间测出,
             B. 求出用户模型: 方法【加权平均数】
                 用户模型 业务1 = (业务1占比 * 响应时间)/ (业务1占比*响应时间)+ (业务2占比*响应时间)+(业务3占比*响应时间)+ ...
                 用户模型 业务2 = (业务2占比 * 响应时间)/ (业务1占比*响应时间)+ (业务2占比*响应时间)+(业务3占比*响应时间)+ ...
                 用户模型 业务3=  (业务3占比* 响应时间)/ (业务1占比*响应时间)+ (业务2占比*响应时间)+(业务3占比*响应时间)+ ...
      The END..
作者: xiaoxia318205    时间: 2011-2-28 10:59
很感谢各位的回答,尤其是fin高手。另外我想问一下,如何实现
1. 所有业务写在 一个脚本,多ACTION中。可用ACTION 配比业务, 然后用场景执行,用户数就依据你需要而填写。

这个种将不同业务录制在不同的action中,然后不同的action有不同的用户在执行,如何实现呢?
作者: xiaoxia318205    时间: 2011-2-28 11:13
[attach]71653[/attach]请教各位大侠们,我这种方式可以实现百分比运行吗?
作者: Fin    时间: 2011-2-28 13:37
楼主您好!
按照楼上这样的设置时可以实现百分比运行的。
但是需要把 登陆 退出 放在每个 ACTION 中, 因为这样设置 循环的 只是ACTION 部分, 我们不应该就用 相同账号 执行这些业务, 所以 要在每次业务中嵌入登陆 退出。
作者: dreamfly23    时间: 2011-2-28 14:16
楼主您好!
按照楼上这样的设置时可以实现百分比运行的。
但是需要把 登陆 退出 放在每个 ACTION 中, 因 ...
Fin 发表于 2011-2-28 13:37



    楼上说的实现百分比指的是业务百分比把,比如
   场景运行5分钟
   业务1   40%   (业务1运行2分钟?)
    业务2    60%   (业务1运行3分钟?)
我知道我理解的是否正确?
作者: jj_ljw    时间: 2011-2-28 16:10
完全可以
作者: 逝水流年    时间: 2011-2-28 17:30
回复 4# Fin


    单交易做基准测试,测出业务的响应时间 这个时间和实际测试得到的业务响应时间应该是有一定的差异的吧




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