51Testing软件测试论坛

标题: 想问下那个50次的迭代,跟50个并发有什么 区别呀 [打印本页]

作者: qq675508756    时间: 2011-11-12 17:59
标题: 想问下那个50次的迭代,跟50个并发有什么 区别呀
我开始学lr
弄的有点不明白..迭代跟并发有什么区别...

还有现在我想测1000个用户的同时在线 ,50个用户并发

不明白的是我1000个用户同时在线.. 是不是我在参数化时,就必须参数化1000个用户名和对应的密码...

假如我并发创建这个动作(那我在录制脚本的时候 ,我把一个用户的登录放在 init里面。把创建的动作放在action中... end的里面放的是用户退出的..)
那我现在测50个用户并发。  我把action中的创建名参数化了50个.. init里面的用户我没有去做参数化... 这样的参数化是正确的吗???
作者: thirfing    时间: 2011-11-12 21:08
迭代与并发完全不同两个概念。跌代指单个脚本运行次数,并发指同时执行某一操作的(虚拟)用户数。
作者: msnshow    时间: 2011-11-12 22:16
楼主得好好看看文档了
作者: wangyanzhao    时间: 2011-11-13 00:15
50次的迭代 就是脚本跑50次;但并发50个用户 跑1小时 那压力也是比较大的;
作者: qq675508756    时间: 2011-11-13 09:59
本帖最后由 qq675508756 于 2011-11-13 10:05 编辑
楼主得好好看看文档了
msnshow 发表于 2011-11-12 22:16



      ...是的我现在就在慢慢看....
但是现以急呀!!我们已经没时间在测了....
现在我就是想弄清楚 50次迭代...把用户登录放在init里面 。把 创建放在 action里面..这种思路是正确的吗??
作者: msnshow    时间: 2011-11-13 10:37
你把登陆放在init里面,那只会有50个用户在线的
作者: thirfing    时间: 2011-11-13 18:34
实际是登陆一次,然后创建操作执行50次。
作者: wanghuanw    时间: 2011-11-14 12:41
本帖最后由 wanghuanw 于 2011-11-14 12:42 编辑

回复 1# qq675508756

问题一:迭代指的是你Action进行了多少次操作(init和end只会执行一次),而并发指的是你一次并发的(虚拟)用户数;

问题二:1000用户名和对应的密码,理论上是和你所说的一样参数化1000个用户名和对应密码并且你的参数(用户名和密码)要设置成(唯一/一次),此问题只是个人建议 不一定对 你可以问一下其他的站友;

问题三:50个用户并发,init里没有参数化肯定是不行的,按你所说的思路:其结果是一个人登录进行了50次的操作,你所有的记录都是保存到登录时的账户上,建议你参数化50个用户并设置参数(唯一/一次)这样你在Load Runner里录制时就可以模拟50个用户,且所使用的用户名不会重复。
作者: 零测试    时间: 2011-11-14 12:48
迭代:是指一个脚本(即一个用户)重复跑很多次,就像一个人吃一大锅饭,要一顿一顿慢慢吃才能把一大锅饭吃完,这就叫迭代。迭代压力不大,所以一大锅饭要花很多时间去吃。
并发:是指多脚本(即多个用户)一起跑一次,就像一群人吃一大锅饭,一顿就可以把一大锅饭吃完,这就叫并发。并发的压力很大,所以一大锅饭花一点点时间就可以吃完。
作者: 零测试    时间: 2011-11-14 12:53
好像解释的不好。重新解释一次。
迭代:一个人使用自己的帐号密码在2011年11月14日12:50登录51testing进行访问一次,然后在这之后每次都退出51testing又重新登录,重复很多次,就叫迭代
并发:很多人使用各自的帐号密码在2011年11月14日12:50登录51testing进行访问,每个人只做一次,但是大家一起在同一时间做,这就叫并发。
作者: 零测试    时间: 2011-11-14 13:06
楼主,你是不是测试1000个用户同时在线,同时测试50个并发用户在创建?还是你自己在用一个用户造数据哦?
如果是你在使用一个用户在造数据的话,那么用你的方法:
"把用户登录放在init里面 。把 创建放在 action里面..这种思路是正确的吗"
是完全可以的。
如果你是测试50个并发用户在创建,那么用你的方法就是错误的了。
你可以把50个用户都放在一个Login的action中,然后把50个用户要创建的放在Create的action中,然后在Create这个action之前设置一个集合点rendezvous,让50个登录进来的用户都在创建操作之前集合,50个用户都达到这个点之后,一起并发执行创建操作。
具体做法:
1、在Virtual user Generator中录制一段登录和创建的脚本
2、把登录操作录制到Login的action中
3、把创建操作录制到Create的action中(记得在创建之前设置一个集合点rendzvous)
4、在Login中参数化登录名和密码(要达到50个哦)
5、在Create中参数化要创建的信息(如果该创建可以同名,那么可以不用参数化,毕竟你是测试50个用户同时并发创建的功能)
6、设置run-time settings运行50次
6、把该脚本放到controller中
7、在Edit Schedule中Duration中设置run unitl completion,点击run
8、现在应该可以查看结果了。
作者: feng小猫    时间: 2011-11-14 16:13
迭代与并发,楼上已经说的很清楚了,感觉楼主有点混淆并发用户与在线用户的概念。
在线用户,在不同的系统中不同的实现,很多网站都是靠session维持在线,如果session存在cookie,那非常简单,几乎不占用什么CPU资源。
并发用户是多个用户同时向服务器发出请求,是真刀真枪的要服务器干活的。
不是一个概念。
作者: 真实的追求者    时间: 2011-11-14 17:40

