原创内容,未获授权禁止转载、转发、抄袭。

最近看了些讲 Vibe Testing 的文章。

里面有个观点我比较认同:传统自动化更擅长验证“结果对不对”,但很多真实问题出在“体验顺不顺”。

比如:

接口返回 200,但页面提示很奇怪
订单创建成功,但用户不知道下一步该干什么
表单校验没问题,但错误提示出现得太晚
流程能走通,但中间状态让人不放心

这些问题不一定会让自动化用例失败,但用户就是会觉得“不舒服”。

这就是 Vibe Testing 想解决的空间。
在这里插入图片描述

Vibe Testing 不是玄学

我不太喜欢把 Vibe Testing 翻译成“感觉测试”,因为听起来太虚。

更准确一点,我倾向于把它理解为:

用 AI 从用户视角评估产品流程体验,并把主观体验问题转成可复现证据的一种测试实践。

注意这里有几个关键词:

  • 用户视角:不是只看 DOM、接口、状态码
  • 体验质量:流程是否顺、反馈是否清楚、状态是否可信
  • 可复现证据:不能只说“感觉不好”,要给步骤、截图、原因、建议

所以 Vibe Testing 不应该是:

AI 觉得这个页面体验不好

而应该是:

在第 3 步提交失败后,页面只提示“操作失败”,没有说明失败原因,也没有保留用户已填写内容。
这会导致用户无法恢复操作。建议展示具体错误,并保留表单输入。

这样才有测试价值。

它和传统测试有什么区别

传统自动化更像精确断言:

expect(response.status()).toBe(200);
expect(page.getByText('提交成功')).toBeVisible();

Vibe Testing 更像体验评审:

用户是否能理解当前状态?
失败后是否知道怎么恢复?
等待过程是否有反馈?
按钮文案是否符合用户预期?
流程中是否出现让人困惑的跳转?

可以简单这样区分:

类型关注点适合验证
单元测试函数逻辑算法、规则、边界
接口测试数据契约状态码、字段、幂等、权限
UI 自动化流程是否走通登录、下单、支付、查询
Vibe Testing用户体验是否合理提示、反馈、状态、恢复路径

在这里插入图片描述

它不是替代关系。更准确地说,传统测试解决“结果是否正确”,Vibe Testing 补充“过程是否顺畅”。

哪些场景适合做 Vibe Testing

我会优先把它用在这几类场景。

1. 新用户首次使用流程

比如注册、登录、创建项目、首次下单。

这类流程最怕“功能都对,但用户不知道下一步做什么”。

2. 多步骤业务流程

比如:

填写信息 -> 选择商品 -> 使用优惠券 -> 提交订单 -> 支付 -> 查看结果

传统测试能验证每一步是否成功,Vibe Testing 更适合评估中间状态是否清楚。

3. 错误和异常场景

很多系统的正常流程做得不错,异常体验很差。

比如:

库存不足
优惠券不可用
支付失败
权限不足
接口超时

这些场景非常适合让 AI 从用户视角评估:

提示是否说清楚
用户是否能继续操作
是否保留已填写内容
是否提供重试入口

4. AI 生成页面或 Vibe Coding 产物

AI 生成的页面经常能“看起来可用”,但细节不稳定:

按钮文案前后不一致
成功状态没有闭环
错误提示很生硬
空状态没有引导
加载态缺失

这类问题靠人工扫一遍很累,用 Vibe Testing 做第一轮体验巡检比较合适。

一套可落地的 Vibe Testing 流程

我建议不要上来就说:

帮我测一下这个页面体验好不好

这个提示词太空,AI 很容易泛泛而谈。

更好的流程是四步。

1. 定义用户角色
2. 定义业务目标
3. 定义体验评价维度
4. 要求输出证据和改进建议

可以直接用这个提示词:

你是资深测试工程师和用户体验评审。

请从“新用户首次使用”的视角,评估下面这个流程的体验质量:
注册账号 -> 登录 -> 创建项目 -> 提交保存。

请按以下维度检查:
1. 流程是否顺畅,有没有突兀跳转
2. 每一步用户是否知道当前状态
3. 错误提示是否具体,能否指导用户修复
4. 加载、成功、失败状态是否清晰
5. 表单输入是否被保留,失败后能否恢复
6. 文案是否一致,按钮含义是否明确

输出格式:
- 问题标题
- 复现步骤
- 观察到的现象
- 为什么影响体验
- 严重程度:高 / 中 / 低
- 建议改法

不要只给主观评价,必须给出具体证据。

关键是最后一句:不要只给主观评价,必须给具体证据。

没有证据的 Vibe Testing,就是聊天。

体验评分表可以这样设计

为了避免 AI 一会儿说好、一会儿说不好,最好给它一个评分表。

比如:

维度评分标准
流程连续性用户能否自然完成目标,中间是否中断
状态清晰度加载、成功、失败、空状态是否明确
错误可恢复出错后是否知道原因,能否继续操作
文案一致性按钮、提示、标题是否前后一致
信息可信度金额、状态、权限、结果是否让人放心
操作成本是否有重复输入、无意义跳转、多余确认

让 AI 按 1~5 分评估,再要求它给证据:

请按 1~5 分评分。
每个低于 4 分的维度,必须给出页面证据和修改建议。

这样输出会稳定很多。

一个简单例子:优惠券下单流程

假设要评估优惠券下单流程。

传统自动化可能这样写:

