基于强化学习的Android应用自动测试方法研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:caizilovenvfei
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
移动应用在给我们的日常生活带来便利的同时也使得我们对其倍加依赖。研究数据表明我们每天使用移动应用的平均时间超过两个小时,且时长仍在不断增加。与此同时,如何高效保障移动应用的质量仍然是一个待解决的难题。目前,对移动应用进行测试的主要方式是生成交互事件序列。测试过程中,不同的事件执行顺序往往会产生不同的效果。日常生活中被高频使用的移动应用通常包含丰富的功能和界面,应用的可执行事件及可能的状态跳转构成了一个庞大的组合空间,要对每一种情况进行覆盖会耗费大量测试时间。除此之外,各大公司针对移动应用提出的版本快速迭代需求也给移动应用测试任务增加了难度。现有的Android应用自动测试工作大多采用基于模型或者精细化测试的方法指导测试工具对应用状态进行探索和覆盖。模型的使用可以有效减少测试过程中的冗余事件;符号执行、遗传算法等技术的使用可以指导测试工具产生特定输入,对一些较难覆盖的状态进行探索。与随机测试相比,这些方法能够更有效地指导工具对被测应用进行探索,减少了无用事件的产生,也能缓解测试时间分配不均的问题。但是实验数据表明这些方法在与随机方法的比较中优势并不明显,仍有许多问题需要解决。基于模型的自动测试方法首先采用静态或者动态分析的方法构建模型,然后基于模型进行测试用例的生成。因此,模型的正确性和完整性十分重要。然而,想要完备地探索应用的所有状态十分困难。除此之外,Android应用灵活多变的特点也使得问题更加复杂。尤其是一些受条件约束事件的存在,这类事件在不同的上下文环境中会产生不同的结果,现有方法很难正确对这类情况进行描述。精细化测试方法通常用于产生特定输入对某些复杂分支进行覆盖,在整体代码覆盖度和错误发现方面表现一般,这类方法也往往面临占用计算资源多、时间开销大的问题。为了解决上述问题,本文提出了一种基于强化学习的Android应用自动测试方法。该方法采用好奇心驱动的状态探索策略,使用孪生神经网络对各应用状态进行特征抽取和场景判别,以此引导测试工具对新的功能场景进行探索。方法结合了随机测试、基于模型测试的优点,能够有效提升测试效果和效率。本文的主要工作如下:1.本文提出一种基于强化学习的Android应用测试方法。该方法采用好奇心驱动的状态探索策略,通过一个记忆集合保存部分已探索到的状态,以此来引导测试工具对不熟悉的状态进行探索。该方法能够有效解决随机策略测试时间分配不均的问题,同时避免了测试过程中对模型的过度依赖。2.提出基于功能场景的状态划分方法并收集数据进行神经网络模型训练。该模型可以判定两个Android应用状态是否属于同一功能场景,据此给定的奖赏,可以引导测试工具对不熟悉的功能进行触发。该模型不仅能用于给定强化学习奖赏,状态压缩、代码推荐等任务也可以使用该神经网络。3.基于上述工作,实现了基于强化学习的Android应用自动测试工具Q-testing,并将其与Monkey,Stoat和Sapienz进行比较。结果表明Q-testing在代码覆盖度及发现的错误个数两个指标上均好于现有工具。我们还将相关的错误报告进行了提交,目前已有22个得到开发者确认,其中7个已经被修复。
其他文献
现代农业示范区作为现代农业的示范窗口,是以市场为导向、以科技为支撑的现代农业发展的新型模式。研究现代农业示范区对现代农业的发展具有重要意义。本文运用调查研究法、
土地整治工程在提高耕地数量与质量,缓解人地矛盾,提高农村居民收入,改善农村生态环境,推动农村的现代化发展上起着重要的作用。国家近年来高度重视土地整治项目也投入了大量人力物力财力。土地整治项目后评价作为项目周期中的非常重要的一个环节,对显示评价项目实际取得效果,揭示实施过程中存在的问题有重要意义。但目前我国大多土地整治项目都以竣工验收作为项目的终点,项目后评价工作开展的很少,随着国家对土地整治项目管
随着人工智能和计算机硬件的发展,行人检测技术被应用于自动驾驶、智能视频监控、智能机器人等领域。其中基于卷积神经网络的目标检测算法YOLOv3具有检测实时性较好、检测准确度较高等优点,被广泛应用于行人检测领域。但是依旧存在密集场景下行人互相遮挡导致YOLOv3难以准确检测出被遮挡的行人,以及行人被物体遮挡导致YOLOv3难以准确提取行人全身特征从而出现漏检的问题。针对行人间互相遮挡导致YOLOv3难
城市供水是一个复杂性较高的网络系统,其成本项目的核算方式区别于核算主体和核算范围明确的企业成本核算,青岛市城市供水成本变动规律和水价制度研究涉及经济学、管理学和水利工程,是一个跨学科研究领域。城市供水属于地方政府所主导的市政公共服务范围,是典型的自然垄断行业,其公共服务属性导致供水成本边界模糊、供水企业中的合理成本难以识别很多关键的水量平衡数据、运行参数和水质状况等数据没有形成完整的统计体系,行业
从多学科交织的角度剖析,博弈论与逻辑学的深度探究有自然形成的交叉性,经过两门学科深度、交互的进展,博弈逻辑应时而生。博弈逻辑偏重研讨的是“理性人”这一主体,在博弈决策过程中的推理问题。某些学者用自私自利来比喻博弈逻辑中的理性人,因为这些理性人采用各种手段令自身效用最大化。那么,经济生活中的理性人会通过百计千谋使自身经济效用最大化。本篇文章中,理性人,即理性主体或者理性参与人。所有企业都力争在复杂的
税务稽查是税收征管的重要组成部分,是保障税收收入、维护税收秩序的重要手段。加强税务稽查管理,对于打击税收违法行为,维护税法尊严,净化税收环境意义重大。在互联网技术已
《商标法》第44条第1款“其他不正当手段取得注册”在理解与适用上长期存在争议,主要争议是:实体上,能否适用于没有使用目的的商标囤积和大规模抢注等恶意注册;程序上,能否扩大适用于驳回、异议程序。由于旧商标法对这些行为缺乏法律规制条款,统一扩大本款的实体和程序的适用范围。2019年《商标法》做了重大修订,第4条增加了“不以使用为目的恶意商标注册申请,应当予以驳回”,这意味着,原本由“其他不正当手段”调
目前我国的海洋事业已经进入了良好的发展阶段,科技迅猛发展的今天正是我国大力建设海洋强国的最佳时期。水下无人潜航器(Unmanned Underwater Vehicle,UUV),是目前非常热门的经济安全的水下装备,是执行海洋任务的最佳选择。水下目标运动要素估计是UUV实现水下目标探测的核心技术之一,为提高目标运动要素估计性能,本文围绕基于目标运动要素估计的非线性非高斯噪声下滤波算法、UUV目标跟
在这个信息化发展飞速的时代,世界正在被信息所改变,我们的生活也正改变着,这就要求更加高速,更加高效、更加可靠的信息传输方式。因此选择一种纠错性能良好的编译码技术就显
多铁性材料拥有两种及两种以上铁性(铁电性,铁磁性,铁弹性,铁涡性)且它们之间存在耦合作用,目前人们对于多铁材料的认识还比较浅,研究较多的是铁电与铁磁共存的多铁性材料,其在室温下的铁电共存或耦合可以满足器件多功能、小型化、高性能的改进需求,因此在器件领域受到了广泛的关注。铁酸镓作为其中的一种单相多铁性材料,有较强的亚铁磁性,铁电性和铁磁性均来源于铁离子所以磁电耦合程度较强,因而逐渐步入科研工作者们的