多模态测试智能体AUITestAgent

张开发
2026/4/18 1:40:37 15 分钟阅读

分享文章

多模态测试智能体AUITestAgent
以下为作者观点美团到店研发平台携手复旦大学周扬帆教授团队共同开发了智能化终端测试工具——AUITestAgent。该工具是第一个能够基于自然语言测试用例自动化完成终端 UI 测试驱动、校验全流程的智能化测试工具。仅需输入自然语言形式的测试需求AUITestAgent 通过多个智能代理Agent的合作自动化的进行从交互到检查的全链路测试过程包括自动与终端应用进行交互然后执行对交互过程的检查最后输出对应的测试结果。以对美团 App 的测试为例测试人员输入测试需求“查看景点门票频道中自然风光 下第一个景点的评分检查其评分在不同页面上是否一致”。如下方视频和图片所示AUITestAgent 从美团首页出发自动搜索并进入美团门票频道查看自然风光下的第一个景点的评分页面然后AUITestAgent 将检查交互过程从中提取所需的信息进行判断并给出理由。在英文场景下 AUITestAgent 表现也同样出色在 Facebook 场景下输入测试需求Send a post with content Hello everyone and like it, check whether it is correctly displayed, and whether the like button turns blue.如下方视频和图片所示AUITestAgent 将自动完成了推文的发送和点赞然后AUITestAgent 提取所需的信息并根据两个校验要求依次进行了检查。在实现上AUITestAgent 创造性地提出了交互与检查解耦的双流结构。通过将测试任务分解为交互和检查两个正交的子任务降低了任务的复杂性从而提高了任务的成功率和项目的稳定性。例如对原始测试需求Send a post with content Hello everyone and like it, check whether it is correctly displayed, and whether the like button turns blue 首先利用 Agent 将其分解为“发送一条内容为 Hello everyone的推文并点赞” 这一交互指令和“检查推文发送后是否在主页显示”、“检查点赞后点赞按钮是否变为蓝色” 这两个校验指令再分别进行交互和检查。具体而言AUITestAgent 的工作流程如下图所示其包含三个主要部分任务分解模块Task DecomposerAUITestAgent 首先将原始的测试需求分解为交互指令和多个校验指令分别作为后续交互和检查模块的输入。交互模块GUI Interaction Module接受分解后的交互指令动态组织代理以处理不同难度的交互指令实现与终端应用的图形用户界面GUI的直接操作最后生成交互过程信息。检查模块Function Verification Module接受分解后的一到多条校验指令采用多维度数据提取策略对交互过程信息进行分析形成最终的测试报告包括测试结果和原因分析。交互模块交互模块通过多个基于 MLLM 的智能代理Agent协作实现根据交互指令自动与终端应用进行交互其工作流程如图所示交互模块包含5个 Agent通过合作分别处理具体和抽象的交互指令对于明确指明每一步需要如何操作的具体交互指令交互模块将会通过观察者Observer、选择者Selector和执行者Exectuor的合作依次执行其中的每个操作。其工作流程如下首先Observer 识别当前 UI 页面中的所有可交互的 UI 元素并推断其功能从而辅助后续 Selector 选择交互的目标 UI 元素。Observer 接受多模态的输入——UI 截图和对应的 XML 文件从而尽可能全面地识别 UI 页面中的所有可交互组件并推断其功能。对于 XML 文件Observer 会对其进行解析收集文件中可交互的节点及其文本等辅助信息而对于 UI 截图Observer 使用来自美团的vision-ui 视觉模型进行识别和 OCR。通过多模态的信息互补Observer 将处理后的 UI 截图和整理后的 UI 元素信息提供给 MLLM对 UI 元素的功能进行推断。例如对于美团首页处理后的 UI 截图和 MLLM 的回复如下然后Selector 根据自然语言形式的单步 UI 操作命令从预置的 UI 操作集合中进行选择。例如当前交互指令是 “点击外卖按钮”Selector 会根据 Observer 的输出和 UI 截图生成Click 4操作命令。最后Executor 在终端应用上执行由 Selector 生成的 UI 操作。而对于那些抽象的交互指令会引入两个新的 Agent规划者Planner和监控者Monitor。Planner 首先根据交互命令制定当前 UI 页面上操作计划计划中的每一步都是自然语言形式的然后再具体执行计划中的每一步。举例而言当处于上图的美团首页指令是 “查看景点门票频道中自然风光下第一个景点的评分” 时Planner 生成的计划为“1. 点击搜索框2. 输入门票3. 点击搜索”。Monitor 则是用于判断交互命令是否已经完成即用户的意图是否已经实现。Monitor 将基于当前的 UI 截图和已执行的操作进行判断。如果命令已完成交互模块输出交互过程信息并停止。否则Monitor 将为 Planner 提供其判断理由作为制定计划的反馈。检查模块检查模块理解校验指令从交互过程信息中抽取需要的信息最后基于这些信息判断其是否符合测试用例中的预期。值得注意的是对于多个校验指令检查模块将逐一进行检查例如对于 “检查推文发送后是否在主页显示” 和 “检查点赞后点赞按钮是否变为蓝色” 这两个校验指令检查模块运行了两次分别进行信息抽取判断。其工作流程如下检查模块从多维度分析精准筛选并提取关键信息既最大限度地保留有助于判断的要素又有效过滤了无关数据从而提高了判断的准确性和效率。多个维度包括UI 页面的功能描述、关键 UI 元素信息和到达当前状态的操作信息等。例如在检查美团门票景点评分一致性时对于某个景点的详情页检查模块的分析如图所示然后检查模块会综合多个页面抽取的信息进行最终的判断。如下图中所示检查模块分别抽取了三个页面的评分最后进行一致性判断实验结果我们使用两个自定义的基准benchmark分别评估了 AUITestAgent 执行交互和检查的性能。两个基准包括8个广泛使用的商业应用即美团、小红书、豆瓣、Facebook、Gmail、LinkedIn、Google Play 和 YouTube Music分别包括30个交互任务和40个检查任务。同时为了评估 AUITestAgent 在不同交互指令下的执行效果我们根据完成交互指令所需的交互步数和交互指令的详细程度两个指标将交互任务的难度分为三个级别简单L1、中等L2和困难L3。对于每个级别我们构建了 10个交互任务并且描述在英文和中文之间均匀分配。交互效果评估我们为工具的交互效果制定了4个指标指标的制定既兼顾了测试场景的特殊性也参考了其他基于 LLM 的 Agent 项目也即两个 baselineMobileAgent和AppAgent的指标制定。全面考虑工具完成交互的正确性、指令遵循的准确性和交互的执行效率详细定义可见我们的论文。这 4 个指标分别为任务成功率Task CompletionTC、正确步数占比Correct StepCS、正确路径占比Correct TraceCT和交互效率Step EfficiencySE。可以发现AUITestAgent 在 L1 中准确完成了100%的任务在二级任务中完成了80%在三级任务中完成了50%。此外通过人工验证交互AUITestAgent 生成并执行的交互中有94%与人类保持一致。这些指标表明AUITestAgent 在将自然语言命令转换为 UI 交互方面显著优于 baseline。检查效果评估检查基准包含的40个任务由20个校验指令对应的共40个交互过程信息组成。具体而言每个校验任务关联了两个交互过程信息一个是正确的另一个包含了我们人工手动注入的异常。由于我们是该领域的首个工作我们选用了 GPT-4o 并为其构建了一个多轮对话的提示词作为实验基线方法详细实验设计参见我们的论文而在实际业务使用的场景下我们使用了其他模型。我们分别统计了工具在无异常的交互日志Correct Function Verification和存在异常的交互日志Anomaly Detection上的运行结果。其中Oracle Acc.表示正确判断的任务的比例只有当一个任务中的所有测试预言被正确判断时才认为检查任务成功。同样地Point Acc. 和 Reasoning Acc. 分别衡量单个测试预言判断的准确性和解释的正确性。此外我们还统计了不同方法中大模型的 Token 消耗数对比两者的成本。通过实验我们发现AUITestAgent 对注入的 UI 功能异常的召回率达到 90%同时保持了仅 4.5% 的低误报率。由于异常检测比正确功能验证难度更大AUITestAgent 在异常检测上的效果略逊于其在正确功能验证上的效果除此之外GPT-4o 在异常检测上的效果不佳也证实了这一点。落地效果评估自 AUITestAgent 推出以来以美团视频测试场景为例进行的10轮回归测试中它发现了4个有效异常突显了其在复杂商业应用 GUI 测试中的实际优势其中一个异常如图所示。结论我们提出了 AUITestAgent首个基于自然语言驱动实现操作、校验全流程的智能化终端测试智能体。在这个工作中创造性地提出了交互与检查解耦的双流结构提高了驱动与校验的准确性达到了可工业落地的水平。为了评估 AUITestAgent 的效果我们提出两个自定义基准在其上的实验表明AUITestAgent 在 UI 交互方面显著优于现有方法并且能够召回90%的注入错误误报率仅为4.5%。此外在美团的落地使用过程中的效果展示了 AUITestAgent 进行复杂商业应用 UI 测试的实际收益这些突显了使用 AUITestAgent 在实际终端中进行大规模自动化 UI 测试的潜力。最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】​​​软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。

更多文章