首页> 外文会议>International Workshop on Automation of Software Test >On the Effectiveness of Random Testing for Android: Or How I Learned to Stop Worrying and Love the Monkey
【24h】

On the Effectiveness of Random Testing for Android: Or How I Learned to Stop Worrying and Love the Monkey

机译:关于Android随机测试的有效性:或者我如何学会停止担心和爱猴子

获取原文

摘要

Random testing of Android apps is attractive due to ease-of-use and scalability, but its effectiveness could be questioned. Prior studies have shown that Monkey - a simple approach and tool for random testing of Android apps - is surprisingly effective, "beating" much more sophisticated tools by achieving higher coverage. We study how Monkey's parameters affect code coverage (at class, method, block, and line levels) and set out to answer several research questions centered around improving the effectiveness of Monkey-based random testing in Android, and how it compares with manual exploration. First, we show that random stress testing via Monkey is extremely efficient (85 seconds on average) and effective at crashing apps, including 15 widely-used apps that have millions (or even billions) of installs. Second, we vary Monkey's event distribution to change app behavior and measured the resulting coverage. We found that, except for isolated cases, altering Monkey's default event distribution is unlikely to lead to higher coverage. Third, we manually explore 62 apps and compare the resulting coverages; we found that coverage achieved via manual exploration is just 2-3% higher than that achieved via Monkey exploration. Finally, our analysis shows that coarse-grained coverage is highly indicative of fine-grained coverage, hence coarse-grained coverage (which imposes low collection overhead) hits a performance vs accuracy sweet spot.
机译:由于易用性和可扩展性,对Android应用程序进行随机测试很有吸引力,但其有效性可能会受到质疑。先前的研究表明,猴子-一种用于Android应用程序随机测试的简单方法和工具-出奇地有效,通过实现更高的覆盖率来“击败”更复杂的工具。我们研究了Monkey的参数如何影响代码覆盖率(在类,方法,块和行级别),并着手回答几个研究问题,这些问题围绕提高Android中基于Monkey的随机测试的有效性,以及与手工探索的比较。首先,我们证明了通过Monkey进行的随机压力测试非常有效(平均85秒),并且对崩溃的应用程序有效,其中包括15个广泛使用的应用程序,这些应用程序具有数百万(甚至数十亿)次安装。其次,我们更改Monkey的事件分布以更改应用程序行为并测量结果覆盖率。我们发现,除了个别情况外,更改Monkey的默认事件分布不太可能导致更高的覆盖率。第三,我们手动浏览62个应用程序并比较覆盖率;我们发现,通过人工勘探获得的覆盖率仅比通过猴子勘探获得的覆盖率高2-3%。最后,我们的分析表明,粗粒度覆盖率高度指示了细粒度覆盖率,因此,粗粒度覆盖率(这意味着较低的收集开销)达到了性能与准确性的最佳平衡点。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号