我需要自动测试我的windows移动应用程序。我的应用程序没有任何UI。因此,正常的测试工具,使用随机的键笔画和鼠标点击将无法在这里工作。是否有任何工具可供windows移动测试仅用于后台处理?
发布于 2011-01-31 17:39:33
您有几个选项取决于您想要的测试级别。
集成测试旨在测试实际世界中的应用程序。因此,您将创建所有“真实”的东西,并编写代码专门测试您的条件是否满足。然而,我相信,如果你想测试GPS,那么这将是不切实际的。因为实际上必须有人移动设备。
模拟
我以前也做过GPS测试。这个想法是用沙箱把被测试的对象放在沙箱里。确保所有外部引用(例如,任何不是对象的引用)都是接口。然后用“只测试”实现来模拟这些接口。
例如,我在GPS测试中使用了一个名为: INmeaInterpreter的接口来触发某些事件,这些事件将被名为PositioningService的类捕获。
默认实现是第三方组件。但是,由于INmeaInterpreter是一个接口,我们可以创建一个实现,而不是使用实际的数据使用(例如)一个NMEA文件来读取。这使我们能够测试PositioningService在某些(有时是奇怪的)场景中是如何工作的。
然后,我建议嘲笑其他外部引用。对数据库的调用可以只是一个虚拟对象,其计数器用于数据库调用,如果调用该对象,则该计数器将递增。然后,您可以使用NMEA文件编写测试,该文件将导致数据库调用,然后在单元测试结束时,检查虚拟对象,以查看是否发生了该调用。
我们对可怕的MSTest做了以上所有的工作,但是您可以使用任何测试框架(我推荐NUnit)。我不确定在设备上是否有专门测试的选项。我们在桌面上运行了所有的测试,因为我们很好地拆分了代码,这样就可以分离出特定于设备的代码,并且可以很容易地用桌面等价物替换。
显然,单元测试的唯一问题是它们没有测试硬件。
我建议(取决于项目和团队的大小)进行两种类型的测试,但更多地强调单元测试(因为它们更易于运行/管理)。
https://stackoverflow.com/questions/4825268
复制相似问题