web|xml|程序
测试 XML Web 服务和应用程序
注意:在公开发布的 Visual Studio.NET Beta 2 中可能不提供某些功能。
随着松散耦合的计算和 XML Web 服务的不断增长,各个组织越来越需要能够提供成功解决方案的工具,并且这些解决方案可以满足全球用户的不同需要。Visual Studio.NET 不仅为构建 XML Web 服务和应用程序提供了业界领先的工具,而且其中包括的某些重要功能可以用来测试这些应用程序的可扩展性、性能和功能完整性。
应用程序中心测试 (ACT) 是一种与 Visual Studio.NET 集成在一起的全新功能,它使开发人员可以收集性能指标并在 Visual Studio.NET 开发环境中对 XML Web 服务和应用程序进行功能测试。
ACT 提供了高级脚本功能,使开发人员可以模拟对 XML Web 服务或应用程序的多个并发页请求,并依此来分析相关性能。这可以为开发人员设计更快、更稳定的 XML Web 服务和应用程序提供帮助。
本文将讨论可以创建的主要测试类型及其属性。其中包括以下主题:
- 直接输入测试方案
- 使用浏览器方便地记录测试方案
- 通过脚本扩展测试方案
- 配置和保存测试方案以备日后重复使用或回归运行
然后,我们将重点介绍如何通过运行测试来生成应用程序负载、捕获日志文件中的结果、使用可定制的报告和视图来分析性能以及将测试过程自动化。创建测试
ACT 提供了两种测试类型:静态测试和动态测试。静态测试使用类似于 Microsoft Excel 的网格界面,不需要通过编程来创建。这些测试可使用主 ACT 用户界面来生成。而动态测试使用专门为创建应力测试而设计的对象模型,可以在 Visual Studio.NET 集成开发环境 (IDE) 中直接进行编辑。可以使用 Microsoft Visual Basic Scripting Edition (VBScript)、Microsoft JScript 或 Perl 创建这些测试。
开发人员可以通过多种方法创建每种类型的测试。以下将说明所有方法。
浏览器记录测试
“浏览器记录”测试创建方法可以从主 ACT 用户界面中进行调用。创建浏览器记录测试后,ACT 将在您浏览 Web 应用程序时捕获由浏览器发送的所有 HTTP 请求。它会捕获所有内嵌图像,而这些图像在其它情况下将由浏览器自动请求,因此,它将有助于创建准确的测试。您可以选择创建静态或动态的浏览器记录测试。
要使用此方法创建测试,请执行以下步骤:
- 单击工具栏上的“新建测试向导”按钮。
- 选择“记录新测试”,单击“下一步”,然后从向导选项中选择测试类型。
- 单击“启动记录”按钮。浏览器将打开为空白页。
- 象客户访问您的站点一样导航至您的页面或应用程序。
- 完成后,停止记录程序,然后为新创建的测试键入一个名称。
图 1:创建浏览器记录测试
如果选择动态测试,则可以使用 Visual Studio.NET IDE 编辑和运行该测试,从而可以非常轻松地对应用程序进行编码,并在同一环境中获取有关功能和性能的信息。
导入 Web 服务器日志文件
如果具有 Web 服务器日志(例如,如果日志已通过实时生产站点创建),就可以将它导入到该工具中,以创建一个准确模拟真实 Web 通信的测试。Web 服务器日志文件可以通过主 ACT 用户界面导入。
要导入日志,请执行以下步骤:
- 单击工具栏上的“新建测试向导”按钮。
- 选择“导入”,然后选择“Web 服务器日志”。
- 指定要导入的日志文件的名称和位置,然后选择其它导入选项。
- 提供新测试的名称,然后单击“完成”。该日志的内容即被添加到新的静态测试中。
Web 服务器日志文件必须遵循以下格式:
- Microsoft Internet 信息服务 (IIS) 日志文件格式
- NCSA 通用日志文件格式
- W3C 扩展日志文件格式
图 2:导入 Web 服务器日志文件
将静态测试更改为动态测试
如果使用上述某种测试创建方法创建静态测试,则可以轻松地将其转换为动态测试。由于动态测试允许通过脚本分析 Web 服务器的响应并执行条件操作,因此灵活性更强。要转换静态测试,请用鼠标右键单击所需的静态测试,然后选择“转换为动态测试”。该转换将在主 ACT 用户界面中完成。完成测试转换后,就可以在 Visual Studio.NET IDE 中编辑并运行转换后的测试。
图 3:动态测试配置测试
可以使用测试属性设置生成的并发请求数以及每个请求的唯一性。如果使用的是主 ACT 用户界面,用鼠标右键单击测试即可查看与其关联的属性。如果使用的是 Visual Studio.NET IDE,则可在“项目”属性视图中查看选定测试的属性。
每种测试都允许开发人员指定浏览器并发连接的准确数目,或指定该工具自动归档的每秒目标请求数。测试将运行一定的迭代次数或时间长度。
测试属性页还可以控制该工具是否自动创建唯一用户或者循环使用预定义列表中的用户名和口令。此选项对需要鉴别特定用户名的网站尤其有用。运行测试
创建并配置完测试后,用鼠标右键单击测试名并选择“运行测试”,即可执行测试。当测试运行时,该工具将显示运行时数据,提供请求率的可视状态并反馈应力测试期间可能发生的所有错误。
图 4:在运行时查看测试结果
分析结果
了解性能测试结果对于成功调整 XML Web 服务或应用程序是非常重要的。ACT 提供了一组用 XML 构建的、内容丰富的标准报告。开发人员可以轻松定制这些报告以说明与应用程序相关的信息。
在 Visual Studio.NET IDE 中运行测试时,可以默认获得以下信息:
- 每秒请求数
- 接收第一个字节的时间(响应时间指标)
- 接收最后一个字节的时间(响应时间指标)
- TCP 和 HTTP 错误
- 成功的请求数
主 ACT 界面包含与测试结果相关的详细信息。“结果”部分包含几个预定义图表,其中显示最常用的性能指标。
开发人员还可以使用定制图表选项创建一个图表,其中包含多个不同测试的指标以及已在所有测试中进行的运行次数。此外,结果将包含表格数据,显示已测试过的所有页的相关性能以及常规测试信息和设置。
图 5:使用定制图表选项将测试自动化
ACT 可以使开发人员通过控制 ACT 测试工具的应用程序对象模型实现测试过程的自动化。可以通过 Microsoft Visual Basic for Applications (VBA)、其它识别 COM 的脚本语言以及任何 Visual Studio.NET 语言访问该应用程序模型。这使得开发人员可以创建能够自动运行且功能强大的测试集,并大大简化运行回归测试以及其它常规任务的过程。总结
Visual Studio.NET 为构建 XML Web 服务和应用程序提供了业界领先的工具。它之所以能够使客户成功地构建和部署这些应用程序,关键在于它确保了其性能可以满足全球用户的不同需要。此外,客户需要验证其 XML Web 服务和应用程序功能的正确性以满足其业务的需要。为解决这些问题,Visual Studiuo.NET ACT 包括了多种功能,用于对所有集成到 IDE 中的 XML Web 服务和应用程序进行应力、负载和功能测试。采用 ACT,各个组织能够以较低的成本尽早将测试集成到项目中,并将测试当作其整个应用程序生存期的一部分来执行。测试组和操作组可以非常轻松地重复使用由开发人员开发的测试,并且可以实现测试过程的自动化,尽可能得提高工作效率和覆盖范围。这一切使得应用程序开发过程更易于预测和支持。