测试之路是艰辛并漫长的,坚持到底。

发布新日志

  • VSTS For Testers读书笔记(3)

    2007-07-17 11:34:22

    三、录制WebTest
    1、录制一般的Web站点测试

    我们以经常使用到的VS2005自带的Personal Web Site Starter Kit为例,首先创建一个WebSite,

    之后在这个Solution上创建一个Test Project,如果安装了VSTS Team Suite版本,在新建项目时有专门的Test Project,确定是否安装有Team Edition For Software Testers,点击VSTS中Help里的About Microsoft Visual Studio,可以查看:

    新建一个Test Project:

    弹出IE后,在地址栏输入URL后就可以开始录制操作,同时实时的录制到VSTS中


    这样就完成了一个录制的过程。

    2、录制Web Service测试
    录制方法和录制Web 站点相同,创建测试项目后在IE中输入WebService的URL来记录操作。

    3、手动添加Web Service测试
    可以参考下面2篇文章,对于WebService测试加入了数据驱动,可以一次将测试数据全部加进去一次运行得到结果
    http://msdn2.microsoft.com/zh-cn/library/ms182557(VS.80).aspx
    http://blog.joycode.com/mango/archive/2007/02/28/94002.aspx
    4、查看WebTest
          Web 测试是一个包含一系列 HTTP URL 的 XML 文件。可以通过使用 Web 测试编辑器记录浏览器会话来创建 Web 测试。
    A、查询字符串参数和窗体发送参数已被检测出来并会自动生成到测试中。传输方法属性 GET 或 POST。
    B、Web 测试记录器会自动检测是否使用了隐藏的窗体字段。
    C、不记录图像。 Parse Dependent Links 属性设置默认为 True
    D、不记录重定向。只有在运行测试时自动根据请求重定向
     

    思考时间”是用户浏览网页所花费的时间,其中包括查看网页和确定下一步操作。思考时间不包括加载网页所需的时间。

    在记录 Web 测试时,会记录每个网页的思考时间。以后,在运行 Web 测试时,会使用或忽略思考时间。在“Web 测试查看器”中使用“思考时间”按钮,可以从使用思考时间切换到不使用思考时间。

    思考时间在负载测试过程中非常重要,因为它们决定了测试的节奏。务必要检查所记录的 Web 测试思考时间,以确保它们能够准确地反映真实的等待时间。在记录会话期间,用户非常容易分神,从而导致意外的超长思考时间,这会给负载测试带来负面影响。为了避免此问题,可以暂停记录器。

  • VSTS For Testers读书笔记(2)

    2007-07-17 11:33:52

    WebTest 
    一、概述
    二、测试引擎和测试记录器
    三、录制WebTest
    四、编辑WebTest
    五、 WebTest查看器
    六、创建编码的WebTest
    七、 WebTest的常见问题与解决
    八、参考

    一、概述
    1、“Web 测试”也称为声明性 Web 测试,它由一系列 HTTP 请求组成。Web 测试通过发出 HTTP 请求在协议层工作。Web 测试不运行 Javascrīpt。但是,可以在运行时通过使用 Web 测试插件、Web 测试请求插件、提取规则或编码 Web 测试来模拟 Javascrīpt 操作。

    2Web 测试用于测试 Web 应用程序的功能以及在负载下测试 Web 应用程序。Web 测试可用于性能测试和压力测试。

    3Web 测试的优点

     创建的 Web 测试可用于广泛的测试目的,包括:

    创建执行 Web 应用程序的功能测试。
    创建数据驱动的测试。
    创建并运行可以测试应用程序性能的测试。
    使用 .NET 语言进行测试创作、调试和测试扩展。

     Web 测试可自动处理这些 HTTP 操作:

    包括 VIEWSTATE 的隐藏字段相关性
    重定向
    从属请求
    身份验证
    通过 HTTPS/SSL 确保安全

    安全

    Web 测试、扩展名为 .webtest 的文件和 Web 测试结果可能包含敏感信息,可用于生成对计算机或网络的攻击。Web 测试和 Web 测试结果包含 URL 和连接字符串。在与他人共享测试或测试结果时应注意这一点。

    二、测试引擎和测试记录器
    Web 测试引擎
    1、有关 Web 测试引擎需要了解的一个关键概念是,Web 测试在 HTTP 层工作。Web 测试包含一个 HTTP 请求列表;这些请求主要都是由查询字符串参数、窗体参数和针对 Web 服务器的 URL 组成的。Web 测试引擎执行这些 HTTP 请求,从服务器(一个或多个)检索响应,以及收集计时数据。
    2、由于 Web 测试引擎在 HTTP 层起作用,因此它并不直接模拟客户端脚本,例如,Javascrīpt 或 ActiveX 控件。Web 测试关注在服务器上生成负载。因此,只影响 Web 页外观的客户端脚本对 Web 测试而言并不重要。那些在附加 HTTP 请求(例如,AJAX)中设置参数值或结果的客户端脚本影响服务器上的负载,而且可能需要手动修改 Web 测试来模拟该脚本
    测试记录器 Web Test Recorder
    1、Web Test Recorder 挂钩到 Internet Explorer 对象模型,侦听不同的导航事件。
    2、优点
          可以记录安全套接字层 (SSL) 和已验证身份的 Web 站点,而没有任何特殊的配置要求。
          不记录诸如图像、级联样式表(cascading style sheet,CSS)文件和 Javascrīpt 文件这样的依赖请求。
          该功能有助于 Web 测试能更好地还原装饰性的 Web 站点更改,使测试更关注于 Web 应用程序的实际使用。
    3、不足
          它可能无法记录由 Javascrīpt(例如,在 AJAX 站点上)、ActiveX 控件和某些类型的弹出窗口发出的请求 ,在多数情况下,可手动地将丢失的请求添加回 Web 测试来解决这些问题 。




  • VSTS For Testers读书笔记(1)

    2007-07-17 11:33:13

    VSTS For Testers
    一、概述
    二、测试类型
    三、Team Test API

    一、概述
     
    Visual Studio Team Edition for Testers 中提供了一套与 Microsoft Visual Studio 2005 紧密集成的测试工具
    Team Edition for Testers 使您能够创建、管理、编辑和运行测试,还可以获取和存储测试结果。除代码覆盖率度量外,Visual Studio 中还集成了几种测试类型,其中包括单元测试、Web 测试、负载测试和手动测试。
    可以使用 Visual Studio IDE 运行测试。此外,还可以从命令行运行手动测试之外的测试组或任何单项测试。
    因为测试工具与 Visual Studio Team System 的其他部分集成在一起,因此,可以将结果发布到数据库、生成趋势和历史记录报告、对比不同种类的数据,以及查看通过测试发现了多少 bug,具体都有哪些。

    下图是我们经常见到的Visual Studio Team System图


    二、测试类型

    单元测试
    是一种编程测试,可以使用能够创建测试的初始源代码的代码生成功能来创建单元测试,也可以完全手动编写测试。

    Web测试
    也称为声明性 Web 测试,它由一系列 HTTP 请求组成。

    负载测试
    主要目标是要模拟许多用户同时访问一台服务器的情况。

    手动测试
    是人工执行的测试。手动测试通常在列出步骤的文本文档或 Microsoft Word 文档中捕获。

    一般测试
    使用一般测试来包装可从命令行运行并返回 Pass Fail 值的现有测试、程序或第三方工具。

    顺序测试
    包含要以指定顺序运行的其他测试。

    三、Team Test API
    命名空间

    Microsoft.VisualStudio.TestTools.LoadTesting
    Microsoft.VisualStudio.TestTools.UnitTesting
    Microsoft.VisualStudio.TestTools.UnitTesting.Web
    Microsoft.VisualStudio.TestTools.WebTesting
    Microsoft.VisualStudio.TestTools.WebTesting.Rules

    程序集

    Microsoft.VisualStudio.QualityTools.WebTestFramework 
       
    Microsoft.VisualStudio.TestTools.WebTesting 
       Microsoft.VisualStudio.TestTools.WebTesting.Rules

    Microsoft.VisualStudio.QualityTools.UnitTestFramework 
       
    Microsoft.VisualStudio.TestTools.UnitTesting  
       
    Microsoft.VisualStudio.TestTools.UnitTesting.Web

    Microsoft.VisualStudio.QualityTools.LoadTestFramework 
       
    Microsoft.VisualStudio.TestTools.LoadTesting

    Web 测试 API 可用来创建编码的 Web 测试、Web 测试插件、请求插件、请求、提取规则以及验证规则。
     

    转载自:http://www.cnblogs.com/oscarxie/archive/2007/04/09/706094.html

  • VSTS For Testers读书笔记(9)

    2007-07-17 11:32:35

    四、编辑WebTest
    9、创建WebTest插件
    Web 测试插件为隔离 Web 测试中各个主声明语句外部的代码提供了一种手段。自定义的 Web 测试插件为在运行 Web 测试时调用某些代码提供了途径。在每个测试迭代中,Web 测试插件都要运行一次。
    通过从 WebTestPlugin 基类派生您自己的类,可以创建自定义的 Web 测试插件。
    可以将自定义 Web 测试插件用于已记录的 Web 测试,这使您只需编写最少量的代码即可获得对 Web 测试的更大控制。此外,还可以将它们用于编码的 Web 测试。
    默认情况下,WebTest没有提供预定义的WebTest插件:

    创建一个WebTest Plugin:
    1、新建一个类库项目
    2、然后右击并选择“添加引用”。
    在“.NET”选项卡上,选择“Microsoft.VisualStudio.TestTools.WebTesting”。单击“确定”。
    3、编写一段获取测试次数的代码,使用MSDN上提供的示例代码:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.VisualStudio.TestTools.WebTesting;
    namespace SampleRules
    {
        public class SampleWebTestPlugin : WebTestPlugin
        {
            static int testIterationNumber;
            public override void PostWebTest(object sender, PostWebTestEventArgs e)
            {
            }
            public override void PreWebTest(object sender, PreWebTestEventArgs e)
            {
                e.WebTest.Context["TestIterationNumber"] = testIterationNumber;
                testIterationNumber++;
            }
        }
    }
    4、Build类库,将生成的Dll文件添加引用到测试项目中

    5、再次点击设置Web测试插件按钮,可以看到MyWebTestPlugin

    点击确定后,可以在WebTest属性中Web测试插件中添加了MyWebTestPlugin:

    6、添加此插件后,运行测试时,将记录下测试的迭代次数。

    7、MyWebTestPlugin Demo下载。

    10、其他编辑功能
    选中WebTest,点击右键,可以看到提供的编辑功能,例如:手动添加请求,添加Web服务请求,添加注释等等,
  • VSTS For Testers读书笔记(8)

    2007-07-17 11:30:08

    四、编辑WebTest
    8、创建WebTest请求插件
    •请求是构成 Web 测试的声明性语句。请求插件为隔离 Web 测试中各个主请求外部的代码提供了一种手段。自定义的请求插件为您提供了一条调用代码的途径,因为每个请求都在一个 Web 测试中运行。通过从 WebTestRequestPlugin 基类派生您自己的类,可以创建自定义的请求插件。
    •自定义的请求插件可以用于已记录下的任何测试。
    •还可以将自定义请求插件用于编码的 Web 测试。
    默认情况下,在WebTest中没有提供任何的WebTest请求插件:

    创建一个自定义的WebTest Request Plugin
    1、新建的类库项目
    2、然后右击并选择“添加引用”。
    在“.NET”选项卡上,选择“Microsoft.VisualStudio.TestTools.WebTesting”。单击“确定”。
    3、编写一段获取代理机器名和请求的URL的代码,使用MSDN上提供的示例代码:
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using Microsoft.VisualStudio.TestTools.WebTesting;
    namespace RequestPluginNamespace
    {
        public class MyWebRequestPlugin : WebTestRequestPlugin
        {
            public override void PostRequest(object sender, PostRequestEventArgs e)
            {
                MessageBox.Show(e.WebTest.Context.AgentName);
            }
            public override void PreRequest(object sender, PreRequestEventArgs e)
            {
                MessageBox.Show(e.Request.Url);
            }
        }
    }
    4、Build类库,将生成Dll添加引用到测试项目中


    5、再次点击设置请求插件,可以看到MyWebRequestPlugin

    点击确定后,可以在WebTest属性中看到请求插件中添加了MyWebRequestPlugin

    6、添加此插件后,运行测试时,每次Web请求都会弹出一个代理名和Web请求URL的对话框。

    7、MyWebRequestPlugin Demo下载
252/2<12
Open Toolbar