基于动态搜索的Android应用程序自动化测试方法研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:anqir621
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
基于动态搜索的Android应用测试方法通过动态搜索Android应用的用户界面状态空间,构建GUI模型,并据此生成测试用例,实现对Android应用的自动化测试。然而传统的深度优先模型搜索策略无法有效处理界面回路问题,造成部分界面的丢失,导致生成的GUI模型不完整。同时,在建模过程中人们一般使用随机生成的字符串或测试人员设置的字符串填充Android应用表单参数,导致对应用表单测试不充分。针对测试方法中存在的问题,本文提出一种基于记录栈的深度优先模型搜索策略,使用栈记录已搜索到的应用界面,以此识别界面回路,避免界面状态的丢失,保证模型完整性。为了提高表单测试的充分性,本文还提出基于约束的两两组合方法生成表单参数测试数据,该方法对Android应用表单参数进行约束分析,使用等价类划分确定参数可选值,实现对参数取值的二维组合覆盖,避免了无效参数数据的生成。在上述工作基础上,本文实现了Android应用自动化测试工具FectDroid,并选择了30个开源Android应用进行实验研究。实验结果表明:(1)基于记录栈的深度优先模型搜索策略可提高GUI模型的完整性。该策略对手工生成GUI模型的节点覆盖率为85.6%,边覆盖率为77.4%,高于传统的深度优先搜索策略;(2)基于约束的两两组合方法可生成较少的测试用例,相较于无约束两两组合方法,测试用例数减少了15.5%,并且实现了对手工生成GUI模型更高的节点和边覆盖,整体效果优于其他组合方法;(3)与其他测试工具相比,FectDroid实现的节点覆盖率平均增加了55.88%,边覆盖率平均增加了48.4%,代码覆盖率平均增加了23.2%。这主要是因为FectDroid构建的GUI模型以屏幕界面为节点,并对界面回路进行有效处理,使得生成的GUI模型更加完整。其次FectDroid使用的表单参数测试数据生成方法可以有效覆盖参数不同取值,实现更高的代码覆盖率;(4)与其他工具相比,FectDroid在合理的测试时间内探测到了75个应用错误,远多于其他工具探测到的错误数量。这表明FectDroid具有更强的错误探测能力。
其他文献
社区是城市的细胞,是城市社会治理中最基层、最基础的单元,社区治理是社会建设的重要内容,是社会建设必须关注的重点,没有社区的有效治理,社会建设就是无源之水、无本之木,就失去了
生化法与膜分离技术是当今污水处理行业较为行之有效的两种污水处理技术。采用电石法生产聚氯乙烯(Polyvinyl Chloride,简称PVC)的过程中伴随有大量的离心母液产生。PVC离心
大学校园文化是社会文化的重要组成部分,也是先进文化和高势能文化的发源地。先进文化和高势能文化在不同民族、国家的一定历史阶段,都不同程度地有所出现,在16-18世纪欧洲兴起
辽河盆地是郯庐断裂系的组成部分,属大陆裂谷盆地。辽河滩海地区是辽河盆地与辽东湾地区构造单元的过渡区带。它与辽河盆地具有相似的石油地质特征及演化史,是辽河油田重要的油
在全球能源危机的大环境下,对节能减排的呼吁越来越高。作为能耗较高的既有建筑,对其进行节能改造迫在眉睫。我国对于既有建筑节能改造项目也是越来越重视,从1986年开始,我国关于
2012年7月1日,城乡居民社会养老保险制度开始试点,自此,城乡居民社会养老保险制度制度全覆盖工作正式启动。总体来看,城乡居民社会养老保险的覆盖范围不断扩大、参保人数不断增加
介绍活性炭、负离子、臭氧、光触媒、等离子体、静电除尘、HEPA和UV-C等常见的空气净化技术,并分析各种空气净化技术在家用空气净化器领域的适用性。考虑到家庭用户专业水平
计算机和网络通讯技术的发展深刻地改变着人们生活、学习和工作方式,推动着经济的高速发展和人类社会的极大进步,使现代社会进入了信息化发展的进程。社会的网络化使数字经济、
作为服务业的重要组成部分,旅游业也广泛存在着产业集群现象,然而,学术界大部分关于旅游产业集群的研究都是移植产业集群的理论成果,对旅游产业集群自身网络特征和运行机制等
活塞式压力平衡装置是深海探测设备中平衡深海大压力的重要装置。活塞在深海下既要灵活移动,又要密封可靠;这是现有活塞密封技术遇到的新问题和挑战。本文针对深海下活塞密封问