51Testing软件测试论坛

标题: 关于WAS的一些资料 [打印本页]

作者: ayong401    时间: 2004-10-27 13:18
标题: 关于WAS的一些资料
发现本版块使用WAS这个工具的测试人员比较多
所以我把我机子上的一些WAS资料放上来
供大家学习和使用
当然如果大家有更多更好的资料
也希望能提供!
作为学习和交流所用!
作者: ayong401    时间: 2004-10-27 13:18
标题: WAS说明
;)
作者: ayong401    时间: 2004-10-27 13:28
标题: WAS
Microsoft Web Application Stess Tools
                     JUGAT Meeting
作者: little_student    时间: 2004-11-4 14:12
标题: 有个问题
[verb]中 get、post、head分别指的是什么具体意思?望指教!
作者: little_student    时间: 2004-11-4 14:13
补一句,是在WAS中!
作者: ayong401    时间: 2004-11-5 09:01
网站压力测试工具was(转贴)
Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响,在网站实际上线之前先对您所设计的网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工作。
Microsoft Web Application Stress具有以下几个特性:
  * 可以数种不同的方式建立测试指令:包含以手动、录制浏览器操作步骤、或直接录入IIS的记录文件、录入网站的内容及录入其它测试程序的指令等方式。
  * 支持多种客户端接口:标准的网站应用程序C++的客户端,使用Active Server Page 客户端,或是使用Web Application Stress对象模型建立您自定的接口。.
  * 支持多用户利用多种不同的认证方式仿真实际的情况,包含了DPA, NTLM 及 SSL等。
  * 支持使用动态的cookie仿真定制网站实际运作场景及对话(session)的支持。
  * 在客户端的计算机以NT 服务的方式执行仿真的工作,可在不中断测试的情况下将某些客户端的测试计算机删除。
  * 透过集中式的Microsoft Web Application Stress 管理员,您可以使用任意数目的客户端计算机同时进行测式的工作。
  * 具有Bandwidth throttling (带宽遏流)的功能以仿真用户使用调制解调器上线的效果。
  * 内建的query-string 编辑器可帮助您建立name-value pair组合的模板,并可在不同的场景测试中重复使用。
  * 可程序化的对象模式让您可以建立您自己的测试客户端。
  * 汇总的测试报告及丰富的性能测试资料。
  * 支持域名系统(DNS)让您可以测试整个群集(Cluster)的机器。
  * 使用Page group的方式来控制文件的组及测试指令的执行程序。
  * 可自定的header让您可以仿真各种不同种类的浏览器。
  * 可自定的指令延迟让您以更接近真实环境的方式进行测试。
网站测试概述
为了正确使用WAS进行网站的压力测试,您需要对于网站测试的方法有一初步的了解。以下的讨论将包含一些基本的概念以供参考。
网站的测试可大略分成三个主要的类别:
  * 网站性能测试 (Performance testing)
  * 压力测试下的网站稳定性 (Stability or stress testing)
  * 网站承受能力评估 (Capacity planning)
网站性能测试的第一件工作就是使用测试工具对网站加压以测量网站服务器每秒可以承受的请求(Request Per Second) 的最大值。第二件工作就是找出系统性能限制的原因所在,举例来说,CPU、内存、或是后端系统所造成的反应延迟等。
在许多状况下,网站服务器的CPU是主要的性能瓶颈。测试时您可以持续加压直到性能表现开始下降,再慢慢的降低压力的程度。此时您所测试出来的最大性能即为该网站所能达到的最高值。在实际测试时,您可以通过增加压力线程(thread),或是增加执行WAS测试程序的客户端来加压。
在网站服务器端,您可以使用性能监视工具如Performance Monitor来监视如 "System: % Total Processor Time" 及 "Web Service: Connection Attempts/sec" 或 "Active Server Pages: Requests Queued"等指针。如果CPU的资源指针已达到80%到85%,则CPU的处理能力最有可能就是整个系统的瓶颈所在。若是在压力测试的过程中CPU所被使用的比例不高而”Requests Queued”的指针一直居高不下,可能是程序正在调用服务器上的COM组件而这个组件无法有效的执行完所有的命令,因而造成了系统性能的降低。在这种情形下,服务器上的COM组件才是真正的瓶颈。
目前市场上最热门的定制网站应用程序也会对网站的性能表现有重大的影响。WAS包含了数种特性可有效的帮助您测试定制的网站应用程序。例如,您可以建立用户,让WAS可以设置并储存每一个用户的cookie。您也可以使用QueryString 编辑器帮助您建立并储存数个不同的name-value pair以便在每一次执行request时进行测试。
一般的网站测试问题
  * 错误的测试平台,和实际上线的 production server(生产环境服务器)不同,无法测出实际的问题。
  * 错误的测试指令,无法正确的仿真出实际上线系统真正的反应。
  * 线程安全性问题以及不稳定的服务器COM组件。
  * Active Server Page 的错误及GLOBAL.ASA 设置的问题。

转自(www.7i24 .Com)
作者: ayong401    时间: 2004-11-5 09:46
Originally posted by little_student at 2004-11-4 02:12 PM:
[verb]中 get、post、head分别指的是什么具体意思?望指教!

