AI人工智能与软件测试

测试周刊003: 大模型时代测试将会变得更加重要

五一假期结束了。

这次五一完美的错峰出行。

核心的原因是起的早。

天刚亮就出发,第一波到达景区,人流汹涌的时候就回酒店休息。

世间的喧闹与我无关。

这大概是一种错位竞争吧。

比如,当测试都在千军万马涌入新领域的时候,业务在原有的业务上进行深耕反而会取得一些错位竞争的优势。

https://images.unsplash.com/photo-1592636120953-3d2b28ebfd69?q=80&w=2071&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D

观点

测试将会变得越来越重要

https://filiphric.com/testing-will-become-more-important-not-less

作者认为在 LLM 时代,测试将会变得举足轻重,并给出了几个预测。

  1. 测试将更紧密嵌入软件创建过程
  • AI 不仅生成应用代码,还将同时生成测试代码
  • code review 时也将包括 review 通过的测试
  • 运行先前迭代生成的测试可避免回归问题
  1. 更多 AI 解决方案将整合自动化测试
  • 将出现更多能同时生成代码和测试的 AI 工具
  • 已有工具(如 Replay.io 的 Nut.new)能在后台运行测试并将结果反馈给 LLM
  1. 人工测试将演变而非消失
  • 人工测试将更加精细,专注于新功能测试和 code review
  • 回归测试将主要由自动化测试承担
  • 测试人员将专注于变更测试,而不是专门写自动化测试用例
  1. 良好的测试设计将继续受到高度重视
  • 优秀测试工程师的价值不仅在于编写测试代码
  • 良好的测试实践、测试数据架构和风险区域识别能力更为关键
  • 技术精湛的测试人员将引导和 review AI 生成的测试代码
  1. 应用和测试运行时将成为巨大挑战
  • 虽然 Playwright 等工具中的追踪查看功能成为标准,但应用运行时信息仍然缺乏
  • AI 模型在调试软件方面仍有困难,因为它们缺乏代码实际运行方式的信息
  • 可观察性工具可能是让 AI 生成可靠代码的关键

优秀的测试工程师应该具备哪些思维方式

https://qualityeng.substack.com/p/the-three-mindsets-of-a-qe

测试周刊-AI不应该用来解决本来就不存在的问题

离五一只有两周了。

最近有朋友买了 cursor 的会员,我驻足观看了一番。

他先描述需求,然后让大模型生成原型,接着又让 LLM 根据原型来生成前后端项目的代码。

整体流程一气呵成,看着非常有科幻感。

不难想象,接下来根据可以工作的前后端代码就可以让大模型来生成 ui 和接口的自动化测试用例。

不久的将来,通过 AI 生成的各种测试代码可能会是开发标准输出的一部分了吧。

https://images.unsplash.com/photo-1749627995669-4d4dda3a9c1d?q=80&w=2071&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D

AI 与测试的思考

停止过度设计:为什么测试 ID 比人工智能驱动的定位器智能更适合 UI 自动化(英文)

https://testersdigest.blogspot.com/2025/04/stop-overengineering-why-test-ids-beat.html

并不是所有的测试人员都关注 AI。

并不是所有关注 AI 的测试工程师都盲目的拥抱 AI。

这篇文章就反对使用人工智能来解决 UI 自动化测试中的定位问题,而是提倡使用测试 ID(Test IDs)这一更简单有效的方法。

  1. 测试 ID 稳定可靠:测试 ID(如data-testid="submit-button")是可预测的,不会因为开发人员更改 CSS 类、更新布局或重命名元素而失效。

  2. 避免不必要的 AI 复杂性:为什么要让 AI 去"猜测"正确的元素,当我们可以从一开始就通过测试 ID 明确告诉 DOM 要查找什么。AI 应该增强测试策略,而不是清理本可避免的混乱。

  3. 效率优于优雅:在测试中,我们的目标是验证功能而非创造艺术。Test ID 是低耦合、高效率的工具,能直接指向我们关心的元素,且运行更快。

  4. 过度工程化难以扩展:使用 AI 来修复不稳定的测试和适应 UI 变化增加了另一层复杂性,意味着更多不可控的点。如果 AI 模型抽风了,不仅测试会失败,还需要进行 AI 调试。

测试周刊-憧憬五一的第一周

清明过后似乎会更加期待劳动节一些。

今年五一放五天假,时间是充裕的,但想到各大景点的人山人海,可能最终还是会选择躲在家里吧。

看看书,在附近活动活动,陪陪家人,安静的时光就足够了吧。

