ARTICLE · 1352002
我把需求文档喂给 Codex,它交回来的用例让我改了 10% 就上线了
我把需求文档喂给 Codex,它交回来的用例让我改了 10% 就上线了
先说结论:那次迭代,Codex 交回来的用例,我只动了大概 10% 就上了线。
改的那 10%,不是错误,而是它没法知道的东西 —— 公司内部的历史坑、上个版本踩过的边界、某个接口约定俗成的特殊处理。剩下的 90%,格式对、覆盖全、前置条件写清楚、预期结果能验收,我几乎是照着读了一遍就收了。
但这件事有个前提:第一版不是这么顺的。
一、第一次喂它需求,我看完只想重写
第一次我很随意,把 PRD 往输入框一贴,加了一句 "帮我把需求转成测试用例,格式规范一点,多覆盖异常场景,按公司模板来"。
结果它交回来的东西,看着像用例,其实是 "作文"。
字段名叫错了,跟我们公司模板对不上号;异常场景列了七八条,全是 "输入非法参数"" 网络异常 "这种万能句式,验收时根本没法判断到底测没测到;边界值倒是写了,但跟接口文档里的字段约束完全对不上。最难受的是评审会上,我拿着这份用例,别人问" 这个异常场景对应哪条规则 ",我答不上来。
后来我才反应过来,问题不在 Codex,在我的输入。
"格式规范一点" 这句话,我对着同事说,同事也会反问:"多规范?"
测试同事之间很少只靠形容词沟通。我们会直接把 PRD、接口文档、公司用例模板丢过去 —— 不是因为我们勤快,是因为语言在天上飘,文件在地上落。
和 AI 协作,本质上一模一样。
靠形容词协作,结果就是三个词:字段名对不齐、异常覆盖无法验收、评审来回拉扯。
二、换成文件驱动,第二版质量直接跳档
第二次我改了做法:不再描述 "要什么样",而是直接给它 "长什么样"。

操作路径其实很短,短到你不会相信它能改变结果:
1. 点击输入框左侧的加号(+) 2. 选择「文件和文件夹」 3. 上传参考文件,或者把本地文件夹加入任务上下文 4. 把公司测试用例模板、接口说明文档一起挂上 5. 输入提示词,让 Codex 按模板迭代
我一次挂了两样东西:公司的用例模板,和补充了 swagger 语义的接口说明。
差别立刻就出来了。
它不再是 "自由发挥",而是照着模板的字段来填 —— 用例编号、前置条件、步骤、预期结果,一格一格对齐;接口说明补齐了字段类型、必填项、取值范围,它就能自己推出真正的边界,而不是编 "输入非法参数";改出来的展示也是按模板改,不靠猜。
这一步其实有个很朴素的道理:测试设计缺的往往不是灵感,而是可对照的上下文。
你不是想不到要测什么,你是缺一份能把它写规范、能让人验收的底稿。模板就是那个底稿,接口文档就是那个事实来源。
三、中间出了个小插曲:预览窗口没了
第三版迭代完,我准备看效果,结果 Streamlit 的预览窗口不见了。
那一刻我心里确实凉了一下 —— 不会是把项目搞坏了吧?
后来弄明白,Codex 为了让我验收,临时启动 Streamlit,验收完窗口会自动关闭,终端输出滚过去,再想看就找不到了。预览关掉,不等于产物丢了:app.py 还在项目文件夹里,模板和导出的 CSV 也都在,重新拉起来继续验收就行。
三种办法,随手用其中一个:
• 等 Codex 主动给:迭代完成后它有时会直接回最新页面截图或预览 • 直接问它:输入「请重新启动 Streamlit,让我看一下页面效果」 • 本地终端:在项目文件夹里执行 streamlit run app.py
这条小坑值得单独说一句,因为很多人第一次遇到就以为 "AI 帮我搞坏了",然后从头重来,白折腾一小时。
四、验收不是 "看起来好看了一点"
页面回来之后,我按验收清单过了一遍,不看 "感觉",只看三件事:
1. 格式是否对得上模板页面上的用例展示,字段名和我公司模板基本一致,用例编号、前置、步骤、预期四块都在,评审时不用再解释 "这个字段是什么意思"。
2. 正常路径能不能跑出来登录接口能生成并展示正常路径的用例,参数、步骤、预期结果闭合,不是只写 "验证登录成功" 这种空话。
3. 异常和边界有没有真覆盖注册接口覆盖了异常场景,不只是 happy path;边界值用例在,格式字段和模板对齐。
这三项过了,我才承认这个 "API 用例生成器" 的初版算成型:格式规范、覆盖完整的 Web 用例展示工具,可以进入后续的模型调优和对话评审。
这里有个细节挺关键 ——验收标准是提前定好的,不是事后凑的。因为我一开始就把模板挂上去了,验收时就有对照物;如果我还是靠形容词沟通,验收就只能靠 "我觉得还行",那才是最危险的。
五、那 10% 到底改了什么
回到开头那个数字。
它交回来的用例里,我改的主要是三类东西:
第一类,公司内部的历史坑。比如某个接口在特定参数组合下会触发下游限流,这种事模板里没有,接口文档也不会写,只在上一轮的 bug 单里。
第二类,约定俗成的特殊处理。比如某个字段看起来可以为空,但业务上要求必传一个占位值,这种 "文档没写、大家都这么干" 的规则,只有待过这个项目的人知道。
第三类,优先级和取舍。它能覆盖,但它不知道这次迭代只有两天,哪些必测、哪些可以放到回归。判断这件事,永远是人的活。
所以那句 "改了 10% 就上线",不是 Codex 有多神,而是它把90% 的体力活接走了:字段对齐、格式套模板、异常场景铺开、边界值算出来。留给我的是真正需要人判断的那 10%。
反过来说,如果那 90% 还得我自己一格一格填,我根本没时间想那 10%。
六、四条可以直接抄走的经验
1. 文件优于纯文字。模糊描述难以传达,参考模板更精确。你跟同事说不清的事,跟 AI 更说不清。 2. 一次把「模板 + 接口说明」都挂上。入口就在输入框左侧的加号 → 文件和文件夹 → 上传文件或关联文件夹 + 提示词。别只挂一个,测试设计缺的是可对照的上下文,不是灵感。 3. 页面看不见不等于产物没了。问 Codex 重新启动 Streamlit,或者本地执行 streamlit run app.py。别急着重做。4. 先给模板,再谈测试设计质量。初版成型的标志不是 "页面好看",是格式规范、覆盖完整、能被验收。
写在最后
我做测试这些年,见过太多人把 AI 当 "许愿池":丢一句需求,期待一份能直接交差的用例。许愿不灵,就说不准用。

其实 AI 协作的门槛从来不在模型,在你能不能把 "我要什么" 讲成 "长什么样"。前者是形容词,后者是文件。
一份模板,胜过一千个形容词。这句话放在同事沟通上成立,放在 Codex 上,一样成立。

你下次再让它写用例之前,先问自己一句:我给它的是描述,还是参照物?
答案不同,产出差一个档。
#AI编程 #AI测试 #智能体 #软件测试学习 #软件测试学习资料 #AI工具 #测试开发 #软件测试工程师 #软件测试 #测试用例 #大模型 #自学软件测试 #自动化测试 #AI测试工程师 #A技能提升 #Codex















































































