《VSTS For Testers初探》

来源:互联网 发布:node pm2 编辑:程序博客网 时间:2024/04/28 16:22
最近在研究使用VSTS For Testers,希望对公司项目的测试能够有所帮助,但是网上的相关资料极少,MSDN的文章又是翻译的不甚理想,所以进度较慢。

现将最新的整理文档贴出,希望对需要的朋友有所帮助。

图片贴出来太麻烦,有兴趣的朋友可以留言给我,我发送Word文档。

文档的提纲如下:

一、概述

1VSTT简介

2)测试类型

3Team Test 命名空间

二、Web 测试

1)概述

2)测试引擎和测试记录器

3)录制WebTest

4)编辑WebTest

5WebTest查看器

6)创建编码的WebTest

三、load测试

1)概述

2)方案

3)模式

4)组合

5)其他设置

6)运行LoadTest

7)监视与分析

一、概述

1)VSTT简介

•Visual Studio Team Edition for Testers 是MS提供的一套与 Microsoft Visual Studio ,2008 紧密集成的测试工具

•Team Edition for Testers 使您能够创建、管理、编辑和运行测试,还可以获取和存储测试结果。Visual Studio 中集成了几种测试类型,其中包括单元测试、数据库单元测试、Web 测试、负载测试和手动测试等。

•可以使用 Visual Studio IDE 运行测试。此外,还可以从命令行运行手动测试之外的测试组或任何单项测试。

•因为测试工具与 Visual Studio Team System 的其他部分集成在一起,因此,可以将结果发布到数据库、生成趋势和历史记录报告、对比不同种类的数据,以及查看通过测试发现了多少缺陷,具体都有哪些。

2)测试类型

•单元测试

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

•数据库单元测试

VS2008新增的功能,可以对数据库的查询结果,存储过程,自定义函数,触发器等进行测试,验证。

示例如下:

测试结果:

Web测试

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

负载测试

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

•手动测试

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

•一般测试

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

•顺序测试

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

3)Team Test 命名空间

命名空间

Microsoft.VisualStudio.TestTools.LoadTesting

Microsoft.VisualStudio.TestTools.UnitTesting

Microsoft.VisualStudio.TestTools.UnitTesting.Web

Microsoft.VisualStudio.TestTools.WebTesting

Microsoft.VisualStudio.TestTools.WebTesting.Rules


二、Web 测试

1)概述

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

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

2)测试引擎和测试记录器

Web 测试引擎

1、有关 Web 测试引擎需要了解的一个关键概念是,Web 测试在 HTTP 层工作。Web 测试包含一个 HTTP 请求列表;这些请求主要都是由查询字符串参数、窗体参数和针对 Web 服务器的 URL 组成的。Web 测试引擎执行这些 HTTP 请求,从服务器(一个或多个)检索响应,以及收集计时数据。

2、由于 Web 测试引擎在 HTTP 层起作用,因此它并不直接模拟客户端脚本,例如,JavaScript 或 ActiveX 控件。Web 测试关注在服务器上生成负载。因此,只影响 Web 页外观的客户端脚本对 Web 测试而言并不重要。那些在附加 HTTP 请求(例如,AJAX)中设置参数值或结果的客户端脚本影响服务器上的负载,而且可能需要手动修改 Web 测试来模拟该脚本

测试记录器 Web Test Recorder

1、Web Test Recorder 挂钩到 Internet Explorer 对象模型,侦听不同的导航事件。

2、优点

可以记录安全套接字层 (SSL) 和已验证身份的 Web 站点,而没有任何特殊的配置要求。

不记录诸如图像、级联样式表(cascading style sheet,CSS)文件和 JavaScript 文件这样的依赖请求。

  该功能有助于 Web 测试能更好地还原装饰性的 Web 站点更改,使测试更关注于 Web 应用程序的实际使用。

3、不足

它可能无法记录由 JavaScript(例如,在 AJAX 站点上)、ActiveX 控件和某些类型的弹出窗口发出的请求,在多数情况下,可手动地将丢失的请求添加回 Web 测试来解决这些问题 。

3)录制WebTest