GET、POST和HEAD应该是在HTTP 1.0中,定义的三种最基本的请求类型.
作者: jiaoxiaogang    时间: 2004-11-12 15:19
标题: thanks

作者: gg    时间: 2004-11-15 14:18
我不是最优秀的
但我一直是最努力的......

很欣赏你的这句话.........

再次感谢你给我发的邮件!!!!!!!!!!!!!!!!
作者: tempuser    时间: 2004-11-18 15:56
谢谢提供
作者: juliet7438    时间: 2004-11-25 14:10
谢谢
作者: huipingzhai    时间: 2004-11-25 15:29
谢谢
作者: 6300120    时间: 2004-12-1 15:55
标题: 谢谢ayong的提供的资料
今天第一次接触这个工具,本来网站搜索引擎搜was没有找到相关的资料。晕。
看到你的资料,这么全,感谢你,感谢51testing。com。哈哈。我高兴
作者: andrei    时间: 2004-12-6 12:39
谢谢版主,初次接触这个工具,这些文档蛮有用的:d
作者: sunhongdongkun    时间: 2004-12-7 10:57
thanks
作者: nice    时间: 2004-12-7 11:29
虽然暂时用不到,不过还是非常感谢搂住。
作者: yangzhisd    时间: 2004-12-10 20:58
xiexie!
作者: dot1980    时间: 2004-12-15 10:24
同样感谢
作者: nwj    时间: 2004-12-22 07:56
谢谢
作者: winniemm    时间: 2004-12-23 09:49
谢谢
作者: 每木文子    时间: 2004-12-23 17:37
标题: 谢谢,我正在学习这个软件

作者: jomi_51testing    时间: 2004-12-24 03:16
谢谢,斑竹!
我也刚学,啥也不懂!

我的MSN是luyi@hotmail.com, 请大家多多指教!
作者: Alex2004    时间: 2005-1-7 21:51
thanks
作者: johlon    时间: 2005-1-11 18:47
不错,谢谢
作者: flarezhao    时间: 2005-1-18 13:28
标题: 不错

作者: wanglha    时间: 2005-1-20 18:41
标题: ding
顶一下啊
作者: hello1    时间: 2005-1-24 11:07
支持
作者: peterz    时间: 2005-1-24 11:19
不错。支持好人
作者: JAYA2005    时间: 2005-1-26 16:25
标题: 谢谢斑竹
希望可以多提供一些这样有价值的资料,为中国软件测试努力!
作者: bluemay217    时间: 2005-1-31 14:39
3x!
作者: BSC    时间: 2005-2-3 14:04
谢谢ayong401提供的材料,看到很多人都在讨论was,我正准备了解一下呢,呵呵,收藏喽!~
作者: cx0744    时间: 2005-2-10 11:13
不要贴这些没有用的东西好吗?我们可以自己看帮助的,贴点实际的出来好吗?
作者: cx0744    时间: 2005-2-22 22:59
有没有人能提供一个脚本的例子?
作者: 7894561230    时间: 2005-2-24 22:54
谢谢
作者: forsunny    时间: 2005-2-25 09:57
好东西
作者: forsunny    时间: 2005-2-25 09:58
对我们初学者来说,就是需要这种教程
作者: jacosun    时间: 2005-3-18 07:21
标题: 这个工具是否集成到.net 2003中了?
请问这个工具是不是集成到.net 2003中了,是不是那个软件啊?
作者: shuijun1106    时间: 2005-3-23 12:32
正在学习ing
作者: jacosun    时间: 2005-3-25 15:13
这个软件是Microsoft的产品,我看主要的是检测ASP之类的网站,那问一个问题?
这个测试软件对JSP开发的网站的测试有没有用?
作者: BlurM    时间: 2005-3-28 10:57
同楼上,一样的问题,测试基于java的系统用什么工具比较好?
作者: xlliang1910    时间: 2005-4-9 11:01
刚使用这个软件,谢谢ayong!
作者: chentao80    时间: 2005-4-13 15:40
标题: 求助
如何打开wwp文件!!!!!!!!!!!!
作者: hmzhang    时间: 2005-4-18 15:07
能不能举例详细说明一下
作者: gg    时间: 2005-4-27 11:45
Originally posted by 炸弹 at 2005-4-13 03:40 PM:
如何打开wwp文件!!!!!!!!!!!!



从新发个帖子啊,要不都沉了,解决不了问题的。
作者: hi_eping    时间: 2005-5-16 13:21
ding
作者: michelle_happy    时间: 2005-5-20 10:46
标题: 同问
Originally posted by jacosun at 2005-3-25 03:13 PM:
这个软件是Microsoft的产品,我看主要的是检测ASP之类的网站,那问一个问题?
这个测试软件对JSP开发的网站的测试有没有用?


