Android应用GUI自动化测试工具的设计与实现

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:wu19851110
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着移动互联网时代的到来,大量的计算任务从PC端迁移到移动端,移动应用开始发挥越来越重要的作用。在移动应用市场中Android应用已占据主导地位,随着Android应用数量的增加,如何保证Android应用的健壮性引起了工业界的关注。测试是提高软件质量的有效途径,由于Android应用是一种GUI程序,Android应用GUI测试往往是进行其他测试分析技术的基础。传统的Android应用GUI测试通过人工操纵应用来实现,然而人工测试方式需要消耗大量的时间和精力,且容易引入错误,已无法满足测试需求,因此,自动化测试技术成为了新的研究热点。  GUI自动化测试工具通过向应用发送事件来模拟用户与应用的交互,达到特定的测试目的。现有的自动化测试工具普遍存在两点不足:1)自动测试过程无法生成有效的输入和交互事件序列,导致部分功能无法覆盖到,测试覆盖率不高;2)自动化测试过程执行了大量无效事件,导致测试效率不高。无效事件即事件执行后不能提高测试覆盖率的事件。本文针对以上两个问题给出了相应的解决方案,并设计实现了Android应用GUI自动化测试原型工具。其中测试输入生成方法和基于优先级调整的自动探测算法是本文研究的重点。测试输入生成方法的关键问题是如何获取有效的测试输入信息,并用于自动化测试过程。本文首先通过自动化脚本录制工具来录制包含特定输入的测试脚本,然后解析执行测试脚本,提取其中的特定输入并保存,接着在自动化测试过程中,通过控件属性匹配来使用这些输入信息。基于优先级调整的自动化遍历算法的关键问题是如何减少无效事件生成和冗余事件的重复执行。本文从界面布局文件中提取控件属性信息,然后根据控件的属性信息来生成对应事件,减少了无效事件的比例。本文基于应用界面的布局结构特点提出了事件相似性的概念,通过为事件定义优先级属性,并在自动化测试过程中根据事件的执行结果来调整未执行的相似事件的优先级,从而减少冗余事件的执行,有效的提高了测试效率和测试覆盖率。  论文随后详细介绍了Android应用自动化测试原型工具——CrawlDroid的设计与实现,并通过充分的实验验证了CrawlDroid工具的有效性。
其他文献
视频编码技术在数字电视、高清晰度电视、可视电话、会议电话和多媒体等视频通信服务中起着至关重要的作用.H.264是ITU-T提出的最新视频编码协议,它采用了许多与以往协议不同
为了实现XML的查询优化,近年来人们相继提出了很多索引技术和连接算法[12,13,14,15,16,23,24]。这些索引主要是根据边标签和元素值建立的。然而有的索引不包含所有的元素结点,
随着现代办公的多样化、复杂化以及对办公的高效率要求,办公自动化快速的发展起来并且应用范围日益广泛,对于推动企业和工作部门的整体快速发展、提高工作效率、增强竞争实力起
串匹配是计算机科学中一个基本、重要的研究问题,它在Internet网络信息搜索、生物信息学、网络入侵检测、网络远程教育、电子商务等领域具有广泛的应用.该文围绕精确串匹配、
弹条是轨道扣件的关键部件,是用棒状弹簧钢加热弯曲成型的空间曲梁杆件,结构复杂,设计要求高,设计工作量大,产品需求量大,其性能质量关系到列车行车安全.随着铁路的提速,其结
数据挖掘研究如何从大量的数据中智能地、自动地抽取出有价值的知识和信息,是当前人工智能中非常活跃的研究领域。近年来,随着我国信息化建设的快速发展,知识的自动获取已成为制
二维灰度图像中的三维物体识别问题一直是计算机视觉领域的一个重要的研究内容,也是个很复杂的问题。目前,国内外的研究大多使用图形学的方法,与人工智能相结合的研究仍然很少。
工作流是一个运行的业务流程,工作流管理与工作流的控制及协同有关。工作流管理是一个被业界广泛应用并迅速发展的技术,它的主要特点是使处理过程自动化,使人和各种应用工具协同
目前Lorenz-Mie理论是用于模拟彩虹最准确的方法。然而Lorenz-Mie理论由于其本身的局限性,只能处理球状雨滴。自然界中产生彩虹的雨滴由于空气阻力的存在,都是非标准球体。针对
作业管理的概念非常重要,目的在于强化操作系统的批处理功能,提供对作业的提交、调度、执行及控制等机制,从而能够更加有效地利用系统资源、平衡网络负载,提高系统的整体性能。作