AI 工具

最近在读一本关于二战时期太平洋战争的书,里面一些细节很有意思。

比如美军在珍珠港被空袭之后大概一年的时间里,一直在边打仗边学习。

因为美军中大部分将军和士兵都没有经历过真正的战争。

因此战争初期配合失误和自身混乱的情况时有发生。

感觉跟最近的 AI 热潮很像,大部分人都没有既往的经验,只能边用边学。

在实战中创新。

这两周跟 AI 相关的测试动态里,最让人眼前一亮的就是 playwright 发布了官方的 MCP 支持。

github 地址在这里:https://github.com/microsoft/playwright-mcp。

目前 7k+的 star,热度还是很高的。

看一下官方介绍。

基于 Playwright 实现浏览器自动化的 MCP。该服务器使大语言模型(LLM)能够通过结构化的可访问性快照与网页交互,无需依赖截图或视觉模型。

核心优势

​- 快速轻量 ​​:采用 Playwright 的无障碍访问树技术,非像素级输入 ​- 适配 LLM​​:无需视觉模型,完全基于结构化数据操作

  • 确定性操作 ​​:避免基于截图方法常见的歧义问题

应用场景

  • 网页导航与表单填写(自动化操作)
  • 结构化内容数据提取(爬虫)
  • LLM 驱动的自动化测试(自动化测试)
  • 智能体的通用浏览器交互接口(通用操作)

既然做 UI 自动化又难又花时间,那么不如让大语言模型帮助我们去实现吧。

目前已经看到有人使用 Playwright + Cursor + MCP Server 跑通了自动化测试的流程。

具体效果在这里:https://www.youtube.com/watch?v=cNh3_r6UjKk

AI 测试策略

https://testingtitbits.com/ai-usage-for-testers-quadrants-model/ 这篇文章里作者讨论了 AI 的测试策略。

作者把测试工作分成了 4 个象限。

AI自动化测试又趟出一条新路了?Claude 模型可以直接操作电脑了

前几天 Claude 模型更新一个杀手级应用。

这次最大的更新并不是新模型,而是让 AI 能够直接与计算机互动。

Anthropic 推出了「computer use」功能:通过 API,让 Claude 像人一样操作电脑,能够查看屏幕、移动光标、点击按钮和输入文字。换句话说,Claude 现在可以使用标准的计算机工具和软件。这对于开发者来说是个福音,他们可以借此减少枯燥的重复性工作,甚至让 Claude 执行一些开放式任务。

为了实现这一功能,Anthropic 通过 API 让 Claude 能够感知并操作电脑界面。开发者可以通过这个 API,将用户的指令(例如:「使用电脑上的数据并结合网上信息填写表格」)转化为计算机的操作步骤(如打开表格、浏览器,并自动填写数据)。

目前,部分公司已经开始应用该功能。例如,Replit 正在利用 Claude 3.5 Sonnet 的计算机操作能力,为其智能体项目开发关键功能,用于应用评估。

尽管如此,这种技术并非全新。在此之前,Asana、Canva、DoorDash 等公司已经在尝试用 AI 处理复杂、多步骤的任务。

现实中的挑战

尽管「computer use」功能颇具潜力,但目前仍处于测试阶段。官方也承认,操作速度较慢且容易出错。一些对人类来说非常简单的操作,如拖动、缩放和滚动,对 Claude 来说仍有难度。

在功能演示时也出现了一些问题,比如 Claude 不小心中断了一次长时间屏幕录制,导致录制内容丢失;另一段时间,它开始浏览黄石国家公园的照片。

由于 Claude 通过截图理解屏幕内容,它有时无法捕捉到屏幕上瞬时出现的动态元素或弹出窗口。

Anthropic 希望通过提前发布测试版来获取开发者的反馈,并表示随着时间推移,这一功能将不断优化。

Anthropic 的开发者关系负责人 Alex Albert 分享了一个趣事:在测试「computer use」功能时,团队决定让 Claude 通过 DoorDash 下单订餐。经过一番分析,Claude 最终成功订购了披萨。

「computer use」功能限制:

  • 无法创建社交媒体账户
  • 无法发送邮件或消息
  • 无法在社交媒体发布内容
  • 无法完成购物
  • 无法访问私人信息
  • 无法处理验证码
  • 无法生成或编辑图片
  • 无法拨打电话
  • 无法访问受限内容
  • 无法进行需要身份验证的操作

可以看出来当前 claude 的自动化能力比较有限,但表现出来的推理能力及思考能力还是非常让人印象深刻的。