AI越能写代码测试就越值钱
AI越能写代码,测试就越值钱。一个"余额不足"的需求,AI只生成5条标准用例,老测试能问出7个需求里没写的问题。测试的核心不是执行,而是发现"没有被定义的部分"——只会写用例的人最危险。 🎯
过去一年,我身边越来越多测试同行在焦虑一个问题:"AI都能写代码了,测试是不是快没了?" 😰
说实话,这个问题的答案跟你想的可能完全相反。读完这篇,你会知道为什么AI越能写代码,测试反而越值钱。 🤯
先说说我观察到的一个现象。 👀
过去两年,大模型最猛的冲击在开发侧。Claude Code、Cursor、GitHub Copilot、Gemini Code Assist……开发圈里几乎人手一个AI编码助手 🛠️ 以前一天吭哧吭哧写500行代码,现在一句Prompt就生成了。
这时候测试圈开始慌了——"AI都能写代码了,下一个是不是就轮到测试了?" 😱
这个逻辑表面上看没毛病:代码都能生成了,测试用例还远吗? 🤷
但如果你仔细看看AI在开发和测试两个领域的能力差距,会发现一个有意思的事:
AI生成代码的进步速度,远大于AI测试软件的速度。
为什么?因为大多数人把测试想得太简单了。 🎯
很多人眼中的测试工作长这样: 🤔
看需求
↓
写用例
↓
执行用例
↓
提Bug
如果测试真的只是这样,那被AI取代只是时间问题。事实上,大模型几秒钟就能生成几百条测试用例。 🤖
但问题在于——真正有价值的测试工作,从来不是写用例。
一个资深测试面对一个新需求,脑子里的实际流程是这样的: 🧠
理解业务← 最难替代 🧠
↓
发现隐含规则← AI最弱 🕵️
↓
发现需求漏洞← 核心价值 💎
↓
设计验证策略← 需要经验 📐
↓
提Bug← 最容易替代的一步 🫥
看出来了吗?执行是最底层的。真正创造价值的,是前面那几步"看不见"的工作。 🎭
说个真实案例。 💯
需求文档上写着:"用户余额不足时禁止下单"。
把这句话扔给AI,它几秒钟就能写出这样的测试用例: 🤖
✅ 余额 = 0
✅ 余额 = -1
✅ 余额 = 商品价格的边界值
看起来没问题,对吧? 🤷
但一个有经验的老测试看到这个需求,脑子里会冒出这些问题: 🧠💥
❓ 老测试的真实思考链
| ❓ | ❓ |
| ❓ | ❓ |
| ❓ | ❓ |
这些问题是需求里没有写的。但它们才是真实线上的事故源。 💥
AI为什么想不到?因为它本质上是在已有的上下文中找最合理的答案,它不具备"怀疑需求"的能力。而资深测试最值钱的本事,恰恰就是"发现没有被定义的部分"。 🕵️♂️
测试最难的不是执行,而是发现没有被定义的部分。
还有一个更根本的问题。
今天绝大多数软件,本来就是为人设计的。 👤
我们每天在测的东西——按钮、弹窗、下拉菜单、拖拽、手势操作——本质上都是:
Human Interface
不是 Machine Interface
AI看到这些界面时,其实非常痛苦——"我知道这里有个按钮,但我不知道为什么要点它。" 🤖💭
于是大量所谓的AI自动测试,最后变成了高级版Monkey测试——到处点、到处跳、到处试。覆盖率看起来很高,有效Bug却没几个。 🐒
这就是为什么到今天,功能测试依然是AI最不擅长的领域之一。
这里说一个可能比较扎心的事实。
很多人觉得开发技术含量高,测试技术含量低。但从AI的角度看,代码生成比正确性验证容易得多。
为什么?
因为代码本质上是确定性的。输入"实现一个订单查询接口",输出一段代码——存在明确答案。
而测试关注的是——"这个系统到底是不是正确的?" 🤔
这个问题没有标准答案。用户体验是否合理?业务流程是否存在漏洞?风险边界是否覆盖?产品逻辑是否符合预期?这些问题比写代码更接近"决策"——而决策恰恰是当前AI最薄弱的能力。
说测试安全,不意味着所有测试工作都安全。
事实上,最危险的恰恰是大量重复执行类工作:
🔴 容易被替代的
| ✕ | ✕ |
| ✕ | ✕ |
🟢 越来越值钱的
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
这个表很重要,建议你截图保存。它基本就是未来5年测试行业的"红黑榜"。 📊
这篇文章想传递的核心信息其实很简单:
AI时代最大的误判之一,就是把测试理解成执行工作。
执行最容易被替代。 🫥判断最难被替代。 🧠
当AI越来越擅长写代码时,人类的价值反而会向"定义正确性"迁移。
所以别焦虑。焦虑不如想清楚自己下一步要往哪里走。 🧭
下一期我会聊一个更具体的话题:「你可能根本不懂什么是测试——90%的人把测试想简单了」,感兴趣的可以关注,别错过。 👀
📢 下期预告
「你可能根本不懂什么是测试」
90%的人把测试想简单了。一篇帮你重新理解测试真正的工作。 👀
夜雨聆风