最近身边不少测试同学都在问我一个问题:
*“AI现在都能写测试用例了,那测试工程师是不是又要被优化一波?”*
我听完一般会先沉默三秒。
不是因为问题太尖锐,而是因为这个问题问得有点像:
“有了电饭煲,厨师是不是都要失业了?”
电饭煲确实会煮饭。
但你让它做一桌年夜饭试试?
所以我没有直接下结论,而是拿了一个真实项目做了次验证。
项目细节不能展开,下面做了脱敏处理。你可以理解成一个典型的后台配置类需求:有页面、有接口、有权限、有状态流转,还有一堆产品经理藏在角落里的“默认规则”。
今天就聊聊:AI写测试用例到底靠不靠谱?它能替你干什么,又绝对不能交给它什么。
先说结论:AI能写,但别让它独立写
我这次验证完,结论很明确:
*AI不是测试用例负责人,它更像一个刚入职、手速很快、态度很好、但还不懂业务的测试实习生。*
它有三个明显优点:
1.生成快,真的快;
2.覆盖基础场景不差;
3.能帮你打破“我是不是漏了点什么”的思维盲区。
但它也有三个硬伤:
4.不懂真实业务风险;
5.容易写“看起来很完整”的废话用例;
6.对历史坑、隐性规则、跨模块影响基本没感觉。
一句话:
*AI适合做用例初稿,不适合做最终测试设计。*
你可以让它铺地板,但房子的承重墙还得你自己看。
我是怎么验证的?
这次我选了一个真实项目里的功能点,特征大概是这样:
·有后台配置页面;
·有新增、编辑、查询、删除等常规操作;
·有角色权限控制;
·有接口参数校验;
·有状态流转;
·有历史兼容逻辑;
·有少量异常场景,比如重复提交、脏数据、网络失败。
说人话就是:
*不算特别复杂,但足够代表大多数业务测试的日常。*
我做了三轮实验。
第一轮:只给一句需求标题
Prompt大概是:
请根据“后台配置管理功能”生成测试用例。
结果不出意外,AI写得非常“标准答案”:
·新增成功;
·编辑成功;
·删除成功;
·查询成功;
·必填项为空;
·输入超长;
·无权限访问;
·网络异常。
你看,不能说错。
但问题是:这套用例放到任何一个后台系统里都像对的。
它不像是为这个需求写的,更像是从“测试用例八股文大全”里拷出来的。
第一轮结果:
指标 | 结果 |
生成用例数 | 43条 |
可直接使用 | 约18条 |
需要大改 | 约20条 |
基本没价值 | 约5条 |
看上去有43条,挺丰满。
仔细一看,很多是“水分肌肉”。
第二轮:给它需求文档和接口信息
第二轮我认真了一点,把脱敏后的需求说明、字段规则、接口参数、权限说明都喂给了AI。
这次效果明显好了。
它开始能写出一些更贴近业务的东西,比如:
·字段A在状态X下不可编辑;
·字段B为空时走默认值;
·管理员和普通成员看到的操作按钮不同;
·保存成功后列表页需要同步刷新;
·接口返回异常码时前端提示是否正确。
这一轮我心里稍微点了点头:
嗯,像个能干活的实习生了。
第二轮结果:
指标 | 结果 |
生成用例数 | 68条 |
可直接使用 | 约45条 |
需要补充/调整 | 约18条 |
基本没价值 | 约5条 |
可用率明显提升。
但很快问题也暴露了:
*AI会认真阅读你给它的材料,但它不会质疑材料。*
需求文档没写的,它默认不存在。
接口文档没标的,它不会主动怀疑。
产品经理口头说过的“这个地方沿用老逻辑”,它完全不知道。
而测试最值钱的地方,偏偏经常就在这些“文档没写”的缝里。
第三轮:加入历史Bug和测试经验
第三轮,我把历史缺陷、线上问题、类似模块踩过的坑也补充进去。
比如:
·之前有过重复提交导致数据重复的问题;
·某个字段曾经出现过前后端长度限制不一致;
·角色权限曾经出现过缓存未刷新;
·编辑保存后,旧配置对存量数据仍然生效;
·多人同时操作时,后保存的人会覆盖前一个人的修改。
这轮之后,AI终于开始“像测试”了。
它补出了不少风险场景:
·连续点击保存按钮是否会重复提交;
·多端同时编辑同一条配置时如何处理;
·权限变更后是否立即生效;
·历史数据是否兼容新字段;
·接口超时后前端是否允许重复操作;
·删除配置后关联数据是否异常。
这就有点意思了。
第三轮结果:
指标 | 结果 |
生成用例数 | 82条 |
可直接使用 | 约61条 |
需要人工判断 | 约17条 |
基本没价值 | 约4条 |
注意,效果提升的关键不在于“AI变聪明了”。
而是:我给它的上下文变值钱了。
AI写用例的质量,不取决于你问得有多客气,而取决于你喂进去的信息有没有质量。
AI写得最好的部分:基础覆盖
这次验证里,AI最稳定的是基础场景。
比如:
·正常新增;
·正常编辑;
·查询筛选;
·删除确认;
·必填校验;
·长度限制;
·格式校验;
·权限按钮展示;
·接口异常提示。
这些场景它写得又快又全。
如果让一个测试同学从0开始整理,可能要半小时到一小时。
AI几分钟就能给你一个不错的初稿。
所以我觉得,以后测试写基础用例,不用AI其实有点浪费。
这就像你明明有洗衣机,还非要蹲在盆边手搓袜子。
精神可嘉,但没必要。
AI写得最差的部分:业务风险
但一到业务风险,AI就开始露怯。
举个例子。
需求里有一个配置项,表面上只是“是否开启某能力”。
AI会写:
·开启成功;
·关闭成功;
·开启后状态展示正确;
·关闭后状态展示正确。
看起来没问题。
但真实项目里,这个开关背后会影响好几个下游模块。
它会影响存量数据怎么展示;
会影响接口是否返回某些字段;
会影响不同角色是否还能继续操作;
甚至会影响灰度用户和全量用户看到的结果是否一致。
这些AI第一版完全没写。
为什么?
因为这不是“字段校验”问题,这是“业务理解”问题。
*AI擅长根据文字补全测试点,但它不擅长根据系统关系推导风险。*
而中高级测试最值钱的地方,恰恰就是这件事。
AI最容易制造的幻觉:看起来很完整
这点特别值得警惕。
AI写出来的用例通常排版整齐、分类清楚、语气专业。
乍一看:
哇,好全面。
再仔细看:
嗯?怎么全是正确的废话?
比如它会写:
·验证用户点击保存按钮后系统正常保存;
·验证输入合法数据后页面展示正确;
·验证异常情况下系统给出合理提示。
这些不是不能写。
但问题是:它没有告诉你什么叫合法,什么叫正确,什么叫合理。
这种用例最大的危险是:
*它让你误以为自己已经覆盖了,但实际上你只是拥有了一份漂亮的目录。*
测试用例不是为了凑条数。
测试用例的价值在于:它能不能指导执行,能不能暴露风险,能不能帮助团队做质量判断。
否则100条“验证功能正常”,还不如5条打中命门的风险用例。
那到底该怎么用AI写测试用例?
我现在的建议是:把AI放在三个位置。
1. 用它生成初稿
不要再从空白文档开始憋用例了。
你可以直接让AI基于需求文档生成第一版。
但注意,Prompt里至少要包含这些信息:
·需求背景;
·角色权限;
·字段规则;
·接口说明;
·状态流转;
·历史限制;
·你特别关心的风险点。
别只丢一句“帮我写测试用例”。
你给它一碗清水,它最多给你煮一锅白粥。
2. 用它帮你查漏补缺
我比较推荐的问法是:
下面是我写的测试用例,请从边界值、异常流程、权限控制、历史兼容、并发操作、数据一致性六个角度帮我找遗漏。
这个问法比“帮我写用例”有用得多。
因为你已经有了测试设计,AI是在帮你做第二视角审查。
它不会替你开车,但可以坐副驾提醒你:
诶,前面那个坑你看见了吗?
3. 用它整理表达
有时候测试同学不是想不到,而是写出来太散。
AI很适合帮你做:
·用例分类;
·前置条件整理;
·测试步骤标准化;
·预期结果补全;
·Markdown/表格格式转换;
·冒烟/回归/全量用例分层。
这些工作交给AI,性价比非常高。
它不一定能决定“测什么”,但很擅长把“怎么写”变得更清楚。
我最终会怎么分工?
如果让我把AI放进真实测试流程,我会这么分:
环节 | AI能不能做 | 我的建议 |
基础用例初稿 | 能 | 直接用,节省时间 |
字段校验/异常场景 | 能 | 让AI先铺一版 |
权限/状态组合 | 部分能 | AI生成,人来校验 |
业务风险识别 | 不稳定 | 必须人工主导 |
历史Bug回归 | 依赖输入 | 把历史缺陷喂进去再用 |
用例分层和格式化 | 很擅长 | 放心交给它 |
最终测试策略 | 不能 | 测试负责人自己拍板 |
所以别再问“AI能不能写测试用例”。
更准确的问题应该是:
*哪些用例适合AI写,哪些用例必须人来设计?*
这个问题问对了,AI就不是威胁,而是杠杆。
对测试工程师的真正提醒
这次验证最让我有危机感的,不是AI能写用例。
而是:
*如果一个测试工程师的工作内容,只是根据需求文档写基础用例,那AI已经非常接近你了。*
这话不好听,但是真的。
AI现在最擅长替代的,就是这些工作:
·需求转测试点;
·常规边界值;
·标准异常流;
·用例格式整理;
·测试数据生成;
·自动化脚本初稿。
如果你的价值只在这里,那确实危险。
但反过来,如果你能做到:
·看懂需求背后的业务风险;
·知道系统之间的依赖关系;
·能从历史问题里提炼测试策略;
·能判断哪些地方值得测深,哪些地方点到为止;
·能把质量风险讲给产品、开发和老板听懂;
那AI不是来抢你饭碗的。
它是来帮你把体力活卸掉的。
*测试工程师真正要升级的,不是写用例的速度,而是设计质量保障方案的能力。*
最后说句实在话
AI写测试用例这件事,不神,也不废。
你把它当大师,它会翻车。
你把它当废物,你会落后。
最合理的用法是:
*把AI当成一个很快的初级测试,让它先写、先整理、先查漏,然后由你来判断、裁剪、补风险。*
以前写用例,很多人是从0到1。
以后更合理的方式是:
AI从0写到60分,测试工程师从60分打磨到90分。
至于最后那10分?
靠的是业务理解、系统经验和踩坑后的直觉。
这些东西,AI暂时还没有。
也正因为如此,测试工程师还没到下桌的时候。
但如果你还坐在桌边,只会把需求翻译成用例,那就真的要小心了。
💬 评论区来聊:你现在写测试用例会用AI吗?是觉得真香,还是觉得它一本正经地胡说八道?
👉 如果你身边有人还在纠结“AI会不会取代测试”,可以把这篇转给他。别吓他,也别哄他,先让他知道AI到底能干到哪一步。
关注「质量黑盒」,一个资深测试的真话输出站。每周一篇,不装、不卷、不贩卖焦虑——只聊踩过坑之后的真东西。
夜雨聆风