我劝你别急着让 AI 写测试用例

“它写了 100 条测试用例,却没一条敢拿去生产环境跑。”

我向来是不惮以最坏的恶意来推测”AI 自动生成测试”的,然而看官们大抵都只盯着”AI 写代码”这一点。

满本都写着两个字——侥幸。

测试,大抵是软件工程里最不值钱的一环。写代码的看不起写测试的,做架构的看不起写代码的。现在 AI 来了,写测试的连饭碗都快保不住了。

我横竖睡不着,把这半年的 AI 测试账本翻了一翻,才从字缝里看出字来。

AI 确实能生成测试,但更多的是,它把水搅得更浑了。


一、覆盖率 90%,上线却炸了?

上周,新来的实习生给我看他的 PR。

“勋哥,我用 AI 写了 50 个测试用例,覆盖率飙到了 95%!”

我颇有些欣慰,心想孺子可教。于是点开了测试报告。

只一眼,我便沉默了。

那 50 个用例,清一色在测”正常路径”。输入 A,输出 B,断言通过。

但最关键的三个边界条件,一个都没测:

  • 如果金额是负数怎么办?
  • 如果并发请求来了怎么办?
  • 如果第三方接口超时怎么办?

AI 不懂业务,它只懂语法。你喂给它一段代码,它就能帮你把这段代码,严严实实地测上一百遍。

但它从不问”该不该测”,只问”怎么测”。


二、AI 是个听话的刽子手

你让 AI 测什么,它就测什么。

你喂给它一段错误的计算逻辑,AI 也会帮你把这段错误的逻辑,用 50 个不同的输入测上一百遍。然后告诉你:”恭喜你,所有测试通过!”

这哪里是测试?这分明是在给错误逻辑做合法性背书。

AI 生成的测试用例,往往存在两个致命缺陷:

1. 领域知识真空 通用大模型没有企业内部的业务规则库。比如”满 100 减 20 与 8 折券能否同用”、”非交易时段撤单自动失效”这类规则,AI 根本不知道要测。

2. 粒度失控 同一个功能点下,部分用例写了 10 余个冗余步骤,而关键场景仅用 1 步概括,预期结果模糊到”功能正常”四个字。

它测出了代码的形,测不出业务的魂。 就像八股文做得再好,也挡不住洋人的大炮。


三、怎么解?三道人工审查关

既然 AI 写的测试不能信,那就不用了吗?

那倒也不是。大抵是使用方法不对。

我总结了一个原则:

把 AI 当”初级测试工程师”,不要当”质量把关人”。

AI 能帮你干什么?

  • 生成样板代码和重复性断言
  • 补充边缘参数组合(如 null、空字符串)
  • 快速生成 Mock 对象

但你想让它干什么?

  • 定义核心业务场景的验收标准
  • 判断测试用例的业务覆盖度
  • 做最终的发布决策

这些它干不了,也不该让它干。


四、说句难听的

别被”AI 测试提效”的泡沫迷了眼。

AI 填平了”写断言”的坑,但把”设计测试场景”的坑挖得更深了。

以前测试人员的门槛,是”会不会写代码”。 现在测试人员的门槛,是”能不能判断 AI 测得对不对”。

AI 能替你写测试,但替不了你懂业务。 AI 能替你跑用例,但替不了你兜底。

如果你还在指望”AI 能包揽测试的一切”,那我建议你,还是洗洗睡吧。

万一,你成了那个因为测试没覆盖而背 P0 事故的人呢?

大抵如此罢。


关于码孖AI

码孖AI,专注 AI 工程化落地。

说白了就是帮程序员少干点活——但别指望 AI 替你思考,它只会替你打字。

关注我,持续更新实战踩坑指南。

:::callout tip 觉得有用? 点个「在看」,分享给同样在 AI 落地路上挣扎的朋友。 :::