文档中介绍perf counter的时候,add counter里面全是一些关于ASP的东西,我打开的时候全完都不一样呢。
作者: hnkfzhaomeng    时间: 2005-5-26 17:29
暂时用不着,不过还是非常感谢。
作者: zys3497    时间: 2005-5-27 19:31
我现在对工具软件用的少,很想掌握系统的一套测试理论和一套工具软件
作者: zhuizi    时间: 2005-5-28 14:25
搂住辛苦了!!谢谢搂住好东西共享!
作者: lindahere    时间: 2005-6-25 17:21
谢谢你啦,楼z
作者: 嘻嘻哈哈    时间: 2005-7-8 09:37
我是刚接触测试,测试工具也是刚学,对我很有用处,谢谢!!!
作者: 嘻嘻哈哈    时间: 2005-7-8 09:45
请问我用本地的机子如何测试布置在服务器上的网页,在WAS中如何设置?
是在content tree中设置吗?
作者: easylife    时间: 2005-8-4 11:44
谢谢
作者: roost    时间: 2005-8-9 09:50
标题: 感谢
ayong401:非常感谢你的无私,看到你提供的资料,刚好派上用场.再次感谢.
作者: 测试有前途    时间: 2005-8-10 15:36
刚开始学习使用was
想和测试的朋友交流交流
popedgezhou@hotmail.com
作者: niko    时间: 2005-8-10 16:58
标题: 不知怎么能弄到该工具呢?
不知怎么能弄到该工具呢?我也想好好学习。
作者: wang_fj    时间: 2005-8-16 16:28
标题: Hi
content tree 一般是不用設定的;可以看"軟件測試技朮"(作者:賀平)
作者: wang_fj    时间: 2005-8-19 10:23
标题: 如何實現Log與Contents的方式製作腳本?
我測試時,使用Record的方式已經OK;但是,使用Log與Contents的方式,怎麼測試都無法通過,出現錯誤Code 400或404。有誰可以解決?

另,要了解腳本對其進行修改,需要了解什麼內容?
作者: dinggn    时间: 2005-8-23 11:01
这里的材料很好.我也在网上找到了相关的资料,和大家分享

