Android测试框架

时间:2010-08-13 03:56:24

标签: android testing

我是Android测试框架的新手,想知道现有测试框架之间的差异:Monkey,CTS,Instrumentation Framework& Robotium?

2 个答案:

答案 0 :(得分:7)

仪器是一种测试,与单元测试相反。

该框架提供了用于检测测试的钩子,但是您需要一个额外的第三方框架才能真正开始。

Robotium就是这样一个框架。它允许你编写通过用户界面运行的“脚本”,说“点击这个”,“键入”,等等。写得好,它可以带你通过你的用例,从而提供你的应用程序不是很好的感觉破碎。它还允许您测试多个活动和活动交互。

根据我的经验进行单元测试对于Android来说非常困难,特别是对于处理UI,数据库,活动状态等的“常规”代码,除非您编写可测试性代码。

Android Monkey还使用工具来运行您的用户界面,但它不遵循脚本。它随机执行此操作,并认为无论它做什么都不应该使您的应用程序崩溃。通过生成100000个事件,它会根据统计信息尽可能提高覆盖率。除了Robotium,猴子永远不会离开你的应用程序(这将是危险的)。它是一个完美的补充,它几乎是免费的(设置非常便宜,没有维护)。

CTS仅与操作系统和框架本身相关。

你可能也想知道嘲笑?

答案 1 :(得分:0)

观察下面的测试金字塔:

  • 手动测试 - 自我解释
  • 功能测试 - 测试功能
  • 集成测试 - 检查单元播放效果不错
  • 单元测试 - 确保单个单元按预期工作(请参阅SRP

它建议你应该对每个级别进行多少次测试。金字塔下面是您可以在每个级别使用的Android框架。

Testing Pyramid

在Android中,以下框架通常用于每个部分:

<强>功能

  • 猴子赛跑者&#34;有点&#34;属于这个部分,它基本上只是围绕应用程序,以查看是否有任何交互组合崩溃它

<强>集成: 仪器属于这一类。

  • Espresso(由Google推荐,推荐使用Hamcrest匹配器)
  • Robotium

<强>单元

  • JUnit4
  • Mockito,Powermock,其他模拟图书馆
  • 匹配框架,如Hamcrest,Fest,AssertJ
  • Robolectric(提供Android特定方法)