0

我需要自动化的我的Windows Mobile应用程序的测试。我的应用程序没有任何用户界面。因此,使用随机键击和鼠标点击的正常测试工具在这里不起作用。有没有可用于Windows Mobile的工具来测试只有后台处理?的Windows Mobile - 自动化测试工具用于非UI应用

+2

是什么应用呢?你想要测试什么?例如,如果您在应用中进行GPS位置记录,那么自动测试可能会涉及到设备的移动!你如何定义自动化测试?你不能只使用单元测试吗? – 2011-01-28 09:53:35

回答

0

你必须根据测试你想要什么级别的几个选项。

  • 综合测试

综合测试旨在测试在现实世界中的应用。因此,您可以创建所有“真实”的东西并编写代码来专门测试以确定您的条件是否得到满足。但我相信,如果你正在尝试测试GPS,那么这将不实际。因为有人实际上必须移动设备。通过嘲讽

  • 单元测试我为GPS测试之前做到了这一点。这个想法是,你正在测试的对象是SANDBOX。您确保所有外部引用(例如,不是对象的任何内容)都是接口。然后,您可以将这些接口与“仅测试”实现混为一谈。

    比如我曾在这里我们使用称为界面GPS测试:INmeaInterpreter火这将通过一个名为PositioningService类拾起某些事件。
    默认实现是第三方组件。 然而,随着INmeaInterpreter是一个接口,我们可以创造的,而不是使用真实数据的用途(例如)的NMEA文件读取的实现。这使我们能够测试PositioningService在某些(有时是奇怪的)场景下的工作方式。

    我会建议嘲笑其他外部引用。对数据库的调用可以只是一个带有数据库调用计数器的虚拟对象,如果调用该数据库调用,该对象会增加。然后你可以用一个NMEA文件编写一个测试,该文件应该导致数据库调用,然后在单元测试结束时检查该虚拟对象以查看是否发生了该调用。

    我们做了所有的上面可怕MSTest的,但你可以使用任何测试框架(我建议NUnit的)。我不确定是否有选项可以在设备上进行专门测试。我们在桌面上运行了所有测试,因为我们很好地分离了代码,以便设备特定的代码被隔离,并且可以轻松地用Desktop等效项代替。

    显然,单元测试的唯一问题是他们没有测试硬件


    我会建议(取决于项目规模和团队)做两种类型的测试,而且要放在更大的重点放在单元测试(因为他们更容易运行/管理)。

相关问题