51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5278|回复: 10
打印 上一主题 下一主题

这种方案设计,为什么会出现这么多的错误呢?针对这种情况如何设计方案才算合理呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-10-19 15:40:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
先说明一下:
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 秒)已过期。将“资源页面超时作为警告”运行时设置设置为“是”或“否”,可分别将此消息作为“警告”或“错误”

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

11#
发表于 2004-10-20 17:35:11 | 只看该作者
如果10个用户能全部通过,而20个用户不能通过的话,不是你的测试方法有问题,而是系统不能承受20个并发,你的测试是成功的,测出了系统的极限
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2004-10-20 17:33:41 | 只看该作者
录制下载,我想大概也就是一个HTTP的GET请求吧,不会录制不了阿
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2004-10-20 09:34:16 | 只看该作者
第一方案:
采用第二次录制脚本的:
虚拟用户:10Vusers;
并发数:10Vusers/s;
集合点:100%Vusers到达集合点时,释放所有的用户;

测出来的结果:没错误;


第二方案:
采用第二次录制脚本的:
虚拟用户:20Vusers;
并发数:20Vusers/s;
集合点:100%Vusers到达集合点时,释放所有的用户;

测出来的结果:
     通过的事务:110,其中下载的事务是35;
     失败的事务:130,其中下载的事务是65;
     错误:         65
            DownLoad.c(17): 错误 -27727: 在下载资源时,步骤下载超时(120 秒)已过期。将“资源页面超时作为警告”运行时设置设置为“是”或“否”,可分别将此消息作为“警告”或“错误”

象这种情况该怎么测下载并发呢?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2004-10-20 09:17:46 | 只看该作者
同样的情况,录制脚本,为什么在第一次录制的时候:把下载定义为一个事务,录制的脚本是这样的:
   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)?
         而第二次录制的时,能记录下载这个过程,请问这是怎么回事?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2004-10-20 09:02:00 | 只看该作者
那测下载的并发,该如何测呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-10-19 22:27:09 | 只看该作者
刚收到你的短消息,这两天公司挺忙的,不能及时上网,见谅。
1.用http协议是不能录制到下载事件的,所以你的下载监测点之间只有一个think time。
2.因为think time就是60秒,所以很容易出现120秒超时的错误,刚才我通过家里的宽带访问了一下你的被测url"http://www.iwmusic.com/go.asp",的确很慢。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2004-10-19 17:16:44 | 只看该作者
没有测sina,在录制脚本的时候,自动加进去的!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2004-10-19 16:59:14 | 只看该作者
我只是录制下载这个动作;
把下载定义为一个事务;
在下载前插入集合点;

这个方案运行了10分钟,那 lr_think_time( 60 )改为多少合适?

如果要是你,你如何设计方案?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2004-10-19 16:46:18 | 只看该作者
还有,你干嘛测新浪?
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2004-10-19 16:44:29 | 只看该作者
lr_start_transaction("DownLoad");

        lr_think_time( 60 );

        lr_end_transaction("DownLoad", LR_AUTO);

这段中间只有lr_think_time( 60 ),也就是你录制时间,除了这个没有录到任何脚本,能不错吗?哎。。。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 07:51 , Processed in 0.071932 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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