基于模型的移动应用GUI测试方法研究
作者单位:西安工业大学
学位级别:硕士
导师姓名:成静
授予年度:2024年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:移动应用GUI 自动化测试 语义测试模型 计算机视觉 深度强化学习
摘 要:移动应用数量的迅速增长是互联网快速发展的一个显著结果,这不仅导致了产品功能的多样化和复杂化,也使得GUI测试面临更多挑战。在移动应用测试领域,因此,如何更好地实现图形用户界面的自动测试,是当前的研究热点。在此基础上,给出了一种新颖的针对手机软件GUI的建模方式,旨在解决现有方法中存在的问题。现有的图形用户界面模型通常缺少图形界面所需的语义,造成了图形界面的移植与重用困难,以及图形界面的状态空间膨胀等问题。针对这些挑战,本文的方法通过结合基于领域知识的语义识别和传统有限状态机,构造一个丰富的图形用户界面状态机模型。对深层再励学习算法的研究,有效地解决传统自动化测试中的限制,通过学习来不断提高测试效率。论文的创新之处与工作包括以下几个方面: 1)提出一种新型的面向手机应用程序的语义测试模型,该模型基于领域知识。研究工作的起点是采用OWL本体作为框架,通过融合相关领域知识,确定并扩充GUI元素和事件的语义。其次,本项目将重点研究如何构造移动应用程序的行为流图,以准确地刻画移动应用程序的运行过程和与之相关联的语义。最后,通过将扩展后的语义与有限状态机(FS M)模型相结合,构建了一个完善的图形用户界面的语义检测模型。该模型的最终目的是为移动应用的自动化测试提供数据生成支持,从而提高测试的效率和有效性。 2)提出了一种利用计算机视觉技术简化移动应用GUI语义模型构建过程的方法。研究首先依托于计算机视觉技术,通过GUI组件检测技术,准确地获得图形用户界面元件的位置和种类信息。随后,研究采用先进的文字识别算法来识别GUI组件的值信息,并通过字符匹配技术来确定组件的语义值。通过这一系列步骤,本研究旨在为移动应用GUI语义模型的构建提供一种更为高效且简化的方法。最后,基于领域知识模型为移动应用GUI语义模型提供语义信息,完成语义测试模型的自动化构建。 3)提出了两种基于深度强化学习的移动应用测试方法DDPG-PER和改进TD3方法。论文研究扩展语义的概念,并将移动应用的领域模型作为基础,通过将移动应用语义测试模型映射为马尔可夫模型,根据语义匹配规则设计奖励函数,使用深度强化学习算法有效地进行自动化测试。强化学习有助于发现复杂交互下的错误,提高测试的全面性和效率。针对移动应用GUI测试的具体需求,定制合适的奖励函数,奖励基于错误发现、测试覆盖率、执行速度等多种指标,确保奖励能够明确和有效地指导探索学习过程。由于GUI测试可能涉及大量的状态和动作,为了提高样本效率,研究通过经验回放机制优化来改进DDPG算法,使用更高效的学习机制来改善样本利用率。同时,在TD3算法中引进了延时政策的更新与目标政策的光滑化,帮助解决高估值问题和训练过程中的不稳定性。