iSE 实验室虞圣呈同学在GUI测试方面取得新进展

发布日期:2024-05-10 浏览次数:


软件测试是保证软件质量的有效方法。其中,对于用户界面(GUI)测试,现有研究通过自动化探索策略来改进GUI探索测试,包括基于随机、基于模型、基于学习等策略,从而构建高质量模型,达到高代码覆盖率并发现更多的缺陷。然而,现有方法仍存在很大改进空间。许多研究表明,强化学习框架是GUI测试的先进解决方案,但当前基于强化学习的方法仍然面临许多问题。现有方法严重依赖于平台功能或接口,导致其无法跨平台适配并有效抽象应用状态。开发人员不得不在不同平台上分别进行测试开发,从而带来很多额外开销。



为解决上述问题,iSE实验室博士生虞圣呈深入调研不同平台应用GUI特性,通过抽取多平台GUI布局设计一致性、控件元素一致性、操作逻辑一致性,创新地提出了一种有效的平台独立应用GUI测试方法PIRLTest。具体来说,PIRLTest结合计算机视觉和强化学习,以一种新颖的协同方式进行自动化测试。首先,PIRLTest从GUI页面中提取GUI控件并提取相应GUI布局,结合宏观视角(GUI布局)和微观视角(GUI控件)表征应用GUI状态。这一GUI状态抽象方法设计使得PIRLTest能够独立于平台特性,使得所提出的强化学习测试框架普遍适用于不同平台。进一步,PIRLTest在好奇心驱动策略引导下探索待测应用,该策略使用Q神经网络来拟合特定"状态-动作"对价值,以激励框架在不依赖平台的情况下对未覆盖的页面进行更多探索。所提出强化学习框架将为所有操作分配奖励,这些操作的设计考虑了应用整体GUI状态和具体控件信息,以引导探索更多未发现的页面。


针对GUI自动化测试效果问题,本研究创新地提出了一种平台独立的GUI探索测试框架,也是目前首个可零成本适配多平台应用(移动应用、Web应用等)的强化学习探索测试框架。这一研究通过对多平台GUI一致性挖掘,通过GUI图像嵌入来抽象应用GUI状态,包括控件提取(微观视角)和布局表征(宏观视角),也进一步宏观与微观相结合,提出了一种新颖的奖励函数设计,综合考虑了对应用GUI整体和具体GUI控件的探索。该工作相关成果《Effective, Platform-Independent GUI Testing via Image Embedding and Reinforcement Learning》已被ACM Transactions on Software Engineering and Methodology(TOSEM)期刊(CCF-A期刊)录用。


虞圣呈同学由陈振宇教授和房春荣副教授共同指导,其主要研究方向为基于知识理解的智能化GUI测试,已在TSE,TOSEM,ICSE,FSE等软件工程顶级学术期刊和会议以第一作者发表长文论文7篇。虞圣呈同学注重产研融合,围绕GUI自动化测试与众包测试研发了一系列工具,并已在国家电网、北汽、广东软件园等企业得到初步应用。