51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 如何设计不同用户登录后对某一功能点的并发问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-6-29 15:46:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
不同用户登录系统后,在“生成订单”时同时并发,现在的程序设计是同一用户不能在“生成订单”时并发,必须是不同用户到达“生成订单”时才能并发。
假设要模拟要10个真实用户在“生成订单”时同时并发,这个脚本和场景该如何实现

我的问题:从登录开始到生成订单前的操作是放在init里,还是放在“生成订单”的同一个Action里?
1)如果放在init里的话,那这段脚本只执行一次,也就是说实际上只有一个真实用户登录进来了,虽然我用了for循环,但是并没有循环,编译时也没发生错误;
2)如果放在Action里的话,在场景运行过程中,可以看到每一个虚拟用户是对那10个真实用户不断跌代的。

所以我怀疑这个需求能否用LR实现,论坛里如有人知道如何设计这个脚本和场景的话,恳请指教!!!!

我在初始化里使用的循环结构
int i;
Vuser_init{
for(i=0;i<10;i++){
.......
.......
}
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

11#
发表于 2010-7-22 23:29:42 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2010-6-30 23:22:46 | 只看该作者

回复 8# 的帖子

你一个用户就用了9秒钟,这个时间不正常,一般来说3秒钟,你的事务里是不是有think time没有注销掉,你的服务器环境蛮好的呀,要不你把你的脚本放上来看看。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2010-6-30 23:16:42 | 只看该作者

回复 7# 的帖子

init只运行一次,即使参数化了,也只取了一个参数值,这个用户是真实用户,场景里设置的是虚拟用户,这两者不能混为一团
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-6-30 16:07:13 | 只看该作者
lz,能说说你服务器和负载机的配置吗?你测试登陆的响应时间是多少?
我不论测试什么程序,1个用户响应时间正常,10个并发就很慢了,不知到为什么,所有想看看你的测试结果如何?

测试环境:
1、CPU: Pentium Dual-Core CPU E5300 2.6GHz
      内存:4GB
2、windows 2003 server,oracle 10g
3、应用程序和数据库在一起

测试场景:
1、录制登陆操作,计算输入用户名和密码后,从点击登陆到首页完全显示所花费的时间
2、先测试用1个用户的情况,用了9秒;然后用5个用户并发,设置运行完就结束,用了20秒
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-6-30 16:00:26 | 只看该作者
如果把登陆放在init里,然后参数化,设置10个用户并发,不是10个用户同时登陆吗?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-6-30 15:59:48 | 只看该作者
补充一下,我之所以用unique + each occurrence + continue with last value + allocat 1 values for each other组合,是因为我的参数列表里的参数个数大于10,否则没有意义
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-6-30 15:48:57 | 只看该作者
谢谢楼上几位的支持与关注,我试了下,用unique + once是可以的,另外用unique + each occurrence + continue with last value + allocat 1 values for each other也可以。其它组合方式都不行。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-6-29 17:29:41 | 只看该作者
同意2楼
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-6-29 17:03:55 | 只看该作者
放Action
参数化,unique,once
集合点
楼上用Once可以让一个虚拟用户多次循环时使用同样的用户名
但Sequential解决不了多个虚拟用户使用同样用户名的问题
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2010-6-29 16:20:41 | 只看该作者

回复 1# 的帖子

放在action里面,然后将登陆用户账号参数化,参数化属性设置为:Sequential    once,场景控制中设置10个Vuser,调整一下设置。个人觉得可以在该功能点前设置一集合点,我也刚使用LR没多久,希望可以互相学习!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-22 23:40 , Processed in 0.073238 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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