利用Web Application Stress Tool(WAS)做性能测试(1)
Duwamish Online
Aaron Ching, Pedro Silva, and Allen Wagner
Microsoft Developer Network
January 2001
摘要:这篇文章讨论了性能测试对于成功发布一个网络应用的重要性,集中讨论了微软的Web Application Stress (WAS)这个用于测试Duwamish Online的性能的工具。
内容
介绍
使用WAS的好处
WAS的缺陷
安装WAS
创建测试脚本
配置测试脚本
运行测试脚本
结论:最好的习惯
介绍
性能测试是成功发布一个网络应用的关键因素。当越来越多的用户访问你的站点时,清楚地知道你的应用程序和你的服务器群是怎样工作的就显得非常重要了。
为了给你的网络应用程序模拟出那种类型的使用,你可以协同几百甚至上千的真实用户在一段设计好的时间段里访问你的站点,你也可以只与一个能复制这么多用户负载的测试工具一起工作,
许多性能测试工具可以帮你的忙。基本上,这些工具都允许你以有限的客户端模拟大量的虚拟用户,并发地访问预先确定的页面或网站的URLs (Uniform Resource Locators)。每一个虚拟用户都能精确地仿效在真实浏览器和网站服务器之间进行通讯协议。
在这篇文章里,我们将专注于其中一个这样的工具:Microsoft® Web Application Stress (WAS)工具。你可以在微软的Microsoft Windows® 2000 Resource Kit CD (WAS version 288)里面找到这个工具。
注意      WAS不能再从Microsoft的网站下载了,Visual Studio .NET 的企业架构 和 企业开发版本都包含一个新的网络压力测试工具,这个工具叫做Application Center Test,是受Microsoft技术支持的工具。这个工具包含在Visual Studio .NET安装时的Enterprise Development Tools部分。在写这篇文章时,Application Center Test还没有正式公开发表。关于如何得到Visual Studio .NET,请访问Visual Studio网站。
使用WAS的好处
首先,我们来讨论一下使用WAS测试你的应用程序的好处。
它简单
WAS允许你以不同的方式创建测试脚本:你可以通过使用浏览器走一遍站点来录制脚本,可以从服务器的日志文件导入URL,或者从一个网络内容文件夹选择一个文件。当然,你也可以手工地输入URL来创建一个新的测试脚本。
不像其它的工具,你可以使用任何数量的客户端运行测试脚本,全部都有一个中央主客户端来控制。在每一个测试开始前,主客户机透明地执行以下任务:
·                     与其他所有的客户机通讯
·                     把测试数据分发给所有的客户端
·                     在所有客户端同时初始化测试
·                     从所有的客户端收集测试结果和报告
这个特性非常重要,尤其对于要测试一个需要使用很多客户端的服务器群的最大吞吐量时非常有用。
它的高可用性
WAS是被设计用于模拟Web浏览器发送请求到任何采用了HTTP1.0或1.1标准的服务器,而不考虑服务器运行的平台。
除了它的易用性外,WAS还有很多其它的有用的特性,包括:
·                     对于需要署名登录的网站,它允许创建用户帐号。
·                     允许为每个用户存储cookies 和Active Server Pages (ASP) 的session信息
·                     支持随机的或顺序的数据集,以用在特定的名字-值对
·                     支持带宽调节和随机延迟(“思考的时间”)以更真实地模拟显示情形。
·                     支持Secure Sockets Layer (SSL)协议
·                     允许URL分组和对每组的点击率的说明
·                     提供一个对象模型,可以通过Microsoft Visual Basic® Scripting Edition (VBScript)处理或者通过定制编程来达到开启,结束和配置测试脚本的效果。
WSA的缺陷
除了优势外,WAS的确有一些缺陷存在。当前知道的bug和有关事项都列在WAS的网站上了。以下是当前WAS不支持的特性:
·                     以前面所发请求返回的结果为基础,修改URL参数的能力。
·                     运行或模仿客户端逻辑的能力
·                     为所分配的测试指定一个确定数量的测试周期的能力。
·                     对拥有不同IP地址或域名的多个服务器的同时测试能力
注意   你可以使用多个主客户端来同时测试多个服务器。然而,如果你想把所有测试结果联系起来成为一个整体,则需要整理从各个WAS数据库得到的数据
·                     支持页面在不同IP地址或域名间的重定向的能力
·                     从Web浏览器直接记录SSL页面的能力
注意    WSA已经支持SSL页面的测试,但是没有记录它们。你需要在脚本录制完后,手工地为每个设计好的URL打开SSL支持
虽然对这些限制有一些相应的解决办法,但是如果你的应用依赖一个或多个这样的功能的话,你也许不能完全享受WAS带来的好处。
安装WAS
WAS要求Microsoft Windows NT® 4.0 Service Pack 4或以上版本,包括Windows 2000平台。还要求Internet Explorer 4.0以上版本,与Internet Explorer 5.0工作更好。
要安装WAS,首先下载最新版本的setup.exe程序,按照安装向导的指示。拷贝并在你的测试机器上安装。
注意   在本文介绍的所有步骤均以WAS version 293为蓝本。
创建测试脚本
虽然你可以手动地创建测试脚本,WAS可以通过记录浏览器活动,导入服务器日志文件或评估Web文件夹的内容来帮助你创建测试脚本。在本文,我们将主要通过记录览器活动的方式来创建测试脚本。采用这个方法而不用其它的方法有几个原因,包括:
·                     记录览器活动的方式以精确的方式捕捉所有用户的交互活动。任何从浏览器发往服务器的URL指向,应用程序参数和HTTP头部信息都会被自动地记录在新的测试脚本里。
·                     导入服务器日志文件的方法在站点已经进入投入使用阶段,有了真实的用户流量的情况下使用最好。但是,一个新的站点未必有这么多的真实用户使用数据,进一步说,可能还需要合并大量的日志文件来达到较好地体现用户活动的目的,这将需要创建大量的测试脚本,将需要客户端更多的系统资源。
·                     选取Web内容文件夹的方法最好用在测试多数是静态HTML文件的站点。这种方法允许在已有服务器的Web页面的基础上快速创建测试脚本。然而,这种方法并不捕捉任何由大多数应用程序文件产生的参数,像Common Gateway Interface (CGI)程序或Active Server Pages (ASP).
你只需要在主客户机器创建和存储你的测试脚本,当测试由主客户端初始化时,测试脚本会自动地分发到其他的测试客户端。
准备测试客户端机器
如果你正在你的内部网通过代理服务器使用WAS ,并且从内部网外的客户端发送请求页面,而且你的公司使用Microsoft Proxy Server,那么按照以下的步骤建立你的客户端:
1.                  从开始菜单,指向设置\控制面板。双击管理工具图标,然后是服务图标。
2.                  双击WebTool服务打开属性对话框
3.                  点Log On As标签,然后点This account选择按钮添加你的网络用户名和密码。使用domain\user name的格式
4.                  停止并重起WebTool服务
5.                  然后,安装Microsoft Windows Proxy client 2.0,也叫Winsock Proxy 客户端,可以在Microsoft Proxy Server CD里找到(更多有关怎样安装和设置这个软件的信息,请参考包含在CD里面的文档)
6.                  对于希望使用代理服务器的每个测试客户端,重复步骤1-5。
如果你的公司使用其他的代理服务器,就要安装该代理服务器的代理客户端。
准备浏览器
在开始录制一个脚本前,你需要准备好你的浏览器,清除你的浏览器的缓冲cache。否则,WAS也许不能记录所需的浏览器活动,因为浏览器可能从缓冲区而不是从所请求的服务器取得请求页面。
关掉IE的缓冲区
1.                  在工具菜单,点Internet选项
2.                  点常规标签,然后点删除文件。。。按钮。
如果使用IE5。0或以上版本则不需要修改代理设置,因为5。0以上版本的IE允许WAS改变这些设置。然而,对于IE4。0或早期版本,WAS使用一个内置的代理服务器来记录浏览器活动。
按WAS的需要指定代理设置
作者: dinggn    时间: 2005-8-23 11:05
利用Web Application Stress Tool(WAS)做性能测试(2)

设置测试脚本
新录制的脚本还不能立即用来测试。还必须完成以下设置:
·                     调节脚本项和他们的属性
·                     调节测试脚本的测试
·                     建立页面组和点击百份比
·                     建立用户帐号
·                     建立客户端
·                     建立性能计数器
调节脚本项

