测试微软Surface应用的最佳方法

3

最近我在进行Microsoft Surface 应用程序的开发。我也读到了关于如何测试这些应用程序的相关内容。

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

但是我不确定这是否真的是一个好方法,单元测试还可以,但是对于用户界面的测试更多的是通过点击各种元素并检查是否有错误来进行的。尽管这种检查并没有明确地进行。

因此,我想问是否有其他方法来有效地测试 Surface 应用程序?

2个回答

4
以下是Surface团队的操作方式:Surface SDK中包含的模拟器API可以让您自动向应用程序发送虚拟触摸输入。结合WPF的“自动化对等体”,可以自动验证您的UI是否正确运行。对于从标准WPF控件派生的Surface控件,可以使用WPF附带的AutomationPeer类。对于Surface特定的控件,如ScatterView,Surface SDK包括其自己的一组AutomationPeer类。
如果您不熟悉自动化对等体(大多数人都不熟悉),这里有一篇很好的介绍性博客文章:http://miketwo.blogspot.com/2007/03/unit-testing-wpf-controls-with.html

谢谢。这听起来不错,我会看一下的。 - RoflcoptrException
不好意思,你需要在任何窗口初始化时运行的代码中设置一些断点,并逐步调试以查看出现故障的原因。 - Robert Levy
那就可以了...你必须将这些资源添加到你的测试应用程序中,或者更好的方法是,将URI更改为引用特定的程序集,而不是相对路径。 - Robert Levy
但是,如果我在这里阅读(http://msdn.microsoft.com/en-us/library/aa970069.aspx#Programming_with_Pack_URIs),我已经使用绝对URI而不是相对URI。 - RoflcoptrException
你需要编辑URI以引用资源所在的特定程序集。 - Robert Levy
显示剩余2条评论

1

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

当然,这是对单元测试和模拟器API的补充,并且在应用程序开发的早期阶段,即原型设计阶段,比后来更重要。


谢谢。我尝试了你们两个的建议。我在真实设备上频繁使用了该应用程序,并且还有其他测试人员和潜在用户使用它。但是所有这些测试都不是真正的“定量”...所以我正在寻找一种更定量的方法。 - RoflcoptrException

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