添加一个web test

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

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

2、录制Web Service测试

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

3、查看WebTest

Web 测试是一个包含一系列 HTTP URL 的 XML 文件。可以通过使用 Web 测试编辑器记录浏览器会话来创建 Web 测试。

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

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

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

4)编辑WebTest

1、QueryString查询字符串参数 和 Form Post窗体发布参数

查询字符串参数一般是URL中如XXX.asp?问号后的内容,窗体发布参数是请求页面中Form中的内容,同时也可以提取出隐藏的窗体参数,如userpwd={{$HIDDEN1. userpwd}},这些参数可以使用数据绑定来进行参数化,在后面会介绍到。

2、添加验证规则和自定义验证规则

预定义的规则包括以下几个:

l 查找文本

l 窗体区域

l 最大请求时间

l 请求属性值

l 所需的标记

验证级别

可以使用请求的“验证级别”来控制在特定负载测试中使用哪些验证规则。可以将每个规则的验证级别设置为“低”、“中”或“高”。通常,所设置的验证级别越高,测试的运行速度就越慢。

验证规则的执行对性能有一定影响。

将负载测试设置设为“低”可执行最少的请求设置级别,适合重载测试和压力运行。将负载测试设置设为“高”可执行最多的规则,适合轻量负载测试期间使用。

自定义验证规则:

通过从 ValidationRule 类派生,可以创建自己的验证规则。

在VSTS For Testers中提供了Test API,因此可以通过建立类库,生成dll文件引用。

5)WebTest查看器

a、Web 测试查看器是用于验证 Web 测试运行和调试 Web 测试问题的主要工具。

b、通过使用“Web 测试查看器”窗口中的两个窗格,可以查看 Web 测试中每个请求的详细信息以及对这些请求产生的响应。

c、顶部窗格显示四列:

请求

显示测试中记录的 HTTP 请求。请求旁边的标志符号指示在完成请求之后该请求是通过还是失败。

HTTP 状态

指示测试运行期间的请求状态。所有请求的开始状态均为“尚未提交”。在测试运行时将更新状态。在测试结束时,请求状态通常为“OK”。

响应时间

显示在完成请求之后 Web 服务器的总响应时间。

大小

显示在完成之后请求的响应大小。

d、Web 测试播放器的下半部分包含以下五个选项卡式页:

Web 浏览器

显示从当前 HTTP 请求返回的呈现页。

请求

显示当前 HTTP 请求的内容。

响应

显示收到的对当前 HTTP 请求的 HTTP 响应。

上下文

显示请求上下文的内容

详细信息

显示有关当前显示的网页的特定详细信息,其中包括应用的所有验证和提取规则及其结果。此页还显示 Web 测试的上下文集合。该上下文集合是一组名称/值对,其中包含在 Web 测试期间保持的重要信息。

Web浏览器:不能完全显示Web页面的信息,因为图片和CSS依赖信息不会被记录下来

6)创建编码的WebTest

•通常,通过将现有的已记录 Web 测试转换为编码的 Web 测试来创建编码的 Web 测试。记录的 Web 测试以“Web 测试编辑器”中可见的请求

树开头。编码的 Web 测试是一个生成一系列 WebTestRequest 的 .NET 类,可以使用 C# 或 Visual Basic 编写。可以创建编码的 Web 测试

,但推荐做法是将记录的 Web 测试转换为编码的 Web 测试。

•将记录的 Web 测试转换为编码的 Web 测试之后,可以像编辑任何其他源代码一样编辑该代码。此外,还可以添加循环和分支结构,动态更改

测试中的请求数,以及动态生成测试命中的 URL 集。

点击 按钮,生成对应的webtest code文件。

分支

例如:Web 测试使用数据绑定的用户凭据登录到 Web 站点,如果用户在该系统中不存在,必须创建一个新用户帐户。

循环

例如:Web 测试执行搜索,然后在搜索结果中连接每个链接。

运行并调试编码的Web 测试

对WebTest编程后,需要运行编码的WebTest,验证是否通过

在 Test View 或 Test Manager 窗口中选择该测试,并单击 Run 工具栏按钮