在修改一个测试脚本的脚本项时需要考虑几点,我们将在下面介绍。
去掉不需要的脚本项
去掉冗余项以减少在测试中的噪声因素,或者去掉那些无效的URL。当要调整一项特殊的功能时,去掉所有指向图象,样式表单和其他辅助静态文件的脚本项。
为脚本项指定思考时间
脚本项表单的最后一项叫做“延迟”。这项允许你在执行脚本项之前指定特定的延迟时间(也叫思考时间)。
对于性能测试来说,如何定义思考时间并没有一个单独的标准。有些人使用零思考时间,有些人考虑使用30秒为思考时间。
主要取决于站点的内容和测试的目的。例如,有长页面内容的站点需要比简单页面的站点使用长一点的时间,因为用户需要使用多点的时间来读页面内容。
另外,如果你的目的是快速地决定一个只有少量客户端的Web服务器的吞吐量,你可以考虑零思考时间。没有思考时间的话,WAS的每个线程以最快速度对Web服务器施加压力。
为脚本项设置一系列的值
WAS允许你为一个脚本项的一对名字-值赋值,而不是对每一个请求都使用相同的值。这个特性对于模拟真实情形很重要,没有用户会不停的以相同的数据值请求同一页面吧?
例如,其中一项测试脚本是请求一个ASP页面展示一个产品的详细信息。我们可以设置WAS随机地从一列预先定义的产品ID选取不同的值,而不是每次都用相同的产品ID请求ASP页面。
为脚本项建立一列值
1.                  在WAS窗口的脚本项,双击脚本项最前面的方型按钮(在表单的第一列)打开这项的详细菜单。
2.                  在Querystring标签里(也叫Querystring Editor,如Figure 3所示),选定Format data to CGI standard。相应的名字-值对会出现在check box下的表单里。

Figure 3. Querystring Editor screen
3.                  点选定的名字-值对的值,一个新的按钮会出现
4.                  点这个按钮打开Field Values对话框
5.                  在Field values对话框输入一串值,每一行一个值。你也可以通过剪切,粘贴一个电子表格的数据文件来输入。
6.                  在Querystring Editor里,在表单中点有相同名字-值对的Distribution一列。在下拉菜单选择Random。
为脚本项设置SSL
为特定的脚本项激活SSL,需要作以下操作:
1.                   在WAS窗口的脚本项,双击脚本项最前面的方型按钮(在表单的第一列)打开这项的详细菜单。
2.                   在 SSL标签里,选Use SSL. (注意在你激活SSL时确保端口值应该在80到 443之间)。
调整脚本设置
为了您能满意地运行你的性能测试,你需要修改你的测试脚本的设置。通过双击左边的脚本名展开脚本的信息,你会找到一个Settings标签,在这里你可以为你的测试脚本指定很多设置。点击它将在右边窗口打开Settings视图,如Figure 4所示。

