我是Android测试框架的新手,想了解现有测试框架之间的区别:Monkey、CTS、Instrumentation Framework和Robotium?
Instrumentation是测试的一种类别,与单元测试相对。
该框架提供了用于仪器测试的钩子,但您需要一个额外的第三方框架才能真正开始。Robotium就是这样的框架。它允许您编写“脚本”,通过用户界面运行这些脚本,例如“点击这个”,“输入那个”等。如果编写得当,它可以帮助您完成用例测试,从而确保您的应用程序没有出现故障。它还允许您测试多个活动和活动之间的交互。
在我看来,Android上的单元测试非常困难,特别是涉及UI、数据库、活动状态等“常规”代码,除非您为可测试性编写代码。
Android Monkey也使用instrumentation来运行您的用户界面,但它不遵循脚本。它会随机执行操作,其想法是无论它做什么都不会使您的应用程序崩溃。通过生成数十万个事件,它试图尽可能地覆盖所有情况,基于统计学原理。与Robotium不同,Monkey永远不会离开您的应用程序(那将是危险的)。然而,它是一个完美的补充,几乎不需要成本(设置非常便宜,也没有维护成本)。
CTS仅与操作系统和框架本身相关。
您可能还想了解mocks?
请观察下面的测试金字塔:
它建议每个级别应该有多少个测试。在金字塔下面是您可以在每个级别使用的Android框架。
在Android中,每个部分通常使用以下框架:
功能性:
集成:
单元测试: