Android应用GUI并行测试技术研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:liongliong478
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前Android商业应用变得越来越庞大,通常具有上百个Activity,并且其GUI也变得愈加复杂,这给测试这类应用带来挑战。现有的自动化测试技术主要关注于提高测试的覆盖率,它们会采用启发式策略或者机器学习算法来指导测试,以达到提高测试覆盖率的目的。然而面对商业应用,这些测试工具往往需要耗费大量时间才能完成对于应用的测试,无法在短时间内给出测试结果以应对具有上线压力的应用。针对现有工具上述局限,我们受并行计算概念的启发,提出在多台测试设备上采用并行测试的方法完成对一个应用的测试,从而提升应用测试的效率,缩短测试耗费的时间。具体而言,本文工作主要包括:1.提出了以Activity为粒度的并行测试技术。该技术将应用的每个Activity划分为一个测试任务,并行地在多台设备上探索这些Activity,以达到并行测试的目的。所有任务通过一个优先级队列进行调度,同时,还采用了路径简化和widget模糊匹配方法来提高重放的效率。2.鉴于以Activity为粒度的并行测试技术需要执行大量的重放,影响测试效率,因此对其加以改进,提出了以GUI子树为粒度的并行测试技术。GUI子树中的每个节点是应用的一个Activity,每个任务实际是从一个特定Activity开始进行测试,探索发现新的Activity。该技术采用BFS与DFS混合的策略来实现并行测试,Bounded-DFS策略指导执行每个任务,BFS策略则动态地从正在执行的任务中划分出新的任务,BFS-DFS的混合策略减少了回溯和重放的开销,提高了测试的效率。3.根据以上两种技术,基于Mesos和Monkey,设计和实现了 ParaAim和ParaDroid两个并行测试工具。两个测试工具采用相同的系统架构,具有很强的可扩展性,能够管理分布在多台主机上的Android测试设备,使它们协作并行地完成对一个应用的测试。4.将ParaAim和ParaDroid与其它两种测试工具在20个国内主流商业应用上进行了实验评估。实验结果表明,ParaAim和ParaDroid通过并行化的方式都加速了对于应用的测试,其中ParaDroid效果尤为突出,随着测试设备的增多,对测试效率能够实现线性的提升。通过实验验证了Android并行测试技术的有效性、可扩展性以及高效性。
其他文献
<正> 壮医药线点灸疗法,是采用特制的药线,点燃后直接灸灼患者体表的一定部位,以治疗疾病的一种方法。这种方法简单,只有一盏灯,一根药线就可以进行灸治。使用方便,可随身携
基层水利工程建设对于农业持续发展具有十分重要的意义,当前阶段,我国基层水利普遍存在重建设轻管理的现状,导致水利工程的作用常常得不到充分的发挥。本文将就现阶段基层水
在公路工程建设项目中,经济可行性评价的目的是根据项目所在地区的经济发展规划,结合交通量预测和工程建设规模等研究情况,计算项目的费用和效益,对拟建项目的经济合理性、财务可
竖轴式弧形闸门,亦称为三角闸门,以其能够承受双向水头和能在动水中启闭的特殊性能,在国内外大中型船闸闸门中得到了广泛的应用。本文以镇江谏壁船闸二线三角闸门为例,对其进行三
在各国司法实践中,民事审前程序通过其固定证据、整理争点、促进和解等功能,在提高审判效率,促进纠纷的解决等方面发挥着举足轻重的作用。与以美国为代表的英美法系国家和以
本文通过对艺术体操转体类身体难度动作的发展趋势、发展水平和我国艺术体操运动员比赛时转体技术完成情况进行深入分析,解析制约我国艺术体操运动员转体类身体难度水平的因
我国是世界第一海带栽培大国。遗传育种在海带产业发展中占有举足轻重的地位。我国自二十世纪五十年代开始进行海带遗传改良研究,共培育了约20余个优良品种,其推广应用大大促
为适应我国经济的快速发展,公路铁路等基础设施的建设受到国家的大力支持,尤其是高速铁路和高速公路的建设更是如火如茶。但是,在这些道路建设快速完工的同时,如何检测它们的
港口的集装箱吞吐量受多方面因素影响,且因素间相互关系构成了一个复杂的非线性系统,但其变化也有内在的规律性。如果能正确认识这些因素的变化和内在联系,掌握这些因素变化
癌症的发生与多基因异常有关,包括癌基因的活化和抑癌基因的失活。RNA干扰被认为是一种非常有潜力的肿瘤治疗手段,利用RNA干扰技术抑制癌基因的表达可以逆转肿瘤的恶性表型。