Skip to main content

从测试助手到自主测试:让 AI 代理理解并控制应用程序

我们很高兴地宣布正式发布 Squish MCP v0.2.0(技术预览版)。

Squish MCP

Squish MCP 新版本大幅提升了 AI 代理在测试开发中的效率、速度与整体性能。代理现可完全自主地探索和控制应用程序。其实现方式是:通过 Squish 向代理提供应用程序当前状态信息及执行 UI 交互的工具。这使代理无需查阅源代码,即可像真人一样通过探索来理解应用程序的工作原理。开发团队现可直接描述测试意图,并获得切实可用的结果,例如:

  • "尝试使应用程序崩溃“
  • "UI 工作流中是否存在死路——用户进入后无法退出的流程?"
  • "向导的每个步骤都可以取消吗?"

测试用例生成效率提升

Qt Creator这样的复杂应用程序有超过 1000 个 UI 元素,这对旧版 Squish MCP 而言是较大挑战。当前版本在性能上有了显著提升。例如,提示代理生成一个测试用例——打开 Qt Creator 并在"新建项目"对话框中完成项目创建——此前往往无法产出可用结果。这是因为代理无法动态响应 UI 状态的变化,而是依赖生成和分析大量 Squish 对象快照,这会迅速占满上下文窗口。通过接入运行中的应用程序,Squish MCP 使 AI 代理能够以紧凑的状态表示进行工作,只关注实际所需的信息。这不仅扩展了对更复杂应用程序和测试场景的支持,还将测试用例生成时间平均缩短了 52%,token 消耗平均降低了 41%

output 1

如何充分发挥 AI 代理对 GUI 的理解能力

除上述生成示例外,开发团队还可将 AI 代理与新版 Squish MCP 结合使用,通过回答以下问题来加速测试开发:

  • "XYZ 测试套件覆盖了哪些功能需求?"
  • "测试用例 XYZ 产生了错误,是应用程序存在缺陷,还是测试本身的问题?"
  • "当前文件夹中哪些测试用例是重复的?原因是什么?"

Squish MCP 已从一款实用的辅助工具演进为能够接管完整工作包的核心力量,让开发团队得以专注于更宏观的高层级任务,或在测试工作流中实现更高的覆盖率与吞吐量。

快速上手

使用 GitHub Copilot 的示例设置说明可在用户中心下载。我们欢迎您提出反馈和问题,帮助我们不断改进 Squish MCP。

当前局限与未来计划

在 AI 代理中使用第三方大语言模型(LLM)会引发关于数据共享的合理安全与合规顾虑;但本地模型的使用在技术上是可行的,例如结合 GitHub Copilot 使用,请参阅说明

前期工作

本工作扩展了 Squish MCP 的早期版本(转至 GitHub),并以之前的博文为基础: