超越 Visual Studio 2010 Test Professional:使用 Telerik WebUI Test Studio





0/5 (0投票)
本文旨在阐明 Telerik WebUI Test Studio 如何超越 Visual Studio 2010 Test Edition,提供更丰富的用户体验和强大的 Web 测试解决方案。
本文旨在阐明 Telerik 的 自动化测试工具 如何超越 Visual Studio 2010 Test Edition,提供更丰富的用户体验和强大的 Web 测试解决方案。其目的也是为了帮助读者理解我们在解决方案中试图解决的测试自动化方面的关键挑战,而不仅仅是“Hello World”测试用例。
随着 Visual Studio 2010 的发布,微软引入了自动化 Windows 平台应用程序用户界面 (UI) 的能力。VS2010 Ultimate Edition 推出了 CodedUI 测试框架和 MTM (Microsoft Test Manager) 作为为测试人员和 QA 提供的解决方案,以帮助管理测试创建和测试自动化。我们相信这是一个伟大的进步,对我们的客户尤其是在测试和实验室管理领域是一项福音。Visual Studio / .NET 平台传统上是开发者专属的,但现在随着 VS2010,它也涵盖了测试人员和 QA 专业人员。
测试自动化不仅仅是录制按钮点击,还包括录制后的管理。它不仅仅在于您能多快地录制测试,还在于您能多快地解决失败。它不仅仅在于支持多少种不同的技术,还在于它能多好地支持您关心的技术。所有这些在测试自动化方面都至关重要,并且在评估任何测试自动化解决方案时都很重要。
专业化解决方案 vs. “一刀切”解决方案:WebUI Test Studio 如何满足您的 Web 测试需求?
Visual Studio 2010 在测试自动化方面的做法是提供一个广泛的,“一刀切”的解决方案。它们试图用一种通用的方法解决所有技术的所有自动化挑战,这导致了对每种技术带来的具体自动化需求和挑战的泛化。
例如,自动化 Web/AJAX 应用程序与 Windows Forms 或 WPF 应用程序相比,具有独特的、不同的挑战和需求。处理 Web 应用程序时,您通常会处理 HTML 和 JavaScript。您正在验证一个简单的标签和具有文本内容的复杂多级标签。对于 WPF 或 Silverlight,您正在处理具有复杂属性的 Visual Trees,并处理丰富的转换和复杂的动画。用一种同质化的解决方案和 UI 完全满足两者的需求的想法是理想的,但并不切实际。
通过 WebUI Test Studio,我们正在努力满足 Web 应用程序的特定自动化需求。我们研究了测试人员在自动化 Web 和整个测试生命周期中的工作流程,这帮助我们识别出那些自动化耗时最长或非常繁琐的领域。我们构建了许多专业的、在 VS 2010 中找不到的满足这些需求的功能,以下是一些值得注意的:
- DOM Explorer:一个适用于您的 Web 应用程序的完整 DOM 浏览器,支持嵌套框架,并允许您对整个 DOM 进行丰富的搜索。您还可以通过一次右键单击直接导航到特定的嵌套 Frame 或 iFrame,并直接从中创建验证。此功能减少了您对外部工具的依赖,并减少了我们工具和其他工具之间的上下文切换。
- Web Verifications (Web 验证):除了属性/内容和 CSS 可见性验证之外,还可以直接从 UI 构建计算的或内联样式的验证。这类场景在验证 Web 元素的位置和分层时很重要。
- DOM Captures on Failure (失败时捕获 DOM):当您的测试失败时,我们会捕获测试失败状态下的页面 DOM,并显示给您,以帮助您更轻松地解决失败。
- Execution Intelligence (执行智能):执行引擎从根本上构建为处理 AJAX 解决方案。如果您正在执行 Web 测试,引擎将在运行每个步骤之前内在确保元素存在且在页面上可见。可见性检查使用实际的 HTML/CSS 可见性检查,而不是 UIAutomation,后者更可靠。对于 Silverlight 场景,我们还通过对实际视觉元素进行运动检查来确保元素不会移动。此功能极大地提高了执行的可靠性,因此您无需在测试中添加 sleep 和 wait。
- Find Expressions & Live Validation (查找表达式和实时验证):正如许多经验丰富的测试人员会告诉您的那样,由于 Web 应用程序在演进过程中元素的更改,测试经常会失败。Find Expression 是一个 UI 编辑器,它允许您通过建议功能轻松解决元素查找失败的问题,该功能可以帮助您理解查找失败的原因。它还带有一个集成的 DOM,这样您就可以在那里即时验证您是否找到了正确的元素,而无需每次编辑后都执行测试。一个省时器。
编码 vs. 无编码 (脚本式) 自动化
我是否总是需要编写代码来自动化我的测试?如果我的测试人员不精通 C# 或 VB.NET 怎么办?我是否只能进行手动测试?
我们不认为您总是需要编写代码来构建测试自动化。在 Visual Studio 2010 中,要正确执行真实的业务应用程序的测试自动化,您总是需要回退到 CodedUI 测试,这是一个纯 C# 或 VB.NET 类,它利用 CodedUI 框架进行自动化。Visual Studio 2010 中的元素映射——也称为 UIMap——会生成一个复杂的类层次结构,以代码中的强类型对象的形式表示元素。在测试维护方面并不方便。例如,VS2010 中一个简单的 15 步测试会为测试方法生成大约 1000 行代码。
是的,总会有需要回退到代码的情况,但这并不意味着您的整个测试都必须是代码。
在 WebUI Test Studio 中,我们设计了我们的解决方案,允许大多数 QA/测试专业人员在大多数情况下无需编写代码即可进行自动化。当需要复杂的逻辑时,可以将整个测试中的一两个步骤转换为 C# 或 VB.NET 代码进行编写,而无需转换整个测试。这种方法不仅简化了非开发人员 QA 专业人员的测试自动化,还使测试维护变得更加容易。您可以通过更改属性来更新测试,而不是编辑代码并进行代码重构。我们的许多使用 WebUI Test Studio 的客户最终会在不编写任何代码的情况下完成 90-95% 的测试自动化。
UIAutomation vs. 完全应用程序访问
UIAutomation 技术是辅助功能 API 的演进,它是屏幕阅读器和其他辅助技术使视障用户能够与计算机交互的机制。自 2005 年以来,微软一直在推广 UIAutomation 作为不仅用于辅助功能工具,还用于测试自动化的解决方案。在某种程度上,他们试图一石二鸟。
UIAutomation 依赖于应用程序级别的挂钩,这些挂钩允许外部程序调用或从应用程序检索信息。UIAutomation 100% 依赖于应用程序的开发人员是否允许访问应用程序的这些部分;否则,这些部分就无法自动化。通过 UIAutomation,我们发现自己总是会遇到“开发者未公开”的说法,最终不得不手动运行测试,因为开发者没有足够的时间来公开所需的功能。
此外,UIAutomation 不提供真实用户模拟。调用 UIAutomation API 时,您实际上是在调用应用程序内的某个方法。对于许多应用程序来说,用户体验实际上可能大不相同。
在构建 WebUI Test Studio 时,我们希望为测试人员构建一个解决方案,让他们能够自由地完全访问被测应用程序,没有任何限制。因此,我们完全避免了对 UIAutomation 的过度依赖,只在某些场景下使用它。我们的架构依赖于对应用程序的完全访问,无论是 Silverlight 应用程序还是 Html 页面。您可以访问应用程序中的任何元素,并对其执行真实用户操作。
VS 2010 解决方案几乎完全基于 UIAutomation 构建和依赖。它是所有桌面技术自动化的解决方案,包括他们可能包含的任何未来 Silverlight 应用程序支持。
跨浏览器支持
随着 VS2010 的发布,浏览器支持矩阵包括 IE 和 Firefox。WebUI Test Studio 目前支持 IE/Firefox 和 Safari,Chrome 支持将在 2010 年底前提供。
Silverlight 自动化
VS2010 不支持 Silverlight。WebUI Test Studio 具备完整的 Silverlight 录制/回放兼容性,并针对 Silverlight 应用程序自动化提供丰富的专业功能。
- Visual Tree inspection (视觉树检查):查看 Silverlight 应用程序的整个视觉树,并定位特定元素进行验证。
- Rich support for Out-Of-Box controls (对内置控件的丰富支持):所有 Silverlight 的内置控件都得到支持,每个控件都有专门的翻译器。例如,在使用 Silverlight Calendar 控件并选择日期时,我们的翻译器能够识别所使用的控件,并能确定您正在执行的操作。因此,它录制的是选择特定日期,而不是针对低级元素进行点击。这使得测试易于理解和更新。
- Custom Controls Support (自定义控件支持):根据客户尝试自动化的真实业务应用程序的经验,我们发现许多应用程序使用开发团队内部构建的自定义控件。有些继承自 Panels/Calendars/Checkboxes 等。我们的工具提供了一个智能控件匹配功能,允许它降级到基控件类型,并提供该控件的常用任务,而不是仅仅降级到一个仅具有通用任务的原始基元素。
对 Telerik ASP.NET AJAX 和 Silverlight 控件的原生支持
如果您在要自动化的应用程序中使用 RadControls (ASP.NET AJAX 或 Silverlight),那么您将找不到比 WebUI Test Studio 更适合您应用程序的测试自动化工具。
WebUI Test Studio 为每个 RadControl 提供丰富的支持
- RadControls 在您的页面上会得到视觉上的自动检测。
- 在控件内执行操作时,该操作会通过为每个控件构建的特殊翻译器进行路由,以帮助以比原始点击更高一级别的上下文来识别操作,例如:TreeView=>Expand,Calendar=>SelectDate,DropDown=>SelectItem
- 每个控件都有一套专门的验证和同步任务,这些任务会为您的应用程序动态构建,以验证您想要的理想状态。

使用 WebUI Test Studio,您将能够
- 花费更多时间构建测试场景,以确保您的应用程序质量,而不是试图弄清楚如何在控件上自动执行操作以及理解其渲染的复杂性。
- 您无需担心向后兼容性。随着每个 RadControls 的发布,翻译器也会更新,因此您的测试可以继续工作,而无需修改任何测试。
客户支持与发布敏捷性
在 Telerik,我们拥有世界一流的支持,从您下载试用版的那一天开始。每个试用用户不仅可以使用社区论坛提问,还可以提交支持工单,我们的支持专业人员将在 24-48 小时内回复。
每个许可证都包含 1 年的支持。每张提交的工单也会在 24 小时内处理。如果您仍然遇到问题,我们会安排 GoToMeeting 来指导您完成自动化场景,并在需要时提供实用的技巧和解决方案。
一年三次的发布周期和每周一次的公开内部版本发布,您的功能请求和 Bug 修复将以更快的速度提供,这是其他任何产品都无法比拟的。
Visual Studio 的发布周期通常为 1-2 年,获得功能请求的批准和实施需要数月甚至数年。