测试与质量的关系 测试有助于提高软件的质量,但是提高软件的质量不能依赖于测试。测试与质量的关系很象在考试中“检查”与“成绩”的关系。 学习好的学生,在考试时通过认真检查能减少因疏忽而造成的答题错误,从而“提高”了考试成绩(取得他本来就该得的好成绩)。 而学习差的学生,他原本就不会做题目,无论检查多么细心,也不能提高成绩。 所以说,软件的高质量是设计出来的,而不是靠测试修补出来的。 I love U software testing

发布新日志

  • 使用Microsoft Web Application Stress Tool对web进行压力测试

    2010-03-30 12:19:11

         你的Web服务器和应用到底能够支持多少并发用户访问?在出现大量并发请求的情况下,软件会出现问题吗?这些问题靠通常的测试手段是无法解答的。本文介绍 了Microsoft为这个目的而提供的免费工具WAS及其用法。另外,本文介绍了一种Web应用的性能优化方法,并利用WAS测试了它的性能改善程度。
         随着服务器端处理任务的日益复杂以及网站访问量的迅速增长,服务器性能的优化也成了非常迫切的任务。在优化之前,最好能够测试一下不同条件下服务器的性能 表现。找出性能瓶颈所在是设计性能改善方案之前的一个至关紧要的步骤。
       本文介绍微软Web压力测试工具(Microsoft Web Application Stress Tool 1.1)在Web服务器性能测试中的应用(注:Stress基本含义为“重压;压力”等,本文称之为“负载”)。另 外,我们还将通过WAS评估一种相对简单的网站性能改善方法,这种方法的基本思想是在服务器上生成静态的HTML页面、避免过多的数据库调用。
      负载测试是任何Web应用的开发周期中一个重要的步骤。如果你在构造一个为大量用户服务的应用,搞清楚你的产品配置能够承受多大的负载非常重要。如果 你在构造一个小型的Intranet网站,测试能够暴露出最终会导致服务器崩溃的内存漏洞以及竞争情况。

           无论是哪种情形,花些时间对应用进行负载测试可以获得重要的基准性能数据,为未来的代码优化、硬件配置以及系统软件升级带来方便。即使经费有限的开发组 织也可以对它们的网站进行负载测试,因为Microsoft的WAS是可以免费下载的。WAS要求Windows NT 4.0 SP4或者更高,或者Windows 2000。为了对网站进行负载测试,WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,也能够模拟各种浏 览器类型和Modem速度,它的功能和性能可以与数万美元的产品相媲美。如果你对WAS和Microsoft的另外一个测试工具Web Capacity Analysis Tool (WCAT)之间的差别感兴趣,可以访问Microsoft Web工具的比较页面。      

      WAS能够为你提供有关ASP应用和它所运行的硬件的丰富的信息。在WAS上花费一些时间,你就能够更深入地了解你的应用的性能、稳定性、瓶颈和局限性。花费这种时间是值得的。

    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的需要指定代理设置
    1.                  在工具菜单,点Internet选 项
    2.                  在连接标签里,修改代理设置以使代理服务器指向Localhost并 且使用端口8000
    3.                  不选对于本地地址不使用代理服务器
    记录脚本
    在你的浏览器和客户端已经准备好记录后,做下面的操作:
    1.                  当你第一次运行WAS时,你会看到一个Create new script的对话框(Figure 1),询问你以什么样的方式创建一个新的测试脚本。
    2.                  Record 按钮 。如果之前你选择了Don't display at startupCreate new script将不会显示出来。你可以在Script菜单选择Record 然后 Create.
    3.                  Browser Recorder Step 1 of 2对话框,你会被要求指定一些记录设置。在这里,清除所有的选择框点Next继 续。
    4.                  Browser Recorder Step 2 of 2对话框,点Finish。一个新的IE窗口会出现以便记录浏览器活动,同 时WAS会被置于记录模式。
    5.                  在新出现的IE窗口的地址栏,输入你的目的站点的地址。在WAS的窗口你 将看到HTTP 信息在跟随你的浏览活动而实时改变着。
    6.                  当完成了你的站点浏览后,转回WAS窗口—还处于记录状态—点Stop Recording按钮。就会终止记录并产生一个新的测试脚本。
    在右边窗口的底部,你将看到一个列出所有脚本的列表。

    对于需要安全连接的站点,WAS支持SSL页面。然而不允许SSL的记录。要解决这些限制,你可以在服务器端关掉SSL,记录脚本,然后再重新激活 服务器上的SSL。


    设置测试脚本
    新录制的脚本还不能立即用来测试。还必须完成以下设置:
    ·                     调节脚本项和他们的属性
    ·                     调节测试脚本的测试
    ·                     建立页面组和点击百份比
    ·                     建立用户帐号
    ·                     建立客户端
    ·                     建立性能计数器
    调节脚本项
     
    在修改一个测试脚本的脚本项时需要考虑几点,我们将在下面介绍。
    去掉不需要的脚本项
    去掉冗余项以减少在测试中的噪声因素,或者去掉那些无效的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下的表单里。
    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视图。
    指定目标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部分,你可以以日,小时,分钟,秒来设定warmupcooldown时间。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列。重复这个步骤添加更多的页面组。
    4.                  点左边窗口的脚本名回到该脚本项的视图
    5.                  在脚本项表单的Group列,从下拉 菜单选择其中一个页面组。为每个脚本项重复这个步骤。所有关联的页面都应该选同样的页面组。
    Figure 5. Example of page groups definition
    6.                  点左边窗口的脚本名回到该脚本项的视图
    7.                  在脚本项的表单的Group一列,从下拉菜单选则其中一个页面组。
    8.                  重复6到7为每一个脚本项选择一个页面组。所有相关项(像ASP 页面, 样式表单和图象文件)应该选择相同的页面组。
    另一种创建和指定页面组的方法是在录制脚本时指定页面组。要使用这种方法,在浏览器跳到新的页面之前返回到WAS窗口(见Figure 2)。点Change Group按钮然后在New Group对话框输入组名。 以后录制的脚本项都会被指定到这个新的组。
    指定用户
    测试需要署名登录的Web站点时,WAS提供一个特性叫做Users,可用于存储多个用户的用户名,密码和 cookie信息。
    当 一个测试开始时,所有的用户被分配到给定压力系数设置的各线程中。当请求开始时,每个线程使用从与该线程连接的共享池中获得的用户名,密码,和 cookie。如果WAS配置的用户数比线程少,一些线程就会没有用户—所有的署名登录页面会登录取失败,任何与cookies的交互会被禁止。所以,当 测试需要个人认证的网站时,拥有的用户数比线程多是很重要的。
    对于可以在WAS中创建的用户数没有硬性的规定和限制。然而,因为每个用户都会需要一定的内存和资源,所以如果使用大量的用户,将会使你的测试 启动和停止时间更长些。
    创建新用户
    1.                  在左边窗口展开脚本的信息
    2.                  Users节点在右边窗口打开相应 的视图
    3.                  双击Default用户组打开用户视 图。
    注意默认已经创建了200个用户。你可以简单地修改用户名和密码就行了。
    你也可以做以下操作来创建一系列新的用户
    1.                  Remove All清除所有的记 录
    2.                  Number of new users, 输入你想创建的新用户的数量
    3.                  User name prefix, 你可以在用户编号的前面输入前缀值,例如“User.”
    4.                  Password,输入密码。相同 的密码会赋给所有用户。
    5.                  最后,点Create按钮。用户表单 就会填满指定数量的用户
    如果你想使用定制的用户名和密码列表,你可以从一个预定格式的文本文件导入它们。参考WAS帮助文件的“Importing user names and passwords”部分。
    建立各客户端机器
    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.
    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或内存使用高于80%,客户端可能已经过载,你应该考虑使用更多的客户端机器来测 试。压迫客户端机器会导致不可靠结果和在与服务器连接时产生socket错误。
    给服务器设置多层负载。估计一下需要并发请求的最大用户量以便在预备测试中把你的Web服务器群推到 100%的使用率。
    当 没有足够的客户端机器来使服务器群到达极限时,就需要设置更高的负载倍数,例如,如果你发现使用4,000个线程,都乘一倍的负载系数,你还是不能把服务 器推到极限的话,把负载系数加大。然而,使用大于1的负载系数会产生不精确的Web程序页面的TTLB。如果有可能,增加更多的机器比靠增加负载系数要 好。
    使用Session跟踪。使用 Session跟踪来记录WAS 和Web服务器之间的详细连接。当定义一个新的WAS脚本时,确保所有的URL都正常工作而且Web服务器返回的是所需 要的结果。如果不是,那么很有可能你得到改进的性能结果,但是Web服务器返回的却是错误的响应。
    你 应该设置SessionTrace为1,类型为REG_DWORD。SessionTrace线程跟踪可以在注册表 的\HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \WAS注册。最后,记得在确认了新的脚本后关掉SessionTrace(0),否则,你的磁盘会很快就满了。
    监视Web服务器的日志文件。要准 备重新部署或清除你的Web服务器日志文件。太多的性能测试会使它膨胀的很快,尤其对于长时间的测试。你也可以把日志文件作为故障检查员帮助你检查WAS 报告的应用程序错误。
    限制脚本的项数和用户数。避免创建多于1000脚本或用户,除非有特殊原因需要多于这个数目的对象。虽然允 许的数目限制是由客户端的内存决定的,你会发现初始化这么多的脚本和用户会花费太多的时间
    跟踪HTTP重定向的选项。如果脚本已经录制了重定向的URL就不要再使用这项选项。如果你使用这项选项,重定向的页面将会计算两次。
    用户名和密码。 WAS的帮助文件说用USERNAME 和 PASSWORD填表是指定每一个WAS用户的方法。在我们的测试过程中使用USERNAME 和 PASSWORD会大大地增加关闭各个客户端的脚本的时间。从一些WAS的内部使用者得到建议,我们在QueryString里 指定USER 和 PASSWORD名字-值对。通过为USER 和 PASSWORD设置顺序访问机制,我们保证了密码总是和用户名对应。
     
    除 了WAS的一些缺陷外,WAS是你发布网站之前模拟用户使用你的网站的好工具。使用性能测试工具对于成功的网站程序发布有重要作用。这些工具允许你清楚你 的程序的性能特征,那么你就会清楚你的程序在高负载情况下会如何表现。你在操作网站的过程中得到的惊奇越少,你的站点就越可靠。
  • web check 链接和使用

    2010-03-24 10:56:05

    http://www.seoconsultants.com/tools/headers.asp#results

    使用本地址检查web w3c检查有页面、CSS等检查

    很多都需要测试人员自己去判断,报错信息分析。

    其实对于404页面跳转我也自己想了一些方法。
    第一种解决办法就是什么也不做,系统会自动导向自定义404页面,这样只需再custom一个404页面就可以了,以后其他类似这样的页面问题也可以同时解决了。

    第二种办法是在WordPress后台添加一个页面page,然后将这个页面的别名设置成archives,最好可以再这个页面上放上任何你想放的内容。

    第三种办法是给这个页面做个301永久重定向,转向首页。
  • B2C电子商务网站用户UE和用户UI测试重点

    2010-03-16 10:07:32

    最近接触了B2C电子商城测试工作,发现和以前web测试技术来说差不多,唯一不一样就是用户体验UE测试比较重要,也列入我的工作计划中。下面我就讲讲用户体验的测试重点。

    三个页面:
    一.首页:首页的重要性毋庸质疑,首页的好坏很大程度上决定了新访客的去留。首页的设计有很多不同的风格,不同的国家,不同的产品,其首页相差很大。页面的好坏也不能简单地由老大或者是设计师说了就算,而必须要结合其相应的WA数据来分析。

    二.搜索结果页:搜索结果页面是电子商务网站中浏览量最大的页面,因此,这个页面的用户体验的好坏,搜索结果的准确性,将直接影响网站顾客的购买(转化率)。

    三.产品页面:产品介绍页面将对客户的购买行为起到关键的作用,产品图片,文字说明,产品描述就相当于柜台服务员与产品说明书。

    一个流程
    B2C网站最重要的流程就是购物流程,包括几个重要功能:购物车、配送方式、支付方式、提交订单。这一流程的用户体验的重要性在于让客户能很容易的完成下单的过程。
    在这里我并不想说这三个页面一个流程具体怎么做才算是好的用户体验,因为用户体验好不好,一切都需要由数据来说话,需要根据不同的行业与用户,不断地作改进,做A/B Testing来完成,这也是WA系统与网站分析人员的重要性之所在。

    作为电子商务网站来说,良好的网站前台体验是跟产品体验与服务体验相结合的,很好的产品与服务如果放在一个很烂的网站上,或者是很好的网站卖很烂的产品与服务,都将影响客户的购买欲望。

    我相信如果B2C网站能很好的把握这三个重要页面与一个流程,一定能将网站的用户体验做很好的提升。

    还有网站用户体验是浏览者在浏览一个网站的过程中建立起来的一种纯主观的心理感受。因为它是纯主观的,就带有一定的不确定因素。个体差异也决定了每个用 户的真实体验是无法通过其他途径来完全模拟或再现的。但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计的实验来认识到。

      我们在做B2C电子商务的过程中一直很注重网站的客户体验,但更多的是从专业的角度上去分析和实施网站的客户体验。消费者需要的客户体验究竟是什么呢?

      信任和证明:网站给人以信任感意味着网站更可能使你目标市场的消费者转化成为你的用户,吸引高质量链接以及更可能在新闻中被提及。

      社会证明:让更多顾客购买,有一个看似非常简单、却被很多网站忽略的因素:社会证明。人们往往会因为其它人都购买了某商品而认为这个商品值得购 买,因此网站上增加“ 热销商品”(Best Sellers) 或 “推荐商品”(Recommended Items),这为顾客节省了购买考虑的时间,同时,增加更多来自第三方的肯定性反馈,如顾客的反馈信息,奖励及赞誉,商品/服务评论,案例/成功故事等 等。这类可能做起来很繁琐,但效果非常好,是基本措施。

      优惠多多:基于价格的促销办法主要有免运费、打折、现金回馈,赠小礼物等。

      购买流程简单:不要让我注册,不要像查户口一样让我填写一大堆资料,你们又不是警察。填写简单资料就可以买到我想要的商品最好。

      购物安全:安全是网民实施网上购物的最基本需求。尽量在消费者实施网上购买、结算、配送的全过程中都突出显示你们的行业及安全证明、承诺及保证。

      网站苗条:不要给我看太多的内容,我只不过是想来买个商品。花里胡哨的页面只会让我晕头转向,太多的功能我用不上,也不想用。

      没事别烦我:还没看清楚都有什么内容,迎宾小姐出现了(线客服弹出)我一跳,让我安静地会吧。

      在当前网站信息爆炸冲击用户视界的互联网时代,用户体验需要的是最简单的,进入到网站就可以傻瓜式地到自己所需要的信息,这时我们要相信简单就 好,一是把服务或者产品信息以最为方便的方式呈现给用户,二是用户看到信息后可以迅速下订单,三是如果是实物,有详细的配送说明。


  • 测试web报错info总结-续

    2010-03-15 09:28:28

    202 未执行命令,站点上的命令过多。
    211 系统状态,或系统帮助答复。
    212 目录状态。
    213 文件状态。
    214 帮助消息。
    215 NAME 系统类型,其中,NAME Assigned Numbers 文档中所列的正式系统名称。
    220 服务就绪,可以执行新用户的请求。
    221 服务关闭控制连接。如果适当,请注销。
    225 数据连接打开,没有进行中的传输。
    226 关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。
    227 进入被动模式 (h1,h2,h3,h4,p1,p2)
    230 用户已登录,继续进行。
    250 请求的文件操作正确,已完成。
    257 已创建“PATHNAME”。
    3xx -
    肯定的中间答复

    该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。 331 用户名正确,需要密码。
    332 需要登录帐户。
    350 请求的文件操作正在等待进一步的信息。
    4xx -
    瞬态否定的完成答复

    该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。 421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。
    425 无法打开数据连接。
    426 Connection closed; transfer aborted.
    450 未执行请求的文件操作。文件不可用(例如,文件繁忙)。
    451 请求的操作异常终止:正在处理本地错误。
    452 未执行请求的操作。系统存储空间不够。
    5xx -
    永久性否定的完成答复

    该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。 500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。
    501 在参数中有语法错误。
    502 未执行命令。
    503 错误的命令序列。
    504 未执行该参数的命令。
    530 未登录。
    532 存储文件需要帐户。
    550 未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。
    551 请求的操作异常终止:未知的页面类型。
    552 请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。
    553 未执行请求的操作。不允许的文件名。

    常见的 FTP 状态代码及其原因
    150 - FTP 使用两个端口:21 用于发送命令,20 用于发送数据。状态代码 150 表示服务器准备在端口 20 上打开新连接,发送一些数据。
    226 - 命令在端口 20 上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。
    230 - 客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。
    331 - 客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。
    426 - 命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。
    530 - 该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS 的配置可能拒绝匿名访问。
    550 - 命令未被执行,因为指定的文件不可用。例如,要 GET 的文件并不存在,或试图将文件 PUT 到您没有写入权限的目录。

     

    网页经常报错..

    该内存不能read written数值 叙述

    0 0x0000
    作业完成。

    1 0x0001
    不正确的函数。

    2 0x0002
    系统找不到指定的档案。

    3 0x0003
    系统找不到指定的路径。

    4 0x0004
    系统无法开启档案。

    5 0x0005
    拒绝存取。

    6 0x0006
    无效的代码。

    7 0x0007
    储存体控制区块已毁。

    8 0x0008
    储存体空间不足,无法处理这个指令。

    9 0x0009
    储存体控制区块位址无效。

    10 0x000a
    环境不正确。

    11 0x000b
    尝试载入一个格式错误的程式。

    12 0x000c
    存取码错误。

    13 0x000d
    资料错误。

    14 0x000e
    储存体空间不够,无法完成这项作业。

    15 0x000f
    系统找不到指定的磁碟机。

    16 0x0010
    无法移除目录。

    17 0x0011
    系统无法将档案移到 其他的磁碟机。

    18 0x0012
    没有任何档案。

    19 0x0013
    储存媒体为防写状态。

    20 0x0014
    系统找不到指定的装置。

    21 0x0015
    装置尚未就绪。

    22 0x0016
    装置无法识别指令。

    23 0x0017
    资料错误 (cyclic redundancy check)

    24 0x0018
    程式发出一个长 度错误的指令。

    25 0x0019
    磁碟机在磁碟找不到 持定的磁区或磁轨。

    26 0x001a
    指定的磁碟或磁片无法存取。

    27 0x001b
    磁碟机找不到要求的磁区。

    28 0x001c
    印表机没有纸。

    29 0x001d
    系统无法将资料写入指定的磁碟机。

    30 0x001e
    系统无法读取指定的装置。

    31 0x001f
    连接到系统的某个装置没有作用。

    32 0x0020 the process cannot access the file because it is being used by another process.

    33 0x0021
    档案的一部份被锁定, 现在无法存取。

    34 0x0022
    磁碟机的磁片不正确。 请将 %2 (volume serial number: %3) 插入磁碟机 %1

    36 0x0024
    开启的分享档案数量太多。

    38 0x0026
    到达档案结尾。

    39 0x0027
    磁碟已满。

    50 0x0032
    不支援这种网路要求。

    51 0x0033
    远端电脑无法使用。

    52 0x0034
    网路名称重复。

    53 0x0035
    网路路径找不到。

    54 0x0036
    网路忙碌中。

    55 0x0037 the specified network resource or device is no longer available.

    56 0x0038 the network bios command limit has been reached.

    57 0x0039
    网路配接卡发生问题。

    58 0x003a
    指定的伺服器无法执行要求的作业。

    59 0x003b
    网路发生意外错误。

    60 0x003c
    远端配接卡不相容。

    61 0x003d
    印表机伫列已满。

    62 0x003e
    伺服器的空间无法储存等候列印的档案。

    63 0x003f
    等候列印的档案已经删除。

    64 0x0040
    指定的网路名称无法使用。

    65 0x0041
    拒绝存取网路。

    66 0x0042
    网路资源类型错误。

    67 0x0043
    网路名称找不到。

    68 0x0044
    超过区域电脑网路配接卡的名称限制。

    69 0x0045
    超过网路 bios 作业阶段的限制。

    70 0x0046
    远端伺服器已经暂停或者正在起始中。

    71 0x0047
    由于连线数目已达上限,此时无法再连线到这台远端电脑。

    72 0x0048
    指定的印表机或磁碟装置已经暂停作用。

    80 0x0050
    档案已经存在。

    82 0x0052
    无法建立目录或档案。

    83 0x0053 int 24
    失败

    84 0x0054
    处理这项要求的储存体无法使用。

    85 0x0055
    近端装置名称已经在使用中。

    86 0x0056
    指定的网路密码错误。

    87 0x0057
    参数错误。

    88 0x0058
    网路发生资料写入错误。

    89 0x0059
    此时系统无法执行其他行程。

    100 0x0064
    无法建立其他的系统 semaphore

    101 0x0065
    属于其他行程专用的 semaphore

    102 0x0066 semaphore
    已经设定,而且无法关闭。

    103 0x0067
    无法指定 semaphore

    104 0x0068
    在岔断时间无法要求专用的 semaphore

    105 0x0069
    semaphore 先前的拥有权已经结束。

    106 0x006a
    请将磁片插入 %1

    107 0x006b
    因为代用的磁片尚未插入,所以程式已经停止。

    108 0x006c
    磁碟正在使用中或被锁定。

    109 0x006d pipe
    已经中止。

    110 0x006e
    系统无法开启指定的 装置或档案。

    111 0x006f
    档名太长。

    112 0x0070
    磁碟空间不足。

    113 0x0071
    没有可用的内部档案识别字。

    114 0x0072
    目标内部档案识别字不正确。

    117 0x0075
    由应用程式所执行的 ioctl 呼叫 不正确。

    118 0x0076
    写入验证参数值不正确。

    119 0x0077
    系统不支援所要求的指令。

    120 0x0078
    此项功能仅在 win32 模式有效。

    121 0x0079 semaphore
    超过逾时期间。

    122 0x007a
    传到系统呼叫的资料区域 太小。

    123 0x007b
    档名、目录名称或储存体标签语法错误。

    124 0x007c
    系统呼叫层次不正确。

    125 0x007d
    磁碟没有设定标签。

    126 0x007e
    找不到指定的模组。

    127 0x007f
    找不到指定的程序。

    128 0x0080
    没有子行程可供等待。

    129 0x0081 %1
    这个应用程式无法在 win32 模式下执行。

    130 0x0082 attempt to use a file handle to an open disk partition for an

    operation other than raw disk i/o.

    131 0x0083
    尝试将档案指标移至档案开头之前。

    132 0x0084
    无法在指定的装置或档案,设定档案指标。

    133 0x0085 join
    subst 指令 无法用于 内含事先结合过的磁碟机。

    134 0x0086
    尝试在已经结合的磁碟机,使用 join subst 指令。

    135 0x0087
    尝试在已经替换的磁碟机,使 用 join subst 指令。

    136 0x0088
    系统尝试删除 未连结过的磁碟机的连结关系。

    137 0x0089
    系统尝试删除 未替换过的磁碟机的替换关系。

    138 0x008a
    系统尝试将磁碟机结合到已经结合过之磁碟机的目录。

    139 0x008b
    系统尝试将磁碟机替换成已经替换过之磁碟机的目录。

    140 0x008c
    系统尝试将磁碟机替换成已经替换过之磁碟机的目录。

    141 0x008d
    系统尝试将磁碟机 subst 成已结合的磁碟机 目录。

    142 0x008e
    系统此刻无法执行 join subst

    143 0x008f
    系统无法将磁碟机结合或替换同一磁碟机下目录。

    144 0x0090
    这个目录不是根目录的子目录。

    145 0x0091
    目录仍有资料。

    146 0x0092
    指定的路径已经被替换过。

    147 0x0093
    资源不足,无法处理这项 指令。

    148 0x0094
    指定的路径这时候无法使用。

    149 0x0095
    尝试要结合或替换的磁碟机目录,是已经替换过的的目标。

    150 0x0096 config.sys
    档未指定系统追踪资讯,或是追踪功能被取消。

    151 0x0097
    指定的 semaphore事件 dosmuxsemwait 数目不正确。

    152 0x0098 dosmuxsemwait
    没有执行;设定太多的 semaphore

    153 0x0099 dosmuxsemwait
    清单不正确。

    154 0x009a
    您所输入的储存媒体标 元长度限制。

    155 0x009b
    无法建立其他的执行绪。

    156 0x009c
    接收行程拒绝接受信号。

    157 0x009d
    区段已经被舍弃,无法被锁定。

    158 0x009e
    区段已经解除锁定。

    159 0x009f
    执行绪识别码的位址不正确。

    160 0x00a0
    传到 dosexecpgm 的引数字串不正确。

    161 0x00a1
    指定的路径不正确。

    162 0x00a2
    信号等候处理。

    164 0x00a4
    系统无法建立执行绪。

    167 0x00a7
    无法锁定档案的部份范围。

    170 0x00aa
    所要求的资源正在使用中。

    173 0x00ad
    取消范围的锁定要求不明显。

    174 0x00ae
    档案系统不支援自动变更锁定类型。

    180 0x00b4
    系统发现不正确的区段号码。

    182 0x00b6
    作业系统无法执行 %1

    183 0x00b7
    档案已存在,无法建立同一档案。

    186 0x00ba
    传送的旗号错误。

    187 0x00bb
    指定的系统旗号找不到。

    188 0x00bc
    作业系统无法执行 %1

    189 0x00bd
    作业系统无法执行 %1

    190 0x00be
    作业系统无法执行 %1

    191 0x00bf
    无法在 win32 模式下执行 %1

    192 0x00c0
    作业系统无法执行 %1

    193 0x00c1 %1
    不是正确的 win32 应用程式。

    194 0x00c2
    作业系统无法执行 %1

    195 0x00c3
    作业系统无法执行 %1

    196 0x00c4
    作业系统无法执行 这个应用程式。

    197 0x00c5
    作业系统目前无法执行 这个应用程式。

    198 0x00c6
    作业系统无法执行 %1

    199 0x00c7
    作业系统无法执行 这个应用程式。

    200 0x00c8
    程式码的区段不可以大于或等于 64kb

    201 0x00c9
    作业系统无法执行 %1

    202 0x00ca
    作业系统无法执行 %1

    203 0x00cb
    系统找不到输入的环境选项。 \r

    205 0x00cd
    在指令子目录下,没有任何行程有信号副处理程式。

    206 0x00ce
    档案名称或副档名太长。

    207 0x00cf ring 2
    堆叠使用中。
    使 用Windows操作系统的人有时会遇到这样的错误信息:“0X????????指令引用的 0x00000000内存,该内存不能written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳 定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。

    内 存不能为read的问题是一个非常复杂的问题,造成的原因是多方面的,有硬件的原因,也有软件的原因,一时半会儿很难搞的清楚。就是对那些整天玩电脑的老 手来说也是一个非常辣手的问题。就我个人的理解,大多与使用非原版的系统而产生的不稳定性有关,轻易很难修复。所以我一般的主张是,只要不是频繁出现,可 以不必管它,点一下“确定”或者“取消”就可以了。如果真有兴趣想研究一下的话,你可以试着从一下方面寻找原因:
    1.
    内存条坏了或与主板不兼容 更换内存条
    2.
    双内存不兼容 使用同品牌的内存或只要一条内存
    3.
    内存质量问题 更换内存条
    4.
    散热问题 加强机箱内部的散热
    5.
    内存和主板没插好或其他硬件不兼容 重插内存或换个插槽
    6.
    硬盘有问题 更换硬盘
    7.
    驱动问题 重装驱动,如果是新系统,应先安装主板驱动
    8.
    软件损坏 重装软件
    9.
    软件有BUG 打补丁或更新到最新版本
    10
    软件和系统不兼容 给软件打上补丁或是试试系统的兼容模式
    11
    软件和软件之间有冲突 如果最近安装了什么新软件,卸载了试试
    12
    软件要使用其他相关的软件有问题 重装相关软件,比如播放某一格式的文件时出错,可能是这个文件的解码器有问题
    13
    病毒问题 杀毒
    14
    杀毒软件与系统或软件相冲突 由于杀毒软件是进入底层监控系统的,可能与一些软件相冲突,卸载试试
    15
    系统本身有问题 有时候操作系统本身也会有BUG,要注意安装官方发行的更新程序,SP的补丁,最好打上
    —— 最后我再强调一下,不是所有的电脑问题我们普通人都能搞得清摸得透的,以上的方法即使都已试过,谁也不能保证一定能够解决你的问题,因为电脑的问题的确很 复杂,“不能为read”这仅仅是一个症状,单凭这一个小小的症状是很难一下子找到问题所在的。我们都希望当说明了问题之后能够马上得到满意的回答,有时 候是不可能的,必须慢慢的摸索才能知道问题所在。如果想省心的话,也许只有最后这两点建议最有用:一是不管它(反正也没有大碍),二是重装一个稳定的系 统。说到系统,这也是我要说的重点,实际上我们的电脑之所以出现“内存不能为read的问题”,大多都与安装了Ghost系统有关,“内存不能为 read”现象可以说是Ghost系统的一个不可修复的通病。所以我建议你用原版系统盘重装系统。关于什么是Ghost系统,我在这里也解释一下(好多现 在正在使用Ghost系统的人都不知道自己的系统是Ghost系统),所谓Ghost系统,就是指像那些番茄花园、电脑公司版、雨林木风、萝卜家园等改版 本的XP系统,即非原版的系统。你可以通过点“我的电脑”右键-属性来查看你的系统属性。


    下面有两种处理方法可以试试:【如果不行只有恢复或重装系统了】
    1)试用命令排除
    开始-运行- 输入cmd-- 回车,在命令提示符下输入下面命令
    for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
    怕输入错误,可以复制这条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。
    2) 运行regedit进入注册表, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks 下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。

  • 测试web报错info总结

    2010-03-15 09:09:48

    今天总结一下所有web信息错误和访问web一些报错信息总结。

    HTTP 400 - 请求无效
    HTTP 401.1 -
    未授权:登录失败
    HTTP 401.2 -
    未授权:服务器配置问题导致登录失败
    HTTP 401.3 - ACL
    禁止访问资源
    HTTP 401.4 -
    未授权:授权被筛选器拒绝
    HTTP 401.5 -
    未授权:ISAPI CGI 授权失败

    HTTP 403 - 禁止访问
    HTTP 403 -
    Internet 服务管理器 的访问仅限于 Localhost
    HTTP 403.1
    禁止访问:禁止可执行访问
    HTTP 403.2 -
    禁止访问:禁止读访问
    HTTP 403.3 -
    禁止访问:禁止写访问
    HTTP 403.4 -
    禁止访问:要求 SSL
    HTTP 403.5 -
    禁止访问:要求 SSL 128
    HTTP 403.6 -
    禁止访问:IP 地址被拒绝
    HTTP 403.7 -
    禁止访问:要求客户证书
    HTTP 403.8 -
    禁止访问:禁止站点访问
    HTTP 403.9 -
    禁止访问:连接的用户过多
    HTTP 403.10 -
    禁止访问:配置无效
    HTTP 403.11 -
    禁止访问:密码更改
    HTTP 403.12 -
    禁止访问:映射器拒绝访问
    HTTP 403.13 -
    禁止访问:客户证书已被吊销
    HTTP 403.15 -
    禁止访问:客户访问许可过多
    HTTP 403.16 -
    禁止访问:客户证书不可信或者无效
    HTTP 403.17 -
    禁止访问:客户证书已经到期或者尚未生效 HTTP 404.1 -

    无法找到 Web 站点
    HTTP 404-
    无法找到文件
    HTTP 405 -
    资源被禁止
    HTTP 406 -
    无法接受
    HTTP 407 -
    要求代理身份验证
    HTTP 410 -
    永远不可用
    HTTP 412 -
    先决条件失败
    HTTP 414 -
    请求 - URI 太长
    HTTP 500 -
    内部服务器错误
    HTTP 500.100 -
    内部服务器错误 - ASP 错误
    HTTP 500-11
    服务器关闭
    HTTP 500-12
    应用程序重新启动
    HTTP 500-13 -
    服务器太忙
    HTTP 500-14 -
    应用程序无效
    HTTP 500-15 -
    不允许请求 global.asa
    Error 501 -
    未实现
    HTTP 502 -
    网关错误

    用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码。该状态代码记录在 IIS 日志中,同时也可能在 Web 浏览器或 FTP 客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。
    日志文件的位置
    在默认状态 下,IIS 把它的日志文件放在 %WINDIRSystem32Logfiles 文件夹中。每个万维网 (WWW) 站点和 FTP 站点在该目录下都有一个单独的目录。在默认状态下,每天都会在这些目录下创建日志文件,并用日期给日志文件命名(例如,exYYMMDD.log)。
    HTTP
    1xx -
    信息提示

    这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 100 - 继续。
    101 - 切换协议。
    2xx -
    成功

    这类状态代码表明服务器成功地接受了客户端请求。 200 - 确定。客户端请求已成功。
    201 - 已创建。
    202 - 已接受。
    203 - 非权威性信息。
    204 - 无内容。
    205 - 重置内容。
    206 - 部分内容。
    3xx -
    重定向

    客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 302 - 对象已移动。
    304 - 未修改。
    307 - 临时重定向。
    4xx -
    客户端错误

    发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 400 - 错误的请求。
    401 - 访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示: 401.1 - 登录失败。
    401.2 - 服务器配置导致登录失败。
    401.3 - 由于 ACL 对资源的限制而未获得授权。
    401.4 - 筛选器授权失败。
    401.5 - ISAPI/CGI 应用程序授权失败。
    401.7 – 访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。

    403 - 禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因: 403.1 - 执行访问被禁止。
    403.2 - 读访问被禁止。
    403.3 - 写访问被禁止。
    403.4 - 要求 SSL
    403.5 - 要求 SSL 128
    403.6 - IP 地址被拒绝。
    403.7 - 要求客户端证书。
    403.8 - 站点访问被拒绝。
    403.9 - 用户数过多。
    403.10 - 配置无效。
    403.11 - 密码更改。
    403.12 - 拒绝访问映射表。
    403.13 - 客户端证书被吊销。
    403.14 - 拒绝目录列表。
    403.15 - 超出客户端访问许可。
    403.16 - 客户端证书不受信任或无效。
    403.17 - 客户端证书已过期或尚未生效。
    403.18 - 在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0 所专用。
    403.19 - 不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。
    403.20 - Passport 登录失败。这个错误代码为 IIS 6.0 所专用。

    404 - 未找到。 404.0 -(无) – 没有找到文件或目录。
    404.1 - 无法在所请求的端口上访问 Web 站点。
    404.2 - Web 服务扩展锁定策略阻止本请求。
    404.3 - MIME 映射策略阻止本请求。

    405 - 用来访问本页面的 HTTP 谓词不被允许(方法不被允许)
    406 - 客户端浏览器不接受所请求页面的 MIME 类型。
    407 - 要求进行代理身份验证。
    412 - 前提条件失败。
    413 – 请求实体太大。
    414 - 请求 URI 太长。
    415 – 不支持的媒体类型。
    416 – 所请求的范围无法满足。
    417 – 执行失败。
    423 – 锁定的错误。
    5xx -
    服务器错误

    服务器由于遇到错误而不能完成该请求。 500 - 内部服务器错误。 500.12 - 应用程序正忙于在 Web 服务器上重新启动。
    500.13 - Web 服务器太忙。
    500.15 - 不允许直接请求 Global.asa
    500.16 UNC 授权凭据不正确。这个错误代码为 IIS 6.0 所专用。
    500.18 URL 授权存储不能打开。这个错误代码为 IIS 6.0 所专用。
    500.100 - 内部 ASP 错误。

    501 - 页眉值指定了未实现的配置。
    502 - Web 服务器用作网关或代理服务器时收到了无效响应。 502.1 - CGI 应用程序超时。
    502.2 - CGI 应用程序出错。application.

    503 - 服务不可用。这个错误代码为 IIS 6.0 所专用。
    504 - 网关超时。
    505 - HTTP 版本不受支持。

    常见的 HTTP 状态代码及其原因
    200 - 成功。 此状态代码表示 IIS 已成功处理请求。
    304 - 未修改。客户端请求的文档已在其缓存中,文档自缓存以来尚未被修改过。客户端使用文档的缓存副本,而不从服务器下载文档。
    401.1 - 登录失败。 登录尝试不成功,可能因为用户名或密码无效。
    401.3 - 由于 ACL 对资源的限制而未获得授权。 这表示存在 NTFS 权限问题。即使您对试图访问的文件具备相应的权限,也可能发生此错误。例如,如果 IUSR 帐户无权访问 C:WinntSystem32Inetsrv 目录,您会看到这个错误。 有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    187506 INFO: IIS 4.0
    的基础 NTFS 权限
    403.1 - 执行访问被禁止。 下面是导致此错误信息的两个常见原因: 您没有足够的执行许可。例如,如果试图访问的 ASP 页所在的目录权限设为“无”,或者,试图执行的 CGI 脚本所在的目录权限为“只允许脚本”,将出现此错误信息。若要修改执行权限,请在 Microsoft 管理控制台 (MMC) 中右击目录,然后依次单击属性和目录选项卡,确保为试图访问的内容设置适当的执行权限。
    您没有将试图执行的文件类型的脚本映射设置为识别所使用的谓词(例如,GET POST)。若要验证这一点,请在 MMC 中右击目录,依次单击属性、目录选项卡和配置,然后验证相应文件类型的脚本映射是否设置为允许所使用的谓词。

    403.2 - 读访问被禁止。验证是否已将 IIS 设置为允许对目录进行读访问。另外,如果您正在使用默认文件,请验证该文件是否存在。有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    247677
    错误信息:403.2 Forbidden:Read Access Forbidden403.2 禁止访问:读访问被禁止)
    403.3 - 写访问被禁止。 验证 IIS 权限和 NTFS 权限是否已设置以便向该目录授予写访问权。有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    248072
    错误信息:403.3 Forbidden:Write Access Forbidden403.3 禁止访问:写访问被禁止)
    403.4 - 要求 SSL。禁用要求安全通道选项,或使用 HTTPS 代替 HTTP 来访问该页面。如果没有安装证书的 Web 站点出现此错误,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    224389
    错误信息:HTTP 错误 403403.4403.5 禁止访问:要求 SSL
    403.5 - 要求 SSL 128。禁用要求 128 位加密选项,或使用支持 128 位加密的浏览器以查看该页面。如果没有安装证书的 Web 站点出现此错误,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    224389
    错误信息:HTTP 错误 403403.4403.5 禁止访问:要求 SSL
    403.6 - IP 地址被拒绝。您已把您的服务器配置为拒绝访问您目前的 IP 地址。有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    248043
    错误信息:403.6 - Forbidden:IP Address Rejected403.6 - 不可用:IP 地址被拒绝)
    403.7 - 要求客户端证书。您已把您的服务器配置为要求客户端身份验证证书,但您未安装有效的客户端证书。有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    190004
    错误 403.7 或“Connection to Server Could Not Be Established”(无法建立与服务器的连接)
    186812 PRB
    :错误信息:403.7 Forbidden:Client Certificate Required403.7 禁止访问:要求客户端证书)
    403.8 - 站点访问被拒绝。您已为您用来访问服务器的域设置了域名限制。有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    248032
    错误信息:Forbidden:Site Access Denied 403.8(禁止访问:站点访问被拒绝 403.8
    403.9 - 用户数过多。与该服务器连接的用户数量超过了您设置的连接限制。有关如何更改此限制的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    248074
    错误信息:Access Forbidden:Too Many Users Are Connected 403.9(禁止访问:连接的用户太多 403.9
    注意:Microsoft Windows 2000 Professional Microsoft Windows XP Professional 自动设置了在 IIS 上最多 10 个连接的限制。您无法更改此限制。
    403.12 - 拒绝访问映射表。 您要访问的页面要求提供客户端证书,但映射到您的客户端证书的用户 ID 已被拒绝访问该文件。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    248075
    错误信息:HTTP 403.12 - Access Forbidden:Mapper Denied AccessHTTP 403.12 - 禁止访问:映射表拒绝访问)
    404 - 未找到。 发生此错误的原因是您试图访问的文件已被移走或删除。如果在安装 URLScan 工具之后,试图访问带有有限扩展名的文件,也会发生此错误。这种情况下,该请求的日志文件项中将出现“Rejected by URLScan”的字样。
    500 - 内部服务器错误。 很多服务器端的错误都可能导致该错误信息。事件查看器日志包含更详细的错误原因。此外,您可以禁用友好 HTTP 错误信息以便收到详细的错误说明。 有关如何禁用友好 HTTP 错误信息的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    294807
    如何在服务器端禁用 Internet Explorer 5 的“显示友好 HTTP 错误信息”功能
    500.12 - 应用程序正在重新启动。 这表示您在 IIS 重新启动应用程序的过程中试图加载 ASP 页。刷新页面后,此信息即会消失。如果刷新页面后,此信息再次出现,可能是防病毒软件正在扫描 Global.asa 文件。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    248013
    错误信息:HTTP Error 500-12 Application RestartingHTTP 错误 500-12 应用程序正在重新启动)
    500-100.ASP - ASP 错误。 如果试图加载的 ASP 页中含有错误代码,将出现此错误信息。若要获得更确切的错误信息,请禁用友好 HTTP 错误信息。默认情况下,只会在默认 Web 站点上启用此错误信息。有关如何在非默认的 Web 站点上看到此错误信息的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    261200
    显示 HTTP 500 错误信息,而不显示 500-100.asp ASP 错误信息
    502 - 网关错误。 如果试图运行的 CGI 脚本不返回有效的 HTTP 标头集,将出现此错误信息。

    FTP
    1xx -
    肯定的初步答复

    这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。 110 重新启动标记答复。
    120 服务已就绪,在 nnn 分钟后开始。
    125 数据连接已打开,正在开始传输。
    150 文件状态正常,准备打开数据连接。
    2xx -
    肯定的完成答复

    一项操作已经成功完成。客户端可以执行新命令。 200 命令确定。

  • QC10.0 安装总结和遇到所有问题解总结

    2010-03-08 14:12:32

    https://h10078.www1.hp.com/cda/hpdc/display/main/secure/download_bin.jsp?zn=bto&cp=54_4012_100__
    输入QC的全名,然后注册个马甲,就可以下载qc10了,注册文件是
    <?xml version="1.0" encoding="UTF-8"?>
    <license version="1.0">
    <terms>
    <issued_to>Trinok (http://forum.ru-board.com/)</issued_to>
    <license_identifier>SN732563653</license_identifier>
    <edition>premier</edition>
    <tolerance>0</tolerance>
    <components>
    <component name="vc_enabled" quota="-1" />
    <component name="testlab" quota="-1" />
    <component name="management" quota="-1" />
    <component name="defects" quota="-1" />
    <component name="dashboard" quota="-1" />
    <component name="requirements" quota="-1" />
    <component name="advanced_reports" quota="-1" />
    <component name="components" quota="-1" />
    </components>
    </terms>
    <signature>Y/Ky0VJFMgAliCBuSSHyl6c5wuC2ROak3WVYrSa+zfr/3ei6u3xX0VRBvsauGO4KVn6ZEQRWvsTBOoDBHA2WnQ==</signature>
    </license>
    保存成qc10.0_license.license load这个文件就okay
    再多给几个可以使用
    <?xml version="1.0" encoding="UTF-8"?>
    <license version="1.0">
    <terms>
    <issued_to>Trinok (http://forum.ru-board.com/)</issued_to>
    <license_identifier>SN732563653</license_identifier>
    <edition>enterprise</edition>
    <tolerance>0</tolerance>
    <components>
    <component name="testlab" quota="-1" />
    <component name="dashboard" quota="-1" />
    <component name="vc_enabled" quota="-1" />
    <component name="defects" quota="-1" />
    <component name="advanced_reports" quota="-1" />
    <component name="components" quota="-1" />
    <component name="requirements" quota="-1" />
    <component name="management" quota="-1" />
    </components>
    </terms>
    <signature>m/1xY/Su/UoMz97O6+3mBP6P74KgApT08bi5DYi1rjJKkobHnRteZXhZmRs/woacF7vFgn05IXSO4RSf5dnExQ==</signature>
    </license>

    <?xml version="1.0" encoding="UTF-8"?>
    <license version="1.0">
    <terms>
    <issued_to>Trinok (http://forum.ru-board.com/)</issued_to>
    <license_identifier>SN732563653</license_identifier>
    <edition>starter</edition>
    <tolerance>0</tolerance>
    <components>
    <component name="vc_enabled" quota="-1" />
    <component name="testlab" quota="-1" />
    <component name="management" quota="-1" />
    <component name="defects" quota="-1" />
    <component name="dashboard" quota="-1" />
    <component name="requirements" quota="-1" />
    <component name="advanced_reports" quota="-1" />
    <component name="components" quota="-1" />
    </components>
    </terms>
    <signature>QCAV5SBqrlA1aVRmXAQNFUkG2vxyj5buX7wdbWH5ECtYW6ctNAsVswotCnBfAuC8eQSIQoDyDrgd2NXoy4DYXA==</signature>
    </license>
    之后运行你就会发现很多问题
    第一,
    先解决插件问题,把三个qc插件安装完

    第二解决test_type.cab问题,你可以使用QC Explorer,但是不能要求每个开发和测试人员去add这个插件
    插件下载http://www.genilogix.com/downloads/qualitycenter/qc-patches/10.0/
    这个链接很不错,下载对应操作系统补丁,我使用QC10_Patch10_Windows.zip

    第三解决IE访问问题

     1. 在服务端QC的安装目录下jboss\server\default\deploy目录下找到20qcbin.war这个war包。

      2. 用winrar打开这个目录,可以看到start_a.htm这个文件。

      3. 把start_a.htm这个文件copy出来修改添加|| (ua.lastIndexOf(’MSIE 7.0′) != -1)|| (ua.lastIndexOf(’MSIE 8.0′) != -1)后替换  war包中的start_a.htm文件。这里也可以直接在原文件修改。

      修改配置成功后,下次重启QC服务也不会有问题。原因是重启服务器的过程中会把20qcbin.war中的内容解压出来到临时目录下的。

      这里注意:改完上面的配置如果不想重启服务器,就需要把temp中的start_a.htm这个文件也增加ie7,ie8的支持。只改系统文件是需要重启QC服务的~


    error at login to QC 10 - test_type.cab


    http://forums11.itrc.hp.com/service/forums/questionanswer.do?threadId=1391650
Open Toolbar