测试Microsoft Surface应用程序的最佳方法

最近我在Microsoft Surface应用程序中进行了大量的开发。 我还阅读了一些关于如何测试这些应用程序的内容。

目前我正在使用unit testing(包Microsoft.VisualStudio.TestTools.UnitTesting)来测试单个方法的低级function。 我正在使用Surface Simulator API测试的用户界面。 对于这两种方法,我总是在同一解决方案中创建一个额外的项目

但我不确定这是否真的是一个好方法。 unit testing或多或少都可以,但是通过单击各种内容并检查是否没有错误,或多或少地限制了用户界面的测试。 虽然这种检查并没有明确地完成。

所以我要问有没有其他方法可以有效地测试Surface应用程序?

以下是Surface团队的工作方式:Surface SDK中包含的模拟器API可让您自动将伪造的触摸输入发送到您的应用程序。 将其与WPF的“自动化同行”结合使用,以自动validation您的UI正在做正确的事情。 对于从标准WPF控件派生的Surface控件,您可以使用WPF附带的AutomationPeer类。 对于像ScatterView这样的特定于Surface的控件,Surface SDK包含它自己的一组AutomationPeer类。

如果你不熟悉自动化同行(大多数人都是),这里有一篇关于这个主题的好的介绍性博客文章: http : //miketwo.blogspot.com/2007/03/unit-testing-wpf-controls-with.html

测试Surface应用程序的最佳方法是将其安装在真实表上并使用它。 更好的是,让其他人使用它并观看它们。 当从菜单,标签,多人使用它,互联网连接断开等时重新打开应用程序时测试应用程序行为。当您是使用鼠标和键盘的唯一用户时,某些交互更容易。 。

当然,这是对unit testing和模拟器API的补充,在应用程序开发的早期阶段,与原型相比,可能更为重要。