【发布时间】:2016-01-07 21:48:14
【问题描述】:
我是 Android 测试框架的新手,想知道现有测试框架之间的区别:Monkey、CTS、Instrumentation Framework 和 Robotium?
【问题讨论】:
-
CTS - 兼容性测试套件? source.android.com/compatibility/cts-intro.html
我是 Android 测试框架的新手,想知道现有测试框架之间的区别:Monkey、CTS、Instrumentation Framework 和 Robotium?
【问题讨论】:
仪器是测试的一个类别,与单元测试相反。
该框架为仪器测试提供了钩子,但您需要一个额外的第三方框架才能真正开始。
Robotium 就是这样一个框架。它允许您编写通过用户界面运行的“脚本”,例如“单击此”、“键入那个”等。编写良好的它可以带您浏览您的用例,从而提供一种很好的感觉,即您的应用程序不是破碎的。它还允许您测试多个活动和交互的活动。
根据我的经验,单元测试对于 Android 来说非常困难,尤其是对于处理 UI、数据库、活动状态等的“常规”代码,除非您编写代码是为了可测试性。
Android Monkey 还使用检测来运行您的用户界面,但它不遵循脚本。它随机执行此操作,其想法是无论它做什么都不会使您的应用程序崩溃。通过生成 100000 个事件,它试图根据统计数据获得尽可能高的覆盖率。除了 Robotium,猴子永远不会离开你的应用程序(那会很危险)。虽然它是一个完美的补充,而且几乎是免费提供的(设置非常便宜,而且无需维护)。
CTS 仅与操作系统和框架本身相关。
您可能还想了解模拟?
【讨论】:
观察下面的测试金字塔:
它会建议您对每个级别应该进行多少次测试。金字塔下方是您可以在各个级别使用的 Android 框架。
在 Android 中,每个部分通常使用以下框架:
功能性:
集成: 仪表属于这一类。
单位:
【讨论】: