加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Android的自动测试输入生成:我们完成了吗?

发布时间:2019-02-16 17:02:24 所属栏目:业界 来源:慕测科技
导读:引用:S. R. Choudhary, A. Gorla, and A. Orso. Automated Test Input Generation for Android: Are We There Yet? In 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), 2015. 择要: 同全部软件一样,移动应用程
副问题[/!--empirenews.page--]

 Android的自动测试输入天生:我们完成了吗?

引用:S. R. Choudhary, A. Gorla, and A. Orso. Automated Test Input Generation for Android: Are We There Yet? In 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), 2015.

择要:

同全部软件一样,移动应用措施(Apps)必需举办全面的测试,以确保其具有开拓者预期的举动和示意。因此,连年来,研究职员和从业职员都开始研究移动应用措施自动化测试的要领。出格是,因为Android的开源特征及其庞大的市场占比,已有大量针对Android应用措施测试输入(凡是是GUI变乱,如点击、滑动、输入)天生器材的研究。今朝,有很多这类器材,它们有着差异的测试输入天生方法、测试计策以及差异的特定开导式要领。为了更好地领略这些现有要领的利益和弱点,并相识怎样晋升器材的结果,我们对Android现有的首要测试输入天生器材举办了全面的较量。我们按照四个指标评估这些器材的有用性:易用性,多平台兼容性,代码包围率以及检测妨碍的手段。我们的功效清楚地展示了Android应用措施输入天生的最新技能,并确定了将来的研究偏向,假如颠末适内地研究,可觉得Android带来更有用和高效的测试器材。

弁言:

现有的很多自动化测试输入天生技能,它们具有差异的输入天生方法、测试计策,,以及详细开导式要领。然而,今朝尚不清晰这些差异要领的利益和弱点是什么,它们在一样平常环境下结果怎样,以及它们是否必要改造,怎样改造。

为了答复这些题目,我们提出了一个针对Android现有测试输入天生技能的较量研究.1该研究有两个方针。第一个方针是评估这些技能(和响应的器材),对它们举办较量,评估其也许更得当于哪种测试情形(譬喻,应用范例)。我们的第二个方针是更好地领略Android测试输入天生中涉及的一样平常衡量(tradeoffs),并确定可以举办改造的现有技能或界说新技能。

器材先容:

Android测试输入天生器材按照其差异的测试计策可以分为以下3类:

随机测试计策:

基于随机测试计策的输入天生器的利益是它们可以高效地天生变乱,这使得它们出格得当于压力测试。它们的首要弱点是随机计策险些不能发生特定的输入。另外,这些器材不知道已经涵盖了应用措施的几多举动,因此也许会发生冗余变乱。最后,它们没有测试完成的遏制尺度,而是回罢手动指定的超时。

行使此计策的器材:Monkey,Dynodroid,Null intent fuzzer,Intent Fuzzer,DroidFuzzer。

基于模子的测试计策:

一些Android测试器材构建并行使一个应用措施的GUI模子来天生变乱并体系地测试应用措施的举动。这些模子凡是是有限状态机,应用措施的Activity作为状态,GUI变乱作为转换。一些器材通过区分Activity状态来构建准确模子(譬喻,具有启用和禁用按钮的沟通Activity将被暗示为两个单独的状态)。大大都器材动态地构建这样的模子,而且当天生的全部变乱达到的都是已有状态时遏制测试。

行使此计策的器材:GUIRipper,ORBIT,A3E-Depth-First,SwiftHand,PUMA

体系的测试计策:

应用措施的部门举动只能由特定的输入来触发,这就是为什么一些Android测试器材行使更伟大的技能(如标记执行和进化算法)来指导测试之前未被包围到的代码。对付随机计策无法触发的应用措施举动,行使体系的测试计策具有明明的上风。然而,与行使随机计策的器材对比,这些器材的可扩展性要低得多。

行使此计策的器材:A3E-Targeted,EvoDroid,ACTEve,JPF-Android

Android的自动测试输入天生:我们完成了吗?

表1. Android Apps测试输入天生器材总览。浅灰色行暗示在本文尝试中研究的器材

实证研究:

尝试行使4个指标来评估测试输入天生器材:易用性,多平台兼容性,代码包围率以及检测妨碍的手段。我们一共选用了68个Android移动应用措施,行使VirtualBox来提供尝试用的假造机,每个假造机设置为2核6GB RAM,并设置了三种Android版本的假造机,别离对应的SDK版本是:10 (Gingerbread),16 (Ice-cream sandwich)核19 (Kitkat)。对付每一个器材在每个应用措施上的一次运行,我们城市重置一次假造机,并一再10次,取尝试数据的均值。

对付每一次运行,我们行使Emma (http://emma.sourceforge.net/)网络代码包围率。我们通过网络假造机测试进程中的log(也称为logcat)来获取应用措施妨碍,而且我们会人工考核这些应用措施妨碍的真实性。

1.易用性和多平台兼容性

表2陈诉该器材是否开箱即用(NO EFFORT),是否必要一些全力(LITTLE EFFORT),无论是正确设置照旧修复小题目,或是否必要支付庞大全力(MAJOR EFFORT)。制止今朝,我们只是陈诉我们安装每个器材的履历。

Android的自动测试输入天生:我们完成了吗?

表2. 各器材的易用性和在常用Android版本上的兼容性

2.代码包围率和妨碍检测手段

从图1中,我们可以看到,均匀而言,Dynodroid和Monkey的示意优于其他器材,其次是ACTEve。其他三个器材(即A3E,GUIRipper和PUMA)实现了相等低的包围程度。尽量云云,纵然那些均匀到达低包围率的器材也可以到达一些应用措施的很是高的包围率(约莫80%)。我们手动观测了这些应用措施,发明它们是最简朴的应用措施。

Android的自动测试输入天生:我们完成了吗?

图1. 各器材在各应用措施上运行10次的包围率差别 图2. 各器材包围率随时刻的变革

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读