我们注意到一个反直觉的现象:覆盖率数字越来越漂亮,线上故障却没减少。掘金上一篇被广泛转发的技术文章点出原因——AI 自动写出的单测常常是把代码表面重念一遍:输入有效参数、调用方法、断言返回成功,覆盖率上升了,但业务规则是否被验证、状态不允许时是否会拒绝这些关键问题,反而没被测到。
换种说法:你以为 AI 帮你守住了代码质量,它可能只是把同一份代码换个姿势又测了一遍。
这是什么
文章讨论的是用 AI 编码助手(Cursor、GitHub Copilot、通义灵码等)写单元测试(对一段代码逻辑做最小单元验证)。常规做法是把方法丢给 AI,几秒得到正常、空值、报错、成功四类测试,跑起来不报错。但作者认为这是「假性覆盖」:覆盖率(被测代码占总代码的比例)数字漂亮,业务真正会炸的地方——优惠券过期、库存不足时订单已写入、重复提交、数据库成功但事件发布失败——反而没测到。
作者给出的替代路径是:先识别业务风险 → 列边界场景 → 定义可观察结果 → AI 生成 → 人工审查。AI 降级为「按清单整理的助手」,判断权留在工程师手里。
行业怎么看
支持者认为,AI 编码助手的最大盲区是「上下文」——它看不到线上事故的真实形态,只能基于代码表面模式推断。这也是初级工程师用 AI 写测试时问题更明显的原因。
但反对意见同样值得听。如果工程师要先花一小时列清单再用 AI 生成,效率未必比手写更高。更值得警惕的是反向风险——管理者看到「AI 一键生成测试」就以为质量有人守了,放松代码审查,但实际产出的测试可能在掩盖真实漏洞。换句话说,AI 让团队看上去在测试,实际可能在糊弄。
对普通人的影响
对企业 IT:如果团队在推编码 AI,别被「提效 X 倍」数字冲昏头。测试环节尤其需要人工审查机制,否则覆盖率报表越漂亮,线上可能越危险。
对个人职场:对程序员来说,AI 不会让人失业,但会改变价值评估标准——能判断「测试有没有意义」「边界有没有覆盖」的人,比能写更多测试的人更值钱。这套逻辑对非技术管理者也适用。
对消费市场:短期内,AI 编码工具的卖点会从「一键生成」转向「专业工作流」——能教会团队怎么用 AI 的工具,比单纯能写代码的工具更被市场认可。