51Testing软件测试论坛
标题:
这种方案设计,为什么会出现这么多的错误呢?针对这种情况如何设计方案才算合理呢?
[打印本页]
作者:
niceleafage
时间:
2004-10-19 15:40
标题:
这种方案设计,为什么会出现这么多的错误呢?针对这种情况如何设计方案才算合理呢?
先说明一下:
b/s结构;
目的:测试下载的最大负载数;
录制脚本说明:
协议:http/html;
录制的脚本如下:
#include "as_web.h"
Action()
{
web_add_cookie("UNIPROPATH=1098147841656|*|1098147841656|pid:31-11-12-0-1088273|finance.sina.com.cn/x/20041019/07141088273.shtml|st:18.219|et:1098147841656||*|; DOMAIN=www.sina.com.cn");
web_add_cookie("UNIPROCT=31-11-12:1; DOMAIN=www.sina.com.cn");
web_url("day.html",
"URL=http://www.sina.com.cn/allnews/day.html",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
web_add_cookie("music%5Fextver=M3k; DOMAIN=www.iwmusic.com");
web_url("go.asp",
"URL=http://www.iwmusic.com/go.asp",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t2.inf",
"Mode=HTML",
EXTRARES,
"Url=/images/040916/01.swf", "Referer=", ENDITEM,
"Url=/images/040916/countdown.swf", "Referer=", ENDITEM,
"Url=/images/040916/go_08.gif", ENDITEM,
"Url=/images/040916/go_14.jpg", ENDITEM,
"Url=/images/040916/bg.gif", ENDITEM,
"Url=/images/040916/go2_17_17.gif", ENDITEM,
"Url=/images/040916/go2_17_18.gif", ENDITEM,
"Url=/images/040916/go2_17_19.gif", ENDITEM,
"Url=/images/040916/go2_17_20.gif", ENDITEM,
"Url=http://download.kuro.com.cn/KuroM7.exe", "Referer=", ENDITEM,
LAST);
lr_rendezvous("IntDownLoad");
lr_start_transaction("DownLoad");
lr_think_time( 60 );
lr_end_transaction("DownLoad", LR_AUTO);
return 0;
}
我把下载这个功能定义为一个事务,在该事务插入集合点
设计的方案为:
虚拟用户数:20个Vusers;
并发数:20Vusers/s;
集合点设置:当100%Vusers到达集合点时,释放所有的Vusers。
运行时间:10分钟;
运行后的结果是:(详细情况见附件)
通过的事务:44;
失败的事务:98;
错误:98
Action.c(21): 错误 -27727: 在下载资源时,步骤下载超时(120 秒)已过期。将“资源页面超时作为警告”运行时设置设置为“是”或“否”,可分别将此消息作为“警告”或“错误”
作者:
freesky_yzc
时间:
2004-10-19 16:44
lr_start_transaction("DownLoad");
lr_think_time( 60 );
lr_end_transaction("DownLoad", LR_AUTO);
这段中间只有lr_think_time( 60 ),也就是你录制时间,除了这个没有录到任何脚本,能不错吗?哎。。。。
作者:
freesky_yzc
时间:
2004-10-19 16:46
还有,你干嘛测新浪?
作者:
niceleafage
时间:
2004-10-19 16:59
我只是录制下载这个动作;
把下载定义为一个事务;
在下载前插入集合点;
这个方案运行了10分钟,那 lr_think_time( 60 )改为多少合适?
如果要是你,你如何设计方案?
作者:
niceleafage
时间:
2004-10-19 17:16
没有测sina,在录制脚本的时候,自动加进去的!
作者:
sunshinelius
时间:
2004-10-19 22:27
刚收到你的短消息,这两天公司挺忙的,不能及时上网,见谅。
1.用http协议是不能录制到下载事件的,所以你的下载监测点之间只有一个think time。
2.因为think time就是60秒,所以很容易出现120秒超时的错误,刚才我通过家里的宽带访问了一下你的被测url"http://www.iwmusic.com/go.asp",的确很慢。
作者:
niceleafage
时间:
2004-10-20 09:02
那测下载的并发,该如何测呢?
作者:
niceleafage
时间:
2004-10-20 09:17
同样的情况,录制脚本,为什么在第一次录制的时候:把下载定义为一个事务,录制的脚本是这样的:
lr_start_transaction("DownLoad");
lr_think_time( 60 );
lr_end_transaction("DownLoad", LR_AUTO);
而在第二次录制脚本时,同样也是把下载定义为一个事务,录制的脚本是这样的:
lr_start_transaction("dd");
web_url("index_freebtn_b.gif",
"URL=http://www.xplus.com.cn/images/index_freebtn_b.gif",
"Resource=1",
"RecContentType=image/gif",
"Referer=http://www.xplus.com.cn/",
LAST);
web_url("Xplus.exe",
"URL=http://www.xplus.com.cn/client/Xplus.exe",
"Resource=1",
"RecContentType=application/octet-stream",
"Referer=http://www.xplus.com.cn/",
LAST);
web_url("index_freebtn_b.gif_2",
"URL=http://www.xplus.com.cn/images/index_freebtn_b.gif",
"Resource=1",
"RecContentType=image/gif",
"Referer=http://www.xplus.com.cn/",
LAST);
lr_end_transaction("dd", LR_AUTO);
备注:第一次录制的网址和第二次录制的网址不是同一个;
问题:为什么第一次的下载事务之间是空的?中间只有一个lr_think_time(60)?
而第二次录制的时,能记录下载这个过程,请问这是怎么回事?
作者:
niceleafage
时间:
2004-10-20 09:34
第一方案:
采用第二次录制脚本的:
虚拟用户:10Vusers;
并发数:10Vusers/s;
集合点:100%Vusers到达集合点时,释放所有的用户;
测出来的结果:没错误;
第二方案:
采用第二次录制脚本的:
虚拟用户:20Vusers;
并发数:20Vusers/s;
集合点:100%Vusers到达集合点时,释放所有的用户;
测出来的结果:
通过的事务:110,其中下载的事务是35;
失败的事务:130,其中下载的事务是65;
错误: 65
DownLoad.c(17): 错误 -27727: 在下载资源时,步骤下载超时(120 秒)已过期。将“资源页面超时作为警告”运行时设置设置为“是”或“否”,可分别将此消息作为“警告”或“错误”
象这种情况该怎么测下载并发呢?
作者:
guirongb
时间:
2004-10-20 17:33
录制下载,我想大概也就是一个HTTP的GET请求吧,不会录制不了阿
作者:
guirongb
时间:
2004-10-20 17:35
如果10个用户能全部通过,而20个用户不能通过的话,不是你的测试方法有问题,而是系统不能承受20个并发,你的测试是成功的,测出了系统的极限
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2