当 AI 能一键生成用例,测试工程师的价值就从『执行用例』挪到了『定义验收标准』

举报
霍格沃兹测试学社 发表于 2026/09/18 13:01:45 2026/09/18
【摘要】 AI时代,测试工程师的核心价值正从“执行用例”转向“定义验收标准”。AI可高效生成用例,却无法替代人类对模糊需求的业务判断——如界定“体验好”的具体口径、为模型不确定性设定拒答边界与评测标准。这才是不可替代的老本行。

当 AI 能一键生成用例,测试工程师的价值就从『执行用例』挪到了『定义验收标准』

前阵子一个做接口测试的同学给我看:他把一份接口文档丢给 AI,几十条用例连同断言几秒钟就生成好了;另一个做 UI 的,让 AI 照着页面录了一段操作,直接吐出一份能跑的 Playwright 脚本。他们半开玩笑地问我同一句话:「那我们是不是快被替代了?」

我的回答是:被替代的那部分,确实该被替代——但被替代的从来不是「测试」,而是「把一份已经明确的验收标准,翻译成一条条用例」这个执行动作。至于「这份需求到底什么叫通过」这个判断,AI 到今天仍然替不了你,而且它越强,这个判断就越值钱。

这不是安慰。前程无忧的一份调研里有个定性说法:超三成应届生已经感知到 AI 带来的就业替代效应(口径来自前程无忧调研、经新京报/经济观察报报道)。感知到替代是真的,但替代落在哪个动作上,才是每个一线测试同学真正要想清楚的事。

AI 抹平的是「执行用例」的成本,抬高的是「定义验收标准」的价值——前者是它的主场,后者是你的老本行。

一、先分清两个动作:翻译用例 ≠ 定义通过

把测试工作拆开看,其实是两个性质完全不同的动作。

第一个动作是翻译:验收标准已经明确了——「金额字段必须是正整数」「未登录用户点结算要跳登录页」「退款超 7 天要拒答」——你把它们逐条变成用例、变成断言、变成脚本。这个动作规则清晰、可枚举、有大量范式,正是 AI 最擅长、也最先被自动化掉的部分。你手写它,只是在跟机器比谁打字快。

第二个动作是定义:面对一份模糊需求——「做一个智能退款助手,体验要好」——由你来判定「好」到底意味着什么、哪些是必须守住的红线、什么情况模型必须拒答、用什么口径算「通过」。这个动作没有现成答案,需要你对业务、对用户、对模型脾气同时下判断。AI 能帮你把定义好的标准翻译成用例,但它没法替你决定「什么才叫通过」。

慌,往往是因为把这两个动作混成了一团。你真正在被替代的,是第一个;而你真正该加码的,是第二个。

二、这恰恰是测试工程师的老本行

有意思的是,「把模糊需求拆成可判定标准」这件事,测试工程师干了很多年,只是换了个对象。

你当年做等价类划分,本质就是在模糊的输入空间里划出「哪几类值得测」;你做边界值分析,就是在给「通过/不通过」找那条精确的临界线;你写验收条件(acceptance criteria),就是把「产品说的体验好」翻译成「可判定的断言」。这些能力过去用在确定性系统上——输入定了、输出就定了。现在对象换成了不确定的模型:同样的输入,模型可能给出不同措辞、可能多一句话、可能该拒答时没拒。对象变难了,但你要干的事没变——还是把模糊拆成可判定,只是现在还要额外为「不确定性」本身定义验收口径。

所以这不是「测试工程师要转行去学一个新东西」,而是「测试工程师最核心的那部分判断力,突然变得前所未有地稀缺」。会用 AI 生成用例的人会越来越多,但能把一份含糊的模型需求拆成一套「模型也算得过、还能回归」的验收标准的人,依旧稀缺。

而且对象换成模型之后,「定义通过」这件事不是变简单了,是变难了。确定性系统里,输入定了输出就定了,你只要断言「等于某个值」;模型不一样——同一个问题问两次,措辞可能不同,可能这次带了句寒暄、下次没有,可能该拒答时它偏偏编了个答案。于是你不能再只写「结果正确」,得先想清楚:正确是指语义正确还是格式正确?允许它换措辞吗?换到什么程度算跑题?该拒答的边界划在哪?这些问题没有标准答案,全看你对业务代价的判断——答错一条会赔钱的场景,验收口径就得比闲聊机器人严苛得多。恰恰是这层「为不确定性定义口径」的活,AI 替不了,因为它需要的是对业务后果的权衡,而不是对范式的复现。