Figure 4. Settings view screen
指定目标Web服务器
默认地,目标服务器是“localhost”,应该替换为IP地址或目标服务器的域名。
改变设置
1.                  在左边的窗口点测试脚本的名字
2.                  在右边窗口顶部的Server输入目标服务器的IP地址或域名
注意  如果你想对有Network Load Balancing(网络负载均衡)的服务器群组进行测试,就像Duwamish Online一样,则需要输入IP地址群。
设置并发连接数
在设置里的Concurrent Connections部分,你可以指定Stress level (threads)的值和Stress multiplier (sockets per thread)来控制对目标服务器的压力/负载程度。Stress level是全部客户端所产生的Windows NT线程的总数。每个线程能产生多个socket而每个socket就是一个并发的请求。
以下公式解释了他们之间的关系:
Total Concurrent Requests = Stress level (threads) x Stress multiplier
(sockets per thread) = Total Number Sockets
在我们的实验室,我们使用不同的Stress层次来 性能测试。例如,我们使用过100, 200, 300, 400, 500, 750, 1000, 1500,和2000的值来连续测试以研究我们的服务器群组是如何对连续增长的负载作出反应的。
你应该在初步测试的结果基础上调整这些数值。通常来说,你需要在低负载度时收集更多的数据点,因为这时候系统的吞吐量会随线程的增长而线性增长。另一方面,你可以在高负载度时运行较少的测试以节省时间和精力,尤其是系统吞吐量已经高于峰值时。
注意我们的第一次测试将设定在1000个线程。目的是运行足够的请求以建立我们程序的数据缓冲。因为程序的性能会因为有没有缓冲而表现大不相同,这将帮助我们为负载测试保持一个一致的环境。
设定测试运行时间
在设置视图的Test Run Time部分,你可以以日,小时,分钟,秒来设定总的运行时间。取决于你的脚本项的预期反应时间,建议你运行测试脚本至少若干分钟以便产生足够的请求,避免变形的测试结果。你的程序的反应时间越高,测试进行的时间就应该越长,以便产生大量的数据。
你可以运行短而密集的测试以便监测你的站点的任何问题。另外,你需要运行更长的测试时间(例如,30天),看看你的站点的性能是否随时间而退化,尤其是在中级或高级的负载压力下。
在Duwamish Online这个站点,大多数的性能测试都运行7到10分钟,以便有足够时间来稳定测试结果。
设置随机延迟时间
在设置视图的Request Delay部分,你可以在执行测试前为每个脚本项选择加入随机延迟时间(或思考时间)。如果Use random delay选项框被选中,每个WAS线程会空转一段随机的时间(在最大值和最小值之间)加上为每个脚本项指定的固定的思考时间。
下面的公式解释了延迟时间的计算方法:
每项的延迟时间=随机延迟时间+每项的固定延迟时间
随机延迟时间的特性在固定延迟时间被指定给脚本项时尤为重要。如果没有使用随机延迟时间,所有的线程会在几乎相同的时间发送请求到Web服务器,然后等待几乎相同的固定延迟时间然后发送下一个请求。随机延迟时间在向Web服务器施加负载时有助于压平峰值和谷值,因此为所需的负载水平呈现一个更为精确的环境。
设定挂起时间
在设置视图的Suspend部分,你可以以日,小时,分钟,秒来设定warmup 和cooldown时间。Warmup时间就是初始化测试运行时间,在这段时间里不会收集和计算性能数据。类似地,cooldown时间就是指定结束阶段的测试时间,也不收集数据。Warmup 和 cooldown被用于最小化测试结果的失真。
通常,在一个新测试运行的初始化阶段,很多系统资源是被特定的活动所消耗,像组件或应用程序的缓冲初始化。Warmup时间有助于在任何测试数据被收集之前稳定系统的环境。
另一方面,cooldown时间有助于在测试运行的结束阶段避免数据的变形,这时额外的系统资源被用于停止测试和开始从客户端收集数据。另外,socket连接可能会过早地停止,造成大量的socket错误。
在Duwamish Online,我们使用30 到 60秒作为大多数性能测试的warmup 和 cooldown时间
指定带宽瓶颈
在设置视图里的Bandwidth部分,WAS允许你模拟从14.4 Kbps的modem连接到T1 (1.5 Mbps)的Local Area Network (LAN)连接的网络带宽。这个特性的最大好处是可以支撑大量的并发连接到目标服务器。这是大多数Web站点(用户使用低速modem连接)所体验的情形。
激活带宽瓶颈
1.                  在设置视图里的Bandwidth部分,选择Throttle bandwidth选项框。
2.                  在下拉菜单,选择一个代表大多数用户的连接吞吐量的带宽。
在Duwamish Online里,我们试过不同的带宽瓶颈的设置。初始化时。我们把用户连接设在56 Kbps,想明白我们的程序在大多数Web站点的情况下是如何表现的。我们也试过把用户连接设在ISDN Dual Channel (128 Kbps)以模拟未来宽带趋势下,我们的大多数用户通过快速的连接访问我们的站点。最后,我们以没有带宽瓶颈的情形测试我们的站点。有趣的是,我们发现这种设置产生的负载条件与用128 Kbps连接的一样。
不管你如何设置带宽瓶颈,务必要在你想比较测试结果的所有测试中保持一致性。
指定其他设置
在设置视图的其他部分,我们保持默认值,除HTTP重定向外。我们故意去掉Follow HTTP redirects选项。这在创建脚本过程中你录制脚本时已经录制了URL的重定向的时候是必须的。你不需要重复两次地运行那些URL。
设置页面组
在WAS里,你可以把一系列的脚本项组织成所谓的页面组。这个特性允许你把所有的页面元素(包括HTML文件,图象文件,样式表单等)或多个相连的页面组织成一个逻辑单元。你可以为每个页面组指定不同的点击率,那样就能控制哪个页面或相连的页面会访问更多或更少。如果你有你的网站的使用方法—像目录浏览或购物车—页面组允许你以你希望你的站点会获得的点击率来运行。
建立页面组
1.                  展开左边窗口的脚本的信息
2.                  点Page Groups节点在右边窗口打开相应的视图
你会看到默认的以100%分布率的页面组已经创建好了。所有的脚本项默认都初始化为这个组。
3.                  在组表单的空白行,在Group列输入新的组名(像"Home"作为主页),在Distribution列输入数值。分布率会被用于计算这个页面组的点击率,见Percent
作者: dinggn    时间: 2005-8-23 11:10
利用Web Application Stress Tool(WAS)做性能测试(3)

