51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6339|回复: 13
打印 上一主题 下一主题

[Robot] 压力测试经验

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-5-8 17:17:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
被测系统架构:C/S
被测系统通讯协议:Socket
测试工具:robot

测试通过标准:
1、大量用户并发(具体数量按使用需求设定),服务程序无资源泄漏、无报错、无异常退出、数据返回正常;
2、大量用户(具体数量按使用需求设定)连续工作时间不少于72小时,服务程序无资源泄漏、无报错、无异常退出、数据返回正常;
   
测试步骤:
1、录制脚本,脚本示例:
/*
      ->-> Session File Information <-<-
       Created: Sat May  8 13:33:08 2004
          Name: C:\mn\TestDatastore\DefaultTestScriptDatastore\TMS_Sessions\81.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;

ZN3K20P = sock_connect("81001", " ZN3K20P:8888");

{ INFO SERVER " ZN3K20P"="192.168.1.28"; } /*1*/

set Server_connection = ZN3K20P;

push Think_avg = 0;

sock_send
    "`123412345345000000000001cc002d01000002000000d2080300000000000000000001000000"
    "000000000000`qwerqwer`00234500` 2345`0000000000000000000000000000000000"
    "000000000000000000000000000000000000000000`23452345`00d3d0`23452345345"
    "2345345`0000000000000000000000000000000000`";


sock_nrecv ["81002"] 155;

sock_disconnect(ZN3K20P);

pop [Think_def, Think_avg, Timeout_val, Timeout_scale];

}

2、回放脚本加入同步点,设定虚拟用户数,进行并发测试(每用户执行脚本一次),如果程序有错误出现,马上修改程序;
3、并发测试通过,同样设定虚拟用户数,设置脚本的运行次数,可以利用多台机器同时向服务器发送数据包,连续运行时间不得少于72小时,如果服务程序出现错误,修复程序后,要重新进行连续的不少于72小时的压力测试,直至测试通过;

注:为什么是72小时?
    这是一些公司的经验,没有理论证明为什么。实际测试中连续72小时没有问题,就基本不会再有问题。


     在我实际的测试中,就遇到过服务程序在连续工作了十几个小时才出现错误的情况。

      经验之谈,欢迎讨论

[ Last edited by 海龙 on 2004-5-16 at 20:30 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-5-9 09:57:00 | 只看该作者

想了解一下下这个的含义

sock_send
    "`123412345345000000000001cc002d01000002000000d2080300000000000000000001000000"
    "000000000000`qwerqwer`00234500` 2345`0000000000000000000000000000000000"
    "000000000000000000000000000000000000000000`23452345`00d3d0`23452345345"
    "2345345`0000000000000000000000000000000000`";

这个sock_send是啥意思,为啥要用到这样的数据?这些数据包是用什么来发送的?人工还是什么工具模拟么?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-5-9 10:08:04 | 只看该作者
1、sock_send是向服务器发送数据
2、数据时录制的,与被测程序有关
3、testmanager执行VU脚本
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-5-9 14:01:46 | 只看该作者
那如果我想使用你给出的脚本直接运行,是否成功的机会会比较小呢?
数据可能不同吧~
如果需要调试,可能哪些部分需要修改修改呢?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2004-5-9 14:13:46 | 只看该作者
不可能回放成功。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-6-3 14:07:26 | 只看该作者
能解释一下你这段脚本执行的是什么操作吗?
连续运行72个小时,是指一个动作还是几个不同的脚本?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-6-17 09:08:30 | 只看该作者

压力测试要那么复杂呀

要我望而却步
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2004-7-20 17:15:00 | 只看该作者

性能测试

请问测试系统能够正常运行7天的方案应有几个。公司测试一个web 产品7天在线运行状态。是否可以设计出一种方案在短时间内测试出该产品的压力性能
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2004-7-20 21:38:13 | 只看该作者
微软公司的经验是连续72小时压力测试,如果没有问题基本上就没有问题。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2004-7-26 16:00:55 | 只看该作者
看起来有点复杂哦。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2004-7-30 09:36:11 | 只看该作者
不错,不过现在还不能实现72小时的测试,过段时间准备实践。
另外,我对加入同步点还不大清楚,可不可以简单说一下。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2004-7-30 22:54:48 | 只看该作者
如果做长时间的压力测试,可以不用同步点。

如果测试不同用户数同时进行操作时的响应时间,则必须加同步点。如分别测试100、200、300用户时的系统响应时间,同步点是必须的,否则结果不准确。
可以对比相同用户数加与不加同步点时响应时间的差别,就可以看出同步点对结果的影响。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2004-8-2 10:37:17 | 只看该作者
我还是不清楚如何加入同步点以及加入同步点的作用,哪儿可以找到相关介绍或帮助?谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2004-8-3 10:21:05 | 只看该作者
在“Using Rational TestManager manual”中已找到答案。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-14 12:59 , Processed in 0.075233 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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