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

发布日期:2024-06-12 浏览次数:

在应用快速迭代的现状下,保证应用质量是一项艰巨的挑战。作为一种初步实践,开发人员基于特定测试框架为应用开发测试脚本。此类框架可以准确地按照移动应用所记录的执行脚本。然而,这种录制回放技术在很大程度上依赖于开发人员能力,且需耗费大量人力。自动化测试是当前主流GUI质量保障技术之一。自动化应用探索技术根据特定策略自动生成测试用例,例如随机、基于模型、基于深度/强化学习等。然而,其大多以代码覆盖率作为优化目标,在测试生成过程中忽略了被测应用业务逻辑,难以覆盖一些重要但难以触及的测试场景。



测试人员人工开发测试用例往往根据测试场景组织,与应用业务逻辑密切相关,这启发我们自动生成基于场景的测试用例。基于该事实,iSE实验室博士生虞圣呈创新地提出了一种基于场景的自动化GUI测试方法ScenTest。具体来说,ScenTest基于GUI图像理解构建事件知识图谱,从而引导场景化移动应用测试。ScenTest尝试通过模仿人工实践,将领域知识融入到移动应用场景化测试中,以开展自动化测试,这一方法首次实现针对目标测试场景的全自动化测试。ScenTest从包含测试事件和应用GUI信息的众包测试报告中提取四类实体和五类对应关系,构建特定场景的事件知识图谱;然后,ScenTest计算不同实体之间的相似度并进行共指消解。通过链接相同实体的不同描述来合并来自不同众包测试报告的冗余信息,目的是补充目标场景的不足信息。基于所构建事件知识图谱,ScenTest捕获应用当前状态,结合传统CV算法和深度学习模型对应用截图进行语义理解,并进一步通过相似度计算将应用当前状态信息与EKG中的实体和关系进行匹配。考虑到场景的多样性,本工作引入子场景的概念,即可以完成目标场景的独立路径。


针对自动化GUI测试技术中业务逻辑缺失的问题,本研究创新地提出了测试场景的概念,并将其应用于引导自动化测试生成。本研究是首个将测试人员领域知识与基于场景的GUI测试相结合的方法。与按照特定策略探索应用的传统自动化测试方法相比,本研究重点关注测试场景,并以测试场景粒度进行测试探索与生成,与测试人员测试认知相对应。该工作相关成果《Practical, Automated Scenario-based Mobile App Testing》已被IEEE Transactions on Software Engineering(CCF-A期刊)录用。


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