作者: lydia58    时间: 2011-11-15 10:23
不太懂在学习中
作者: 零测试    时间: 2011-11-15 12:58
回复 12# feng小猫


    感谢感谢!指出我的错误!非常感谢
   session和cookie方面维持用户在线这些概念,还是欠缺点。你是否可以讲详细点!
作者: janice_0113    时间: 2011-11-15 13:19

作者: 51testingnet    时间: 2011-11-17 18:46
回复 11# 零测试


    请问一下,如果是把登录的操作放在init中,把操作放在Action中,如果要模拟1000个用户去点击某个链接,还需要设置1000个用户名和密码么?
作者: 零测试    时间: 2011-11-17 19:16
回复 17# 51testingnet


    你把登录操作放在init里面,要分两种情况:
   第一种:该系统,同一个用户可以登录多次,那么,你完全可以不用设置1000个用户名和密码,就可以通过controller设置完成1000个用户的性能测试;
   第二种:该系统,同一个用户只可以登录一次,如果第二个相同的用户名登录,那么第一次的登录就自动取消了,对于这样的系统,你把登录放在init,我认为是无法实现1000个用户的性能测试的。
    我公司里现在做的这个项目就是一个用户名只能登录一次,譬如说一个人甲用admin登录之后,如果还有另外一个人乙使用admin用户登录,那么甲就没法使用该系统的功能了。
作者: qq675508756    时间: 2011-11-20 23:29
回复 11# 零测试


    非常感谢!!现在我好像明白一点了....
谢谢!!!
作者: qq675508756    时间: 2011-11-20 23:29
本帖最后由 qq675508756 于 2011-11-20 23:38 编辑

回复 11# 零测试

你把登录操作放在init里面,要分两种情况:
第一种:该系统,同一个用户可以登录多次,那么,你完全可以不用设置1000个用户名和密码,就可以通过controller设置完成1000个用户的性能测试;
第二种:该系统,同一个用户只可以登录一次,如果第二个相同的用户名登录,那么第一次的登录就自动取消了,对于这样的系统,你把登录放在init,我认为是无法实现1000个用户的性能测试的。
我公司里现在做的这个项目就是一个用户名只能登录一次,譬如说一个人甲用admin登录之后,如果还有另外一个人乙使用admin用户登录,那么甲就没法使用该系统的功能了。


像你说的这种情况 ,目前我们的是一个用户可以登录多次,但是我们的session中设置了超时(例如:我第一个用户aa 用IE浏览器登录,当我第二个用户bb再用IE浏览器登录。那么些时只要bb一登录那么我的aa用户就会自动告诉你登录超时,请重新登录) 像这样的话,我要测50个用户对创建的并发(前提是我把登录和创建都放在action中,并且把用户名和密码都,创建中用到的名称我都做参数化了)此是会达到那个并发的效果吗??
作者: chronojly    时间: 2011-11-21 10:07
1000个用户同时在线,50个用户并发
想来就是在controller里设置最大用户为1000,然后每多少秒(根据你的需要)登录50个,这样来做压力测试
用户的参数化和登录操作都放在action里完成,还需要在ACTION里设置集合点




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