建立各客户端机器
WAS允许你使用多个客户端机器测试你的网站。当一个测试开始时,WAS会自动地与所有客户机取得联系,向他们传输所有的测试信息(包括测试脚本项,页面组和用户定义信息),启动和停止他们的测试,然后收集测试结果。
使用其中一个客户机器作为你的主客户端。这个主客户端应该是你用来记录和设置测试脚本的机器。
建立测试客户端
1.                  在左边窗口展开脚本信息
2.                  点Clients节点在右边窗口打开相应的视图
3.                  双击Default客户端打开客户端视图
本地客户端的记录(在你工作的主客户端)已经默认被创建。
4.                  要想加入新的客户端,在Machine name输入IP地址或域名。
5.                  点Add按钮,新的客户端会以Connected的状态被加到表单中去。
6.                  重复步骤5和6,直到全部客户端机器都被加入。
当添加新的客户端时,尽量加那些大致相同处理能力的机器。我们发现添加一个明显比其他机器速度慢的机器比不添加它还要产生更多的socket错误。
我们也发现如果我们设置一台专注的机器作为主客户端,但是这台机器不参与产生负载。这样的设置,我们会产生较少的socket错误,而且测试结束得更快。
要这样设置的话,从客户端列表去掉主客户端的名字。如果你有一台慢的机器而你不打算用做负载产生机器,它可以作为你的主客户端而不会影响测试的输出。注意,这台主客户端仍然做所有的产生报告和分发测试脚本的工作。一台慢速度的主客户端意味着你的测试启动和结束的速度会慢些,而且要更多的时间来产生报告。
设置性能计数器
WAS可以与Windows NT性能监视器结合简化测试数据的收集。你可以为每个脚本存储你最喜欢的性能监视计数器,WAS 会像其它信息一样收集它们的数据。
把性能监视计数器加到你的脚本
1.                  在左边的窗口展开脚本的信息
2.                  在右边的窗口点Perf Counters节点打开相应的视图
3.                  在Collection Interval,输入收集时间间隔。这是以秒计算的取样时间。
4.                  点Add Counter按钮
5.                  从Add counter to report对话框,通过点Add按钮选机器,对象和你感兴趣收集的计数器。
在WAS帮助文件的"Common performance monitor counters"部分有一系列的通用性能计数器的介绍。
如果你在使用这个特性时遇到什么问题,请参考WAS的基本知识介绍。
运行测试脚本
一旦你设置好了测试脚本,就准备好了在你的客户机运行脚本
启动主客户端的测试
1.                  点需要测试的脚本
2.                  从Scripts菜单选Run
也可以点工具栏上的Play按钮运行脚本。
检查测试报告
测试完成后,你应该先检查测试报告看是否有socket 或 HTTP错误
从报告中检查这些错误
1.                  从View菜单选Reports打开相应的视图,见Figure 7.

Figure 7. Reports view screen
2.                  在左边窗口,双击脚本打开测试报告,如果需要的话
3.                  点测试报告名(有测试运行时间指定),如果需要的话。你会看到右边窗口显示报告的概要。
4.                  在报告概要,检查Socket Errors部分是否有任何的socket有关的错误(值不为0)。这里列出每种socket错误的解释:
·                                Connect—客户端不能与服务器取得连接的次数。如果这个值偏高,检查在客户端与服务器之间产生的任何潜在的错误。从每个客户端Ping服务器或telnet服务器的端口80验证你得到正确的回应。
·                                Send—客户端不能正确发送数据到服务器的次数。如果这个值偏高,检查服务器是否正确地工作着。在客户端打开一个浏览器然后手工点击站点页面验证站点正确地工作着。
·                                Recv—客户端不能正确从服务器接收数据的次数。如果这个值偏高,执行和Send错误相同的操作。还要检查一下如果你减低负载系数,错误是否跟着减少。
·                                Timeouts—超时的线程的数目,而且随后就关闭了。如果这个值偏高,在客户端打开一个浏览器然后手工点击站点页面验证是否即使只有一个用户你的程序也会很慢。再做一个不同负载系数的压力测试,看看你的程序的潜在特征。
5.                  如果socket错误很低或为0,拉下报告视图找到Result Codes部分。
6.                  检查一下是否所有结果代码都是200,表示所有请求都被服务器成功地返回了。如果找到大于或等于400的结果,继续下面的步骤以查找哪个脚本项(URL)产生这些HTTP错误的。
7.                  在左边窗口展开脚本信息
8.                  双击Page Data节点展开所有的脚本项
9.                  点每个脚本项在右边窗口看页面数据的报告
10.               在每项脚本的页面数据报告检查Result Codes部分,验证是否有那项产生了HTTP错误。如果要看常见的结果代码列表,请参考WAS帮助文件的"HTTP result codes"部分。
运行脚本
在准备好以上介绍的测试脚本后,你现在就可以准备运行测试及收集数据了。
你可以按照前面介绍的步骤手工运行每项测试。然而,这将会是一项耗时的过程。
WAS有一个对象模型,允许你创建自己的Microsoft Visual Basic Scripting Edition (VBScript)脚本来控制和配置测试运行。
当测试运行时,你应该监视和记录不同的性能相关的系统计数器,包括跟踪系统吞吐量的计数器,反应时间和资源利用率。
结论:最好的习惯
客户机器。密切监视每个客户端的系统资源利用率。如果CPU或内存使用高于
作者: joyzym    时间: 2005-8-23 17:28
是不是还没有帖完?
作者: myang    时间: 2005-8-24 11:27
标题: 支持java语言吗?
支持java语言吗?
作者: 舍得    时间: 2005-8-27 11:52
太好了,我正在找这个东西呢,十分感谢,有资料的继续呀,兄弟们!
作者: louzai    时间: 2005-8-29 11:29
感谢阿,兄弟,我太爱你了
作者: wang_fj    时间: 2005-8-29 16:08
dinggn,你的東東還不錯!還有沒有別的什麼?
作者: name-jj    时间: 2005-9-13 17:09
真的非常有用呢
作者: pierre0505    时间: 2005-9-13 20:35
我也正在学这个东西,大家多多交流阿,谢谢了!!
作者: snowwhitezxy    时间: 2005-9-14 15:21
非常感谢啊!近来一直在学习测试工具,正好需要!
作者: weiworm    时间: 2005-9-23 10:57
test准备中
学习中