await page.getByLabel('优惠券码').fill('TEST20');
await page.getByRole('button', { name: '应用优惠券' }).click();
await expect(page.locator('#discount')).toHaveText('20');
await expect(page.locator('#total')).toHaveText('79');

这只能说明金额算对了。

Vibe Testing 还应该问:

应用优惠券后,用户是否立刻知道优惠生效?
优惠金额和应付金额是否足够醒目?
优惠券不可用时,是否说明原因?
失败后优惠券输入框是否保留原值?
用户是否知道可以重新输入?

你会发现,这些问题不是单纯 expect 能覆盖的。

可以让 AI 输出这样的检查结果:

问题:优惠券不可用时提示不够具体

复现步骤:
1. 输入 EXPIRED20
2. 点击“应用优惠券”

观察:
页面只提示“优惠券不可用”,没有说明是已过期、已使用还是不满足门槛。

影响:
用户不知道应该换券、凑单,还是联系客服。

严重程度:中

建议:
按原因展示具体提示,例如“该优惠券已过期,请更换其他优惠券”。

如果做成评估表,可以长这样:
在这里插入图片描述

这就是 Vibe Testing 和普通断言的差异:普通断言告诉你金额有没有算对,Vibe Testing 更关注用户是否理解这个结果。

但它不能替代精确验证

Vibe Testing 最大的风险,是把 AI 的判断当成最终结论。

我不建议用它验证这些内容:

金额计算
支付扣款
库存扣减
权限控制
幂等逻辑
数据一致性
安全校验

这些必须靠接口测试、单元测试、数据库校验、日志和监控。

比如订单金额:

商品金额 99
优惠金额 20
应付金额 79

这不是“感觉差不多”就行,必须精确断言。

Vibe Testing 可以说:

金额展示是否清楚
优惠明细是否容易理解
用户是否知道最终支付多少钱

但它不能替你确认金额算法一定正确。

落地时最容易踩的坑

1. 提示词太虚

不要写:

帮我看看体验怎么样。

要写:

从新用户视角,按流程连续性、状态清晰度、错误可恢复性三个维度评估,并输出复现证据。

2. 没有评分标准

不同人对“体验好”的理解不一样,AI 也一样。

没有评分表,结果就会飘。

3. 不要求证据

只要结论不要证据,最后会变成一堆正确废话。

一定要让 AI 输出:

步骤
现象
影响
建议
严重程度

4. 把 Vibe Testing 当验收测试

它适合发现体验问题,不适合做最终质量门禁。

上线前的核心链路,仍然要有稳定的自动化回归和精确断言。

5. 不记录 AI 的判断过程

如果 AI 说“体验不好”,但没有截图、步骤、页面状态,开发很难修。

Vibe Testing 的输出最好能沉淀成缺陷记录,而不是一次性聊天结果。

相关工具能力怎么选

先说清楚:下面这些工具不一定都直接叫 Vibe Testing,但它们分别覆盖了自然语言测试、AI 生成测试、自愈维护、浏览器执行等相关能力。

从资料看,现在相关能力大致有几类:

类型代表适合场景
自然语言测试testRigor用英文/自然语言描述端到端流程
自愈测试Healenium、Functionize、mablUI 变动后降低维护成本
AI 测试平台Functionize、mabl 等企业级测试生成、执行、分析
浏览器 AgentPlaywright MCP、Codex、Claude Code探索页面、生成脚本、分析失败

如果团队已经有 Playwright 或 Selenium,不一定要马上换平台。

更现实的做法是:

先用现有自动化保证精确验证
再用 AI 做体验巡检和失败分析
最后把高价值检查点沉淀成稳定脚本

测试工程师应该怎么用它

我觉得 Vibe Testing 对测试工程师最大的价值,不是“少写代码”,而是让测试视角更靠近用户。

以前我们经常问:

这个字段对不对?
这个接口通不通?
这个按钮能不能点?

现在还应该问:

用户知不知道现在发生了什么?
失败后用户能不能恢复?
这条路径有没有让人困惑?
这个结果是否足够可信?

这其实更接近测试工作的本质。

测试不是证明系统能跑,而是发现系统在哪些地方会让用户受阻。

我的建议

如果你想试 Vibe Testing,可以从一个小流程开始。

比如:

登录
下单
优惠券
搜索
表单提交
权限不足
支付失败

不要一上来测整个系统。

每次只拿一个流程,按这套模板跑:

角色:谁在用
目标:他想完成什么
路径:他会怎么操作
维度:从哪些体验指标评估
证据:哪里让人困惑
建议:怎么改更好

最后把有价值的问题沉淀成:

缺陷单
体验检查清单
自动化断言
回归用例

这样 Vibe Testing 才不是概念,而是能进入测试流程的东西。

总结

Vibe Testing 不是让 AI 凭感觉乱评。

它真正有价值的地方,是让 AI 帮我们从用户视角补上体验验证这一层:

传统测试:这个功能对不对
Vibe Testing:这个流程顺不顺
测试工程师:判断哪些问题值得修,哪些必须精确验证

我的结论是:

能精确断言的,必须精确断言。
不能靠断言覆盖的体验问题,可以用 Vibe Testing 辅助发现。
AI 可以帮你扩大观察范围,但最终质量判断还是测试工程师的责任。

别神话它,也别忽视它。

在 AI 写代码越来越快的背景下,测试不能只跟着补脚本,更要补上体验、风险和质量判断。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