aihuatesting 发表于 2009-1-19 19:23:39

个人对loadrunner的几点疑问,望各位指点!

我现在用loadrunner9.10做c/s系统结构的测试,选择winsocket协议脚本,录制成功,绝大多数回放也成功。但在测试过程中有几点疑问:希望大家指导!
1,假设我做这个测试,模拟100个vuser运行,是否在我所测系统中产生100个的用户操作信息。如:我先录制了一个用户新建一条信息的过程,然后参数化,如果运行100个vuser成功的话,在我的系统中就会有100个新建的信息吗?可否在后台数据库中查询到这一些新建的信息。(我曾经试了很多次运行,但是并没有看到很多条新建的信息。但是我用web(HTTP)协议录制了网易邮箱发送信息的过程,回放一次,在邮箱中却会收到多条信息,运行多个脚本也会收到多条邮件信息,照这样的话,我做的c/s结构的这个软件也会在后台产生多条的"新建"信息才对啊!!!)

2,之前用过loadrunner8.0的版本,在录制action操作过程的时候,如果我不想迭代的话,除了可以在“运行时设置”框中选择迭代的次数是1外,还可以在'duration'中选择“Run until completion”迭代一次的设置。现在是loadrunner9.10版本的,'duration'设置不能为0,也没有其他选项了,这样的话,我如果想让vuser不迭代,怎样设置呢?难道只能录制脚本的时候用vuser_init吗?(因为vuser_init是不能迭代的)!!!

3,我现在测试的软件,运行的时候,如果设置了迭代,运行就会出现问题,如迭代2次的时候,会出现“Done.Failed 2 iteration(s) attempted: 1 succceeded..”的情况,而我设置不迭代的时候(录制脚本的时候选择vuser_init录制),运行多个vuser基本是成功的,没有failed Transactions出现,这是什么原因造成的呢??

4,当运行脚本,Transactions都显示成功的时候,在Scenario Groups中,Passed是0,而全都显示在“Stopped”中,正常吗?因为我有点疑惑,这里的stopped是什么意思?是没有vuser都成功完成了脚本吗?还是说是在设置的duration持续时间到了,然后停止了呢?如果是这样的话,那么如果某个脚本在执行一般的时候,因为整个过程都是执行的很慢的,而至设置的duration都到了,所以停止了,这种情况也是在stopped吗?如果这样的话,也只能证明某个脚本执行前部分的时候是ok的,但是这里的stop数并不代表vuser成功执行了整个录制脚本过程啊!!这种情况应该怎样设置运行场景好呢?一迭代就出现问题!!!!


急求!!!!

aihuatesting 发表于 2009-1-20 08:52:33

个人对loadrunner的几点疑问,望各位指点!

自己顶一下

archonwang 发表于 2009-1-20 10:06:12

1,假设我做这个测试,模拟100个vuser运行,是否在我所测系统中产生100个的用户操作信息。如:我先录制了一个用户新建一条信息的过程,然后参数化,如果运行100个vuser成功的话,在我的系统中就会有100个新建的信息吗?可否在后台数据库中查询到这一些新建的信息。(我曾经试了很多次运行,但是并没有看到很多条新建的信息。但是我用web(HTTP)协议录制了网易邮箱发送信息的过程,回放一次,在邮箱中却会收到多条信息,运行多个脚本也会收到多条邮件信息,照这样的话,我做的c/s结构的这个软件也会在后台产生多条的"新建"信息才对啊!!!)

应该是的。但是如果你的程序逻辑中含有一定的条件的话,结果就未必了。另外,从应用层到最终的数据库底层,可能需要一定的时间才能完成所有的数据插入。所以,针对数据库测试的时候,一般都会使用数据库相关的协议进行测试。至于查询,当然可以做到——还是和上面一样,需要检测应用的逻辑,同时要注意发送的请求是否都可以到达数据库并进行处理。

2,之前用过loadrunner8.0的版本,在录制action操作过程的时候,如果我不想迭代的话,除了可以在“运行时设置”框中选择迭代的次数是 1外,还可以在'duration'中选择“Run until completion”迭代一次的设置。现在是loadrunner9.10版本的,'duration'设置不能为0,也没有其他选项了,这样的话,我如果想让vuser不迭代,怎样设置呢?难道只能录制脚本的时候用vuser_init吗?(因为vuser_init是不能迭代的)!!!

更改下run module即可看到run until completion了

3,我现在测试的软件,运行的时候,如果设置了迭代,运行就会出现问题,如迭代2次的时候,会出现“Done.Failed 2 iteration(s) attempted: 1 succceeded..”的情况,而我设置不迭代的时候(录制脚本的时候选择vuser_init录制),运行多个vuser基本是成功的,没有 failed Transactions出现,这是什么原因造成的呢??

检测程序逻辑和处理序列。这个不一定是lr的问题,请直接问开发人员系统的逻辑处理序列和相关业务限制。

4,当运行脚本,Transactions都显示成功的时候,在Scenario Groups中,Passed是0,而全都显示在“Stopped”中,正常吗?因为我有点疑惑,这里的stopped是什么意思?是没有vuser都成功完成了脚本吗?还是说是在设置的duration持续时间到了,然后停止了呢?如果是这样的话,那么如果某个脚本在执行一般的时候,因为整个过程都是执行的很慢的,而至设置的duration都到了,所以停止了,这种情况也是在stopped吗?如果这样的话,也只能证明某个脚本执行前部分的时候是ok 的,但是这里的stop数并不代表vuser成功执行了整个录制脚本过程啊!!这种情况应该怎样设置运行场景好呢?一迭代就出现问题!!!!

感觉你的场景设置存在问题,stopped是因为没有时间来运行或是运行时间已到,而配置中要求立即停止或超时停止的标识。性能测试与功能测试的差异是不考虑系统的前后是否执行正确了,而是基于功能正确的前提下,施予压力。建议你延长duration的时间,合理分配施压的间隔。在迭代问题上,需要确认系统的各项业务规则,防止所出现的问题是在程序逻辑奔上和对业务的了解不够深入造成的。如果是这样,请更改你的脚本执行方式并做适当的参数化。

aihuatesting 发表于 2009-1-20 12:17:32

个人对loadrunner的几点疑问,望各位指点!

太感谢了!!很好!

aihuatesting 发表于 2009-1-20 12:39:51

在哪里更改run module?没找到run module,我用的是loadrunner9.10

zhangxinnow 发表于 2009-1-21 17:05:45

3,我现在测试的软件,运行的时候,如果设置了迭代,运行就会出现问题,如迭代2次的时候,会出现“Done.Failed 2 iteration(s) attempted: 1 succceeded..”的情况,而我设置不迭代的时候(录制脚本的时候选择vuser_init录制),运行多个vuser基本是成功的,没有 failed Transactions出现,这是什么原因造成的呢??
第2次迭代用的是第一次的参数信息,其中应该包括主键,主键是唯一的,所以系统应该会提示重复让重新输入,导致第二次迭代不成功。
页: [1]
查看完整版本: 个人对loadrunner的几点疑问,望各位指点!