Page 79 - 《软件学报》2025年第12期
P. 79
5460 软件学报 2025 年第 36 卷第 12 期
能都经过充分测试. 这样, 不仅可以提升了应用质量和用户体验, 还可以推动了整个生态系统的协同和一致性.
Liang 等人 [19] 提出了一种跨应用的录制与回放技术 RIDA, 其通过捕获源应用的 GUI 交互并生成相应的事件序列,
然后在目标应用中寻找相似的 GUI 元素来重放这些事件, 该方法依赖于高级的图像识别和模式匹配技术, 确保在
不同应用之间实现高效的交互序列重放. Li 等人 [7] 在研究中展示了一种基于贪婪算法的跨设备录制与回放方法
Rx 框架, 旨在解决安卓应用在不同设备上的 GUI 一致性问题. Behrang 等人 [20] 提出了应用迁移器, 利用不同但相
关应用的 GUI 之间的相似性来重用和适应测试用例, 从而降低了应用测试的成本. Gomez 等人 [21] 开发了 RERAN
工具, 能够精准地捕捉和重放 GUI 和传感器事件, 无须访问应用源代码或修改安卓平台, 在多跨应用场景下具有
广泛适用性.
2 背景知识
对于传统移动应用 GUI 测试、鸿蒙应用测试和应用了大语言模型的软件测试, 现代测试技术的发展极大地
提高了测试的效率和准确性. 基于视觉的 GUI 测试利用计算机视觉和深度学习, 实现自动识别和操作 GUI 元素,
减少对底层代码的依赖. 鸿蒙操作系统的专用自动化测试框架确保了应用在各种终端设备上的兼容性和稳定性.
大语言模型为测试用例生成、程序修复和调试提供了强大的自然语言处理能力. 这些技术的结合解决了传统测试
方法的不足, 推动了软件测试领域的进步.
2.1 传统移动应用 GUI 测试
图形用户界面 (GUI) 测试是软件测试中的一个重要领域, 对其进行有效和高效的测试至关重要. 传统的手工
黑盒 GUI 测试既耗时又繁琐, 无法满足现代软件开发中快速迭代和频繁更新的需求. 因此, 自动化 GUI 测试方法
逐渐成为研究的关注重点. 研究人员提出了多种自动化测试工具和方法, 但这些方法通常依赖于测试脚本, 往往
对 GUI 的具体实现细节高度依赖, 当 GUI 发生变化时, 脚本需要频繁更新, 导致维护成本高.
在此背景下, 基于视觉的 GUI 测试方法应运而生. 基于视觉的 GUI 测试方法在检测和操作 GUI 元素的时候,
可以有效避免对底层代码的依赖, 具有更高的通用性和适应性. 这些方法通常使用计算机视觉和深度学习技术来
识别和定位 GUI 中的不同元素, 如按钮、文本框、下拉菜单等, 从而实现自动化测试. 在基于视觉的 GUI 测试当
中, 大约有 47.4% 的研究关注点在于 GUI 元素检测 [22] . 传统的计算机视觉方法如 Canny 边缘检测 [23] 、SIFT (scale-
invariant feature transform) 算法 [24] 和 OCR (optical character recognition) 技术 [25] 等, 能够在一定程度上识别 GUI
中的元素. 这些方法通过处理图像的像素级信息, 提取出有意义的特征进行分析. 然而, 传统方法在应对复杂背景
和多样化元素时表现有限, 难以实现高精度的检测. 近年来, 深度学习技术在图像识别领域取得了显著进展, 也被
广泛应用于 GUI 元素检测中. Sun 等人 [26] 利用预训练的卷积神经网络 (convolutional neural network, CNN) 自动学
习从截图中分析提取的成分图像中的高级特征, 并应用于 GUI 元素分类当中. 其他常用的深度学习模型如 YOLO
系列 [27] , 在处理 GUI 图像时也表现出较为高精度检测结果.
许多研究者致力于开发和优化基于视觉的 GUI 测试方法, 提出了多种创新的方法和工具. 近年来, 基于图像
理解的识别应用 GUI 组件的方法为自动组件定位具有挑战性的场景提供了新的解决方案和方法. 一些研究主要
集中在 GUI 元素的分类上. Altinbas 等人 [27] 研究了基于 YOLOv5 的移动 UI 图像的 GUI 元素检测方法, 通过使用
深度学习模型对 UI 图像进行分析和分类, 实现了高效的 GUI 元素识别和定位. Chen 等人 [28] 讨论了一种结合了常
见图标类型的分类、少样本学习对图标进行分类, 以及基于像素的上下文信息 (如附近文本和图标内修饰符) 的
识别来实现移动应用图标的全面标注的新的系统. Chiatti 等人 [29] 开发了一个结合 OpenCV 图像处理和光学字符
识别的模块, 对截图进行预处理、文本提取和索引, 从而构建一个用于行为研究和即时健康干预的专用搜索引擎.
Jaganeshwari 等人 [30] 分析并设计一种高效的 Web 应用自动化测试策略, 利用计算机视觉进行 Web 图形用户界面
测试, 同时介绍用于对象检测、分类和评估的参数, 并通过机器学习算法进行图像处理以提高准确性. 其他的研究
旨在通过视觉信息来识别异常的 GUI 组件. 在自动检测错误方面, Ji [31] 提出了一个利用机器学习方法检测与文本
和图像相关的小部件错误的自动检测平台, 能够检测更复杂的 GUI 错误. Liu [32] 提出了一种名为 OwlEye 的新方

