压力测试经验
被测系统架构:C/S被测系统通讯协议:Socket
测试工具:robot
测试通过标准:
1、大量用户并发(具体数量按使用需求设定),服务程序无资源泄漏、无报错、无异常退出、数据返回正常;
2、大量用户(具体数量按使用需求设定)连续工作时间不少于72小时,服务程序无资源泄漏、无报错、无异常退出、数据返回正常;
测试步骤:
1、录制脚本,脚本示例:
/*
->-> Session File Information <-<-
Created: Sat May8 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 ;
}
2、回放脚本加入同步点,设定虚拟用户数,进行并发测试(每用户执行脚本一次),如果程序有错误出现,马上修改程序;
3、并发测试通过,同样设定虚拟用户数,设置脚本的运行次数,可以利用多台机器同时向服务器发送数据包,连续运行时间不得少于72小时,如果服务程序出现错误,修复程序后,要重新进行连续的不少于72小时的压力测试,直至测试通过;
注:为什么是72小时?
这是一些公司的经验,没有理论证明为什么。实际测试中连续72小时没有问题,就基本不会再有问题。
在我实际的测试中,就遇到过服务程序在连续工作了十几个小时才出现错误的情况。
经验之谈,欢迎讨论
[ Last edited by 海龙 on 2004-5-16 at 20:30 ]
想了解一下下这个的含义
sock_send"`123412345345000000000001cc002d01000002000000d2080300000000000000000001000000"
"000000000000`qwerqwer`00234500` 2345`0000000000000000000000000000000000"
"000000000000000000000000000000000000000000`23452345`00d3d0`23452345345"
"2345345`0000000000000000000000000000000000`";
这个sock_send是啥意思,为啥要用到这样的数据?这些数据包是用什么来发送的?人工还是什么工具模拟么? 1、sock_send是向服务器发送数据
2、数据时录制的,与被测程序有关
3、testmanager执行VU脚本 那如果我想使用你给出的脚本直接运行,是否成功的机会会比较小呢?
数据可能不同吧~
如果需要调试,可能哪些部分需要修改修改呢? 不可能回放成功。 能解释一下你这段脚本执行的是什么操作吗?
连续运行72个小时,是指一个动作还是几个不同的脚本?
压力测试要那么复杂呀
要我望而却步性能测试
请问测试系统能够正常运行7天的方案应有几个。公司测试一个web 产品7天在线运行状态。是否可以设计出一种方案在短时间内测试出该产品的压力性能 微软公司的经验是连续72小时压力测试,如果没有问题基本上就没有问题。 看起来有点复杂哦。 不错,不过现在还不能实现72小时的测试,过段时间准备实践。另外,我对加入同步点还不大清楚,可不可以简单说一下。 如果做长时间的压力测试,可以不用同步点。
如果测试不同用户数同时进行操作时的响应时间,则必须加同步点。如分别测试100、200、300用户时的系统响应时间,同步点是必须的,否则结果不准确。
可以对比相同用户数加与不加同步点时响应时间的差别,就可以看出同步点对结果的影响。 我还是不清楚如何加入同步点以及加入同步点的作用,哪儿可以找到相关介绍或帮助?谢谢 在“Using Rational TestManager manual”中已找到答案。
页:
[1]