基于.NET/WPF的应用程序测试套件

4
我对在现有产品范围内自动化一些应用程序/系统级别的测试感兴趣。我们的产品系列由几个不同的应用程序组成,使用.Net 3.5编写,并使用WPF作为表示层。
最终,我希望找到一个能够执行场景并报告结果的应用程序测试套件。我想要一种定义/记录场景的方法,并查看哪些场景通过/未通过测试的方式。
我没有任何自动化应用程序测试方面的经验。有人能否推荐一个测试套件?
8个回答

5

其他一些框架 -

White UI 测试框架:

http://www.codeplex.com/white

https://web.archive.org/web/20160204042701/http://blogs.msdn.com/b/john_daddamio/archive/2008/04/04/testing-wpf-applications-with-the-white-ui-test-framework.aspx

TestApi - 一个测试 API 库:

http://testapi.codeplex.com/

XAML 兼容性测试套件 V1:

https://web.archive.org/web/20160213183047/http://blogs.msdn.com/b/llobo/archive/2010/07/07/xaml-compliance-suite-v1.aspx

还可以参考以下文章 -

在 WPF 应用程序中自动化 UI 测试:

http://msdn.microsoft.com/en-us/magazine/dd483216.aspx

和 WPF 应用程序质量指南:

http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx

还有一个类似的问题在 Stack Overflow 上,也有一些链接 -

如何测试 WPF 用户界面?

如何测试 WPF 用户界面?


2

1
关于Test Complete和WPF的更多细节 - 自动化WPF测试: http://www.automatedqa.com/products/testcomplete/testing-wpf-apps/ - akjoshi

1

我使用QTP。它很好,但是价格昂贵。选择工具取决于你可以花多少钱。


1
从惠普购买软件是一种痛苦可怕的体验。我不会使用这个产品,因为我将不得不花费数小时来购买它。 - Jiyosub
HP,你听到了吗??人们不想购买你的产品只是因为购买它们太痛苦了。笑。 - katmoon

1
我会避免使用录制和回放系统,因为它们会产生脆弱的测试。这些系统在你不改变应用程序时似乎还可以,但一旦你被迫重新编写测试,它们就不再适用了。
一个更新、更敏捷友好的方法是使用像IcuTest(http://www.IcuTest.com/)这样的工具。

1

Visual Studio 2010 包含了一个新的产品,用于进行 GUI 测试。Test Manager 2010 包含在 Visual Studio 2010 Test ProfessionalVisual Studio 2010 Ultimate 中,可以记录和回放 GUI 应用程序中的操作,并提供丰富的报告。

这些工具与 Team Foundation Server 2010 集成,以存储测试用例、测试运行和在测试过程中发现的错误日志。

这篇博客文章(最终!)包括了 Visual Studio 中测试流程和工具的概述。重点关注测试工作流程,并查看附带的视频以获取更多信息。


1

如果你愿意付出努力,我发现White Framework是最灵活和可定制的方法,它是基于Microsoft UI Automation API构建的(支持WinForms、WPF和Win32)。我已经使用它开发了一个包含2500个测试(运行时间超过12小时)的GUI自动化测试套件。

White Framework也可以集成到NUnit或MSTest中。


0

NUnit是普遍认可的最佳.NET单元测试工具。至于集成测试等方面,不太确定。

如果您想测试WPF应用程序,几乎唯一的方法就是使用MVVM。将视图数据与其他所有内容分离允许您对虚拟视图进行单元测试。如果您还没有这样做,那么可能不值得这么做,因为这是一个如此大的架构变化。


基本上,你的视图模型是一个处理数据的类。数据来自哪里并不重要,因为它与视图和模型(大多数情况下)无关。使用MVVM的好处是可以对视图模型进行单元测试,因为将视图连接到它非常简单,从而创建了一个良好的单元测试平台。传统的WinForms应用程序之所以无法实现这一点,是因为界面与程序的其他方面密切相关。希望我翻译得没问题 :)。 - George
但是你如何测试视图? - vanja.
有什么需要测试的呢?视图和视图模型之间的链接非常简单,没有什么需要测试的。您可以通过查看界面来测试接口...只要您的视图模型测试正确,您的界面就会正常工作。 - George
1
@George 为了进一步解释你的答案,你可以创建一个“集成测试友好”的视图,可以附加类似WinAppDriver或TestStack.White的工具。这意味着xaml本身的编写目的是允许测试整个应用程序堆栈。 - Ben Power

0

我推荐几个自动化测试套件,适用于你的 .Net 3.5 和 WPF 应用程序。

Microsoft Visual Studio Test Professional:这是微软提供的一款综合性测试套件,与 Visual Studio 集成,可用于自动化应用程序测试。它包括测试用例管理、测试执行和报告等功能。

Telerik Test Studio:这是一款提供可视化界面的测试套件,用于定义和执行测试,并生成测试结果报告。它还包括负载测试和性能测试等功能。

NUnit:这是一个流行的开源测试框架,适用于 .Net 的单元测试和集成测试自动化。它包括测试用例管理和测试执行等功能,并可与其他工具(如持续集成系统)集成。

使用 White 进行自动化 UI 测试:这是一个 .Net 库,用于自动化测试基于 WPF 的应用程序。它允许你编写与应用程序用户界面交互的代码,并可用于功能测试和回归测试。

这些只是针对 .Net 和 WPF 应用程序的自动化测试套件中的几个。正确的选择将取决于你的产品范围和测试要求的具体需求。

欢迎来到我的频道: https://www.youtube.com/channel/UC8cggrSfpRTfjxpvvlDH6Gg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接