Page 82 - 《软件学报》2025年第12期
P. 82
虞圣呈 等: 基于大模型语义匹配的跨平台移动应用测试脚本录制回放 5463
试中并不需要执行, 或者在目标环境中根本不存在. 例如, 录制过程中应用针对第 1 次使用出现了临时弹窗或提
示, 需要关闭后再进行下一步操作, 而在回放过程中不会出现该弹窗或提示, 便可直接进行下一步操作. 回放冗余
指的是在回放过程中, 遇到了录制时没有记录的额外操作步骤, 这些步骤是由于目标环境中的差异导致的, 在录制
过程中未能预见和记录. 例如, 录制步骤同意软件开发者提出的某些条款, 只需要点击“同意”控件即可进入下一步
操作, 但在回放页面中, 同样的条款被分开变成了两个页面, 需要先点击“下一页”才能够到条款底部, 再点击“同意”
控件才可以进行下一步操作. 相较于录制操作, 回放操作需要额外进行一次操作才可以进入和录制操作相匹配的
下一页面.
图 1 给出了不同平台间测试动作序列差异动机示例. 左侧两张截图和右侧 3 张截图分别对应鸿蒙系统和 iOS
系统在“美团”应用中实现“查看感冒发烧药品”操作的动作序列. 该示例中, 鸿蒙系统在美团主界面点击“美团买药”
后, 直接进入买药界面; 而 iOS 系统在点击“美团买药”后, 会弹出一个广告窗口, 需要额外点击关闭广告才能进入
买药界面. 当使用鸿蒙系统的录制脚本在 iOS 系统上进行回放时, 录制的操作序列为: 点击“美团买药” → 进入买
→ 点
药界面 → 点击“感冒发烧”, 而回放时应该执行的操作序列为: 点击“美团买药” → 关闭广告 → 进入买药界面
击“感冒发烧”, 这样就导致了回放冗余. 类似的, 当使用 iOS 系统的录制脚本在鸿蒙系统上进行回放时, 则会出现
录制冗余问题.
图 1 不同平台间测试动作序列差异动机示例
录制冗余和回放冗余是在移动应用测试中常见的问题, 主要源于平台、版本、设备和用户路径的差异. 传统
的跨平台测试脚本录制回放技术依赖于页面布局细节, 需要开发和维护多个测试脚本, 投入大量人力成本 [18] . 为
了解决这个问题, 研究人员开始探索基于图像的跨平台测试脚本录制回放技术, 以图像为基础组织测试过程 [50] .
然而, 传统的基于图像的方法仍然存在一些问题, 例如操作流程差异难以匹配等. 尽管在不同平台上使用相同的
UI 设计, 但操作流程差异仍然存在, 如临时弹窗、控件隐藏和信息分页不同等. 解决这些问题需要更智能的录制
回放技术, 通过理解和预测操作流程, 自动跳过冗余步骤或补充必要操作, 从而提高测试脚本适应性和有效性. 基
于此, 我们提出了利用大语言模型进行语义匹配的方法, 解决移动应用测试中的跨平台测试脚本的录制冗余和回
放问题, 降低测试开发成本. 该方法利用大语言模型, 结合提示信息和任务定义, 对录制回放任务和操作流程差异
进行理解. 大语言模型具备海量的文本数据和推理能力, 能够推理当前操作流程差异的类型, 并给出操作建议. 通
过语义匹配, 可以跳过冗余的录制步骤或给出待操作控件的坐标, 从而实现更高效的测试脚本录制回放.
具体而言, 该技术通过记录用户操作的控件信息 (位置、类型、文本内容等), 利用图像识别、语义理解和深
度学习技术进行控件匹配. 当遇到难以匹配或有流程差异的步骤时, 借助大语言模型的推理能力提供操作建议. 对
于录制冗余, 根据大语言模型的推断结果, 系统将自动跳过冗余步骤继续匹配, 完成后续的回放操作. 对于回放冗
余, 大语言模型将提供待操作控件的具体坐标, 使得回放系统能够根据该结果继续操作, 实现正确的回放. 最终, 该
方法有效完成了测试脚本的录制和回放.