谢谢!
作者: ly_xixihaha    时间: 2005-11-9 14:49
好像没有贴完,继续啊!
作者: marysnow    时间: 2005-11-15 09:10
标题: 急需was工具
哪位有was工具,请发到我的邮箱:marylook@126.com,或者将下载的网址发到我信箱.

我是一位刚入道的测试女孩,刚找了一份关于测试网站的工作,想多学习这方面的知识,
请大家多帮助我.谢谢!
作者: ustcsunny    时间: 2005-11-21 13:44
谢谢
作者: pierre0505    时间: 2005-11-24 13:43
太感谢了!现在就要用它了!用后再发点牢骚!…^_^
作者: 2005master    时间: 2005-12-6 11:21
dinggn 你好,你的贴好像还有吧,怎么感觉象缺了点东西
作者: wangyongchun    时间: 2005-12-13 13:47
标题: 急需was工具
哪位有was工具,请发到我的邮箱:peterwang_2005@163.com,或者将下载的网址发到我信箱.

我是一位刚入道的测试男孩,刚找了一份关于测试网站的工作,想多学习这方面的知识,
请大家多帮助我.谢谢!
作者: jenry1234    时间: 2006-1-6 15:05
呵呵!我也是需要下载地址,能不能自己下载使用?是支持ASP的吗?
新手,没用过WAS!
作者: 泰戈尔的手    时间: 2006-2-27 22:05
great
作者: hades    时间: 2006-3-6 15:10
感谢共享
作者: zhangpc    时间: 2006-3-9 10:33
很不错的东西,受益匪浅
作者: purple_rainbow    时间: 2006-4-10 17:45
thank u
作者: rzhch_002    时间: 2006-5-18 23:42
在这里感谢楼主大公无私的精神 和帖出好帖子的GGJJ们~~~~~~~~
作者: zkb2008    时间: 2006-5-30 11:16
标题: 多谢多谢!
非常感谢!!!
作者: xa-tester    时间: 2006-6-5 10:37
这个工具用来测试JSP编写的网站不知道效果怎么样〉?能通用么?
作者: gezj    时间: 2006-6-13 16:07
标题: 非常好!
我刚做测试,能告诉我在那里下载这个软件吗?我的QQ:24613012
作者: hbgjh    时间: 2006-6-16 08:41
标题: 这贴太好了顶!
这贴太好了顶!
作者: ace    时间: 2006-6-22 11:42
标题: 兄弟们好好努力啊
兄弟们好好努力啊 ,性能分析真他妈的麻烦
作者: jeanjing00    时间: 2006-6-28 10:24
感谢楼主.
发现WAS似乎是个不错的工具,就下了试着用了.
不过WAS的资料还真是少得可怜,而且讲得也是不是很清楚.
不像LR等使用手册
作者: kingayu    时间: 2006-7-2 11:42
标题: 给点建议,看了这么多说明资料!能不能出一本结合项目的测试过程分析呢????
给点建议,看了这么多说明资料!都没有一本结合项目的测试过程分析,能不能出一本呢????
作者: hunter_hero    时间: 2006-7-15 16:52
标题:
大家好
作者: lonely    时间: 2006-7-25 20:46
一直在用,可惜没有吃透它,刚好LZ给了这些好文档。非常感谢。。。。
作者: zhwpost    时间: 2006-8-8 07:23
好好学习一下
作者: follyman    时间: 2006-8-10 16:17
标题: 确实没有什么实际的应用文档,结果不会分析
原帖由 jeanjing00 于 2006-6-28 10:24 发表
感谢楼主.
发现WAS似乎是个不错的工具,就下了试着用了.
不过WAS的资料还真是少得可怜,而且讲得也是不是很清楚.
不像LR等使用手册



还是设计测试场景,分析测试结果最重要,有一个别人做过的压力测试报告就好了
作者: ysmsy    时间: 2006-8-15 16:14
刚接触,雪中送炭,谢谢
作者: harric    时间: 2006-8-15 19:11
谢谢.UP
作者: kite001    时间: 2006-8-24 14:45
标题: 能测java写得web网站吗?
微软的,是不是只支持asp,不支持jsp
作者: gogohxr    时间: 2006-8-31 10:18
谢谢!我正在找这方面的资料
作者: tomcat001    时间: 2006-9-1 15:52
很不错的东西,受益匪浅
作者: huangcm    时间: 2006-9-5 11:02
最近正在学习,谢谢你提供的资料啊
作者: zhyweilai2    时间: 2006-9-5 16:44
标题: 看看先!~
看看先,谢了!~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2