当前位置: 首页 > news >正文

AI智能体在测试自动化中的作用

什么是AI智能体?

当AI不再仅仅是回答你的问题,而是能够主动采取行动并自主行事时,会发生什么呢?AI智能体正在改变在无需人工干预情况下人工智能所能做到的事情。

但究竟什么是AI智能体呢?

当与 ChatGPT 或其他聊天机器人互动时,提出问题,它会给出回应。然而,AI智能体更进一步,能够自主地采取行动、做出决策,或者与外部系统进行交互。

AI智能体是一种能够自主工作以实现特定目标的系统。

2023 年在柏林举行的 AutomationSTAR 会议上,马塞尔・韦塞尔卡(Marcel Veselka)关于AI智能体在质量保证(QA)未来中所能扮演角色的阐述给了我启发。

从那以后,我一直在研究智能体人工智能,并且这方面已经有了一些重大进展。在这篇博客文章中,我想探讨一下自主型AI智能体在质量保证中可以发挥怎样的作用。

为了让这篇博客聚焦于各种可能性,我有意忽略了关于不在你的项目中引入AI的任何伦理、安全或其他合理的担忧 😃

我之前的智能体工作流程演示

为了展示这些自主智能体在未来质量保证中可能发挥的作用,我去年创建了一个演示,展示了完全自主的拉取请求(pull request)审查。它基本上模仿了手动测试人员会做的简化版本的工作:

  • • 首先,它通过读取拉取请求或 Jira 问题的上下文来确定要运行哪些测试用例。

  • • 然后,它使用一个自主的浏览器智能体在预览环境中实际执行这些测试用例。

  • • 最后,它直接在拉取请求上报告结果。
    (演示地址:https://github.com/tlolkema/autonomous-pr-test)

虽然这个演示非常简化,但它确实展示了在开发流程中使用自主智能体的潜力。

智能体人工智能系统的现状

在我完成演示后的几个月里,各大AI公司都开始推出他们的智能体人工智能系统。

如下一些例子:

  • • Anthropic 发布了 “计算机使用(Computer use)”、“模型上下文协议(Model Context Protocol,MCP)”,最近又发布了 Claude Code。

  • • OpenAI 发布了 Operator。

  • • 谷歌发布了 Project Mariner。

除了这些,还有一些令人兴奋的开源项目,比如:

  • • Browser Use

OpenAI、Anthropic、谷歌 xAI 以及其他参与者都推出了他们的推理模型。其理念是,推理能力越强,这些模型就越能够指导AI智能体。

目前(2025 年 3 月),控制计算机或浏览器的AI智能体的能力还尚未达到人类水平,但它们能够处理的任务列表每天都在增加。

OpenAI Operator:“在这些基准测试中,CUA在 WebArena 上实现了 58.1% 的成功率,在 WebVoyager 上针对基于网络的任务实现了 87% 的成功率。虽然 CUA 在大多数任务相对简单的 WebVoyager 上取得了较高的成功率,但在像 WebArena 这样更复杂的基准测试中,CUA 仍需要更多改进,以缩小与人类表现之间的差距。”

模型上下文协议(MCP)

智能体人工智能领域中一个令人兴奋的发展是 Anthropic 的模型上下文协议(MCP)。MCP 旨在对大语言模型(LLM)连接到各种工具的方式进行标准化。

它并不局限于 Anthropic 的 Claude 模型或任何特定的大语言模型,并且已经可以与广泛的工具进行通信。

一个 MCP 服务器基本上是一组用于调用特定工具的指令。它们创建起来非常简单,这也就解释了为什么 Anthropic 和社区已经提供了大量受支持的 MCP 服务器列表。

你会发现有用于自动化工具(如 Puppeteer 和 Playwright)的 MCP 服务器、与 Git 交互的 MCP 服务器、连接到搜索引擎的 MCP 服务器,或者与几种流行的 API 配合使用的 MCP 服务器。
(相关地址:https://github.com/modelcontextprotocol/servers)

“MCP 是一种开放协议,它对应用程序如何为大语言模型提供上下文进行了标准化。可以把 MCP 想象成人工智能应用程序的 USB-C 接口。就像 USB-C 为将你的设备连接到各种外围设备和配件提供了一种标准化的方式一样,MCP 为将人工智能模型连接到不同的数据源和工具提供了一种标准化的方式。”

让我们来看看官方的 Puppeteer MCP 服务器是什么样的 🚀
(相关地址:https://github.com/modelcontextprotocol/servers/blob/main/src/puppeteer/index.ts)

遵循 MCP 协议,我们可以定义大语言模型可以调用的工具。

在这个例子中是 Puppeteer 的点击(click)方法:

  1. {

  2. name: "puppeteer_click",

  3. description: "Click an element on the page",

  4. inputSchema: {

  5. type: "object",

  6. properties: {

  7. selector: { type: "string", description: "CSS selector for element to click" },

  8. },

  9. required: ["selector"],

  10. },

  11. },

一键获取完整项目代码

以及这个点击方法的实现:

  1. case "puppeteer_click":

  2. try {

  3. await page.click(args.selector);

  4. return {

  5. content: [{

  6. type: "text",

  7. text: `Clicked: ${args.selector}`,

  8. }],

  9. isError: false,

  10. };

  11. } catch (error) {

  12. return {

  13. content: [{

  14. type: "text",

  15. text: `Failed to click ${args.selector}: ${(error as Error).message}`,

  16. }],

  17. isError: true,

  18. };

  19. }

一键获取完整项目代码

如你所见,创建一个 MCP 服务器实际上相当简单 😃

而且很有可能已经有人为你喜欢的工具构建了一个 MCP 服务器!

MCP 会成为未来的标准吗?还是我们会看到更多的闭源人工智能代理占据主导地位呢?这仍然悬而未决。只有时间才能证明最终哪种方法会胜出。

自主测试与脚本化测试自动化

自主测试会完全取代脚本化测试自动化吗?

我认为短期内不会。

自主系统永远不会像脚本测试自动化那样快速、可重现且准确。这是因为AI智能体必须不断评估它们的行动,并确定为实现目标下一步应该做什么。

虽然脚本自动化遵循预定的路径,具有可预测的时间安排和结果,但AI智能体必须不断地处理、分析和决策 —— 这会影响速度和一致性。

正因为如此,预定的脚本总是能更快地实现目标,并且可以完全重复执行。这些对于自动化回归测试来说是重要的因素。

我预计脚本测试自动化仍将是回归测试的主要方法。

然而,AI智能体在一次成功的测试之后,可以在自行创建这些脚本以扩展现有测试套件方面发挥重要作用。它们可以观察自己成功的测试路径,并生成优化的脚本。

自主型AI智能体的优势在哪里?

AI智能体在测试新功能时真正发挥出了优势。

想象一下:你刚刚构建了一个新功能,立刻就有几个AI智能体行动起来。一个智能体专注于检查可访问性问题,另一个测试核心功能,还有一个专门查找安全问题。

这比在这些领域进行手动测试要快得多,并且能快速反馈哪些地方需要修复。

AI智能体对于那些棘手的自动化测试领域尤其有帮助,比如测试屏幕阅读器的可访问性。当页面结构不同时,按照预定义的一组指令进行的围绕屏幕阅读器的自动化测试可能会失败。然而,AI智能体仍然可以通过直接根据可访问性指南评估情况,而不是遵循严格的测试步骤,来评估这种检查是否正常工作。

未来展望

我认为随着越来越多的测试由AI智能体来处理,质量保证工程师的角色将会发生演变。质量保证工程师将不得不确定基于智能体的测试的质量,并设计将这些智能体集成到持续集成 / 持续交付(CI/CD)管道中的方案。

在不久的将来,我预计我们会看到多种测试类型并存。

  • • 脚本测试自动化将继续处理对速度和可重复性要求最高的回归测试。

  • • AI智能体将处理传统自动化难以应对的复杂探索性场景和边缘情况。

  • • 随着智能体发现意外问题的能力越来越强,我们可能会看到手动探索性测试的减少。

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

http://www.jsqmd.com/news/567047/

相关文章:

  • 告别CNN!用Vision Transformer(ViT)和CellViT搞定病理切片细胞分割,附完整代码与避坑指南
  • 【超详细教程】手把手教你部署OpenClaw,两步解锁龙虾AI助理!
  • sqlmap工具超详细使用教程:从零基础到实战攻防(附避坑指南)
  • QMCDecode:突破QQ音乐格式枷锁,高效实现音乐自由播放
  • 什么是BGP协议
  • 内网UOS服务器装不了软件?手把手教你用ISO搭建本地YUM源,离线也能秒装包!
  • 别再用HAL_Delay了!STM32F407用CubeMX配置GPIO实现精准LED闪烁(附源码)
  • 智能手表与手机数据打架?用HHAR数据集实战多设备传感器融合与校准
  • 巴法云MQTT实战:避开ESP8266连接与App Inventor开发的5个常见坑
  • 虚拟人格入殓师:为废弃AI写墓志铭
  • 终极AI编程助手OpenCode:如何5分钟告别传统编码困境
  • SD2026 一轮省集
  • Altium Designer实战:多层PCB布线中的信号完整性与热焊盘设计
  • Whisper-WebUI语音转写工具从部署到优化全指南:解决环境配置与功能实现难题
  • 智能商品标题生成:EcomGPT-7B+Transformer实战
  • 从直流潮流到PTDF:一个电力‘老司机’的MATPOWER避坑指南与效率技巧
  • Graphormer科研效率提升方案:替代传统DFT计算的轻量级AI代理模型
  • 【企业级MCP服务模板首发】:内置JWT鉴权+OpenTelemetry追踪+动态插件热加载——仅限首批200位开发者获取的v3.2.0私有分支
  • 玩过逆变器的的朋友都知道,T型三电平这货天生自带谐波克星属性。咱们今天重点聊聊怎么在仿真里搞出五电平线电压波形,特别是当负载突然不平衡时怎么稳住场子
  • Penpot Docker实战部署:从零到生产环境的完全指南
  • 告别相位差烦恼:手把手教你用FPGA实现AD9371多片同步(附IQ旋转测量实战)
  • 梦之形修改器
  • DDR5内存自刷新模式详解:如何正确配置2N模式下的self refresh operation
  • Arduino移位寄存器引脚扩展库MorePins详解
  • 用C语言手把手实现Clock页面置换算法(附完整代码和避坑指南)
  • 5秒搞定长网页全截图:Full Page Screen Capture让完整保存不再复杂
  • 告别碎片化聊天:一键整合微信记录,导出HTML与Word双格式,打造个人专属社交档案
  • 2026年 精品农家乐推荐榜单:三天二晚包吃住、亲子团建近景区,沉浸式田园体验优选指南 - 品牌企业推荐师(官方)
  • CompressO:重新定义视频压缩效率的开源技术实践
  • 中文文本分析神器SiameseAOE:快速识别评论里的产品优缺点