51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2516|回复: 10
打印 上一主题 下一主题

[原创] 数据参数化后有多条记录重复处理

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-9-1 10:31:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
系统简介:审批系统,数据从一状态处理后从当前列表消失,并进入下一状态。
做法:对数据unid进行参数化,select next row = unique, out of values = continue in a cyclic,每个用户分配1个数据。实际上数据量在200以上,并发50个用户实际需要50条数据即可。
加压运行,lr以及tomcat无异常报错。但是只有不到一半的数据进行正确处理。检查数据,发现有多条数据进行重复处理。但是unid已经是唯一了,搞不懂怎么还会出现这种问题。请教各位该如何解决。谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-9-1 10:54:41 | 只看该作者
没人遇到这种情况么
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-9-2 09:36:00 | 只看该作者
虽然只有50个虚拟用户,但是多次迭代后,还是有可能超过你200个参数的范围取重复的值。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2011-9-9 15:04:20 | 只看该作者
回复 3# thirfing


    只有一次迭代,保证1对1关系,且每次运行之后都会更新参数列表
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-9-14 17:56:55 | 只看该作者
回复 1# zhoward
我想知道你的unid参数在脚本中用过一次?

看一下我的理解。
我感觉是你的脚本中unid参数用过不仅仅一次。
还有你的update value on 是选择的each occurence 吧。
你为每一个用户分配了一个数据,那么当一个用户用过一次unid值时,第二次使用unid值时,会执行out of values策略,即continue in a cyclic,那么会循环使用你分配给用户的值,所以你分配给用户的这一个值 被用了多次。
可以交流,我回去尝试一下
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2011-9-15 10:42:59 | 只看该作者
回复 5# wangyiman2010

我的设置是:
1.    select next row = unique, out of values = continue in a cyclic,update value on = each iteration ,脚本只迭代一次
2. 数据200+,用户50个
3. 每个用户分配1个数据
按照lr的介绍,上面设置得到的效果就是:在每次迭代中每个用户取得1个唯一的值,共耗用50个数据,至于out of values,因为可用数据 大于 用户数*每个用户数据分配值,因此out of valuse没有执行
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.7]测试师长

    7#
    发表于 2011-9-15 13:54:39 | 只看该作者
    问题就出在这   out of values = continue in a cyclic
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2011-9-19 16:08:31 | 只看该作者
    回复 7# msnshow


        1. 只有50个用户
        2. 只有1次迭代
        3. 200以上条数据
    理论上只用到50条数据而已,out of values根本就不会执行,怎么跟out of values有关.....................................
    如果真有关的话,请教下解决方案,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2011-9-21 16:02:52 | 只看该作者
    回复 6# zhoward
    如果你在场景中设置的是run until complete,那么每个用户脚本会只运行一次。那么每一个用户只用一个数据,则不会执行out of values。
    如果是是duration 设置了几分钟,那么有的用户可能脚本运行多次。那么会执行out of values,
    你可以查看用户日志的。根据日志信息查看每一个用户用了几次参数的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2011-9-21 18:37:59 | 只看该作者
    你运行了多长时间?虽然只迭代一次,但是只要你规定了运行时间,或者让它一直运行,那么会按你规定的时间来运行了,估计数据量不够大。
    select next row = unique, update value on = each iteration 这个是你的设定?你让它每次迭代取唯一值,而不是每次出现取唯一值。那么相同迭代中,会重复的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2011-9-29 15:53:44 | 只看该作者
    回复 9# wangyiman2010


       原来是漏掉了场景设计部分,设置确实是run until complete,理论上讲就是一个用户一个数据的关系,但实际上不是。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 14:16 , Processed in 0.079722 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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