繁体   English   中英

Android测试框架

[英]Android Test Frameworks

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

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

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

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

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

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

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

你可能也想知道嘲笑?

观察下面的测试金字塔:

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

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

测试金字塔

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

功能

  • 猴子赛跑者“种类”属于这一部分,它基本上只是围绕应用程序看看是否有任何组合的交互崩溃它

整合 :仪器属于这一类。

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

单位

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM