中文

看见即相信:面向移动应用的视觉驱动非崩溃功能性Bug检测

软件工程 2024-12-05 v2

摘要

移动应用GUI(图形用户界面)页面现在包含丰富的视觉信息,每个页面的视觉语义有助于用户理解应用程序逻辑。然而,这些复杂的视觉和功能逻辑为软件测试带来了新挑战。现有的自动化GUI测试方法受限于可靠测试信使的缺乏,仅限于检测带有明显异常信号的崩溃Bug。因此,许多非崩溃功能性Bug, ranging 从意外行为到逻辑错误,往往被当前技术所漏检。虽然这些非崩溃功能性Bug可以表现出作为潜在测试信使的视觉线索,但它们往往涉及一系列屏幕截图,检测它们需要理解GUI页面转换之间的操作逻辑,这是挑战传统技术的。鉴于多模态大语言模型(MLLM)在视觉和语言理解方面的卓越性能,本文提出Trident,一种 novel 视觉驱动、多智能体协作的自动化GUI测试方法,用于检测非崩溃功能性Bug。它包括三个智能体:Explorer、Monitor和Detector,用于引导探索、监视测试进度和发现问题。我们也解决了一些挑战,即对齐MLLM输入的视觉和文本信息、实现功能导向的探索、以及推断非崩溃Bug的测试信使,以提高功能Bug检测的性能。我们在590个非崩溃Bug上评估Trident,并将其与12个基线方法进行比较,它可以在平均召回率和精度上相对于最佳基线实现超过14%-112%和108%-147%的提升。此外,ablation 研究进一步证明了每个模块的贡献。而且,Trident在Google Play上识别了43个新的Bug,其中31个已被修复。

关键词

引用

@article{arxiv.2407.03037,
  title  = {Seeing is Believing: Vision-driven Non-crash Functional Bug Detection for Mobile Apps},
  author = {Zhe Liu and Cheng Li and Chunyang Chen and Junjie Wang and Mengzhuo Chen and Boyu Wu and Yawen Wang and Jun Hu and Qing Wang},
  journal= {arXiv preprint arXiv:2407.03037},
  year   = {2024}
}