三、两类测试工程师的分野

把这两种定位摊开对照,差别一目了然:

维度 执行用例型测试工程师 定义验收标准型测试工程师
可被 AI 替代度 高——翻译用例是 AI 主场 低——判定「什么叫通过」仍靠人
核心产出物 用例、脚本、执行记录 验收标准、评测口径、拒答边界
稀缺性 随 AI 普及快速贬值 随模型不确定性的普及持续升值
成长路径 越写越快,但天花板是被工具追平 越拆越准,沉淀成可复用的判断资产

这张表不是说执行不重要——执行永远需要有人兜底。它想说的是:如果你的时间几乎全花在第一个动作上,那你是在和 AI 抢一件它注定会赢的活;把重心往第二个动作挪,你才站在 AI 帮你、而不是替你的那一侧。

四、怎么写一份「模型也算得过」的验收标准

道理讲完,落到可操作。给模型类需求写验收标准,我会强制自己答清三件事,缺一件就说明标准还没定义完:

第一,可判定的输出契约。别写「回答要准确」,要写成能判真假的形式:输出必须是合法 JSON、必须含哪些字段、金额必须是正整数、必须包含哪些关键实体。判定标准越接近一条能跑的断言,AI 就越没法糊弄,你也越能把它接进回归。

第二,可回归的评测口径。别写「大多数情况表现好」,要写清用什么集子、按什么指标、过什么阈值算通过:拿一批固定的代表性 case,规定通过率不得低于某个线、相对上一版不得明显劣化。口径固定了,「换了模型/改了 prompt 到底变好还是变坏」才有得比。

第三,明确的拒答边界。模型需求最容易漏的就是「什么时候它必须闭嘴」:超范围要拒答、缺信息要追问、涉及风险要转人工。把这些边界写成可判定的 case,往往比写「正常路径」更能防住线上事故。

下面这段清单式的伪代码,是我拆解一个「智能退款助手」需求时会填的模板——它不追求能运行,追求的是逼自己把每一条都写到「可判定」:

# 验收标准拆解模板:智能退款助手(伪代码/清单)
需求原文(模糊): "做一个退款助手,体验要好,能自动判断能不能退"

拆成可判定验收标准:
1. 输出契约:
   - 必须是合法 JSON,含字段 {eligible: bool, reason: str, amount: int}
   - amount 必须为正整数;eligible=false 时 reason 不得为空
2. 正常路径(等价类):
   - 未超 7 天 + 有订单号 -> eligible=true
   - 已超 7 天           -> eligible=false,reason 说明超时
3. 边界值:
   - 恰好第 7 天 / 第 8 天 -> 分别验证 true/false 的临界判定
4. 拒答边界(最容易漏):
   - 缺订单号        -> 必须追问,不得直接判 eligible
   - 问政策外的问题  -> 必须拒答或转人工,不得编造
5. 回归口径:
   - 固定评测集 N 条代表性 case,通过率不得低于阈值 T
   - 换模型/改 prompt 后,相对基线不得明显劣化

为什么强调「可判定」。你回头看这份模板:每一条都能被翻译成一条断言、一个 case——这时候你再把它丢给 AI 生成用例,AI 生成得又快又准,因为标准是你定的,它只负责翻译。这正好回到了开头的分工:定义是你的活,执行交给它。反过来,如果你给 AI 的只是「体验要好」,它只能生成一堆看似合理、实则无法判定的用例,跑绿了你也不知道到底测没测到点上。

想练这层判断力,有个很轻的日常习惯:下次拿到任何一条需求,先别急着让 AI 生成用例,逼自己先用一句话回答「这条到底什么叫通过」,并且这句话里必须出现一个能被机器判真假的条件。答不出来,说明需求还没定义清楚,这时候生成再多用例都是空转;答得出来,你就已经站在了 AI 帮不了、也替不掉的那一侧。日积月累,这份「把模糊拆成可判定」的手感,才是别人抄不走的东西。

AI 时代测试工程师的护城河,不在于你比它写得更快,而在于你能把一句「体验要好」拆成十条它算得过的验收标准。

你最近一次写验收标准,是停留在「回答要准确」,还是已经拆到了「可判定的断言」这一层?欢迎聊聊你怎么给模型需求定「通过」的口径。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。