51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3745|回复: 4
打印 上一主题 下一主题

[Robot] 利用Robot进行在线数测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-5-9 12:09:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测试目的:测试服务程序支持的最大的用户在线数
说明:这里所说的在线数不是并发数,这种方法的优点是可以使用尽可能少的硬件资源来完成测试。

以使用socket协议的C/S架构的系统说明测试方法:
VU脚本:
     /*
      ->-> Session File Information <-<-
       Created: Fri Jul 18 14:28:01 2003
          Name: F:\ttt\TestDatastore\DefaultTestScriptDatastore\TMS_Sessions\123.wch
          Type: Rational Robot - API
                (with Winsock1 Data)
*/

#include <VU.h>
{

push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */
push Think_def = "LR";
Min_tmout = 120000;       /* Set minimum Timeout_val to 2 minutes          */
push Timeout_val = Min_tmout;

SERVER = sock_connect("123001", "SERVER:2000");

{ INFO SERVER "SERVER"="192.168.1.12"; } /*1*/

set Server_connection = SERVER;

push Think_avg = 0;

sock_send
    "`45645651300000000001cc00f701000002000000c3330100000000000000000001000000"
    "00000000000sdgsdfgfhjghjjdfhjhkjgfhjgfjjk000000000000hh0000000000000000000000"
    "000000000000000000000000000000000000000000000100`g2222`0012313546545465431"
    "`45641313000000000000000000000000000000000000`";


sock_nrecv ["123002"] 200;

sock_send
    "`1321321656548745215599154654456546122132112313210000000000000001000000"
    "00000000021321215665654548879654654655562000000000000000000000000000000"
    "00000000000000000000000000000000000000000000012131132321213212111323213"
    "`123110000000`Z2";


sock_nrecv ["123003"] 50; /* 50 bytes */

sock_disconnect(SERVER);

pop [Think_def, Think_avg, Timeout_val, Timeout_scale];

}

socket协议通信过程:建立socket连接――收发数据――断开socket连接
sock_disconnect(SERVER),为断开socket连接的命令。

    此方法采用的是删除sock_disconnect命令,使用建立socket连接――收发数据――不断开连接的方式,这样一个虚拟用户就可以打开多个socket连接,以达到服务器大量用户在线的状况。
    以100个虚拟用户,每用户执行脚本10次为例,正常情况下虚拟用户建立socket连接――收发数据――断开socket连接,这样在服务器上最大的在线数为100。如果不断开连接,服务器理论上最大在线数最大可以达到1000。

影响因素:
1、一台机器可以打开的socket连接数受系统限制,打开过多的socket系统会报错。在P4、512M内存的机器上成功打开过4500个socket连接。
2、虚拟用户的进程退出,会自动关闭这个用户打开的全部socket连接;

     实际测试案例:C/S架构程序,在建立了1500个Socket连接后,服务程序自动退出。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-7-30 10:16:49 | 只看该作者
在哪个地方可以设置运行脚本的次数啊?谢谢了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-7-30 22:57:03 | 只看该作者
suite的script属性中或者场景属性中。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-8-2 15:25:18 | 只看该作者
THANKS
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2004-8-3 15:38:49 | 只看该作者
再问个问题好吗?
我仿照你的方法用程序与服务器的数据库建立连接并操作6次而不断开。当虚拟用户达到200的时候自己的机器就会重启,这能说明服务器已达到最大在线数吗?
还是我自己机器有问题?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-13 13:47 , Processed in 0.069710 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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