我直接接手过一个压测项目,回归用例要覆盖三个老模块,手写的话按团队以往速度至少两个工作日。换成AI辅助之后,一个上午搞定主流程用例,下午补边界和异常场景,整体时间缩到原来的四分之一。这不是个例,身边好几个团队都在用类似的方法,只不过多数人只停留在"让AI帮忙写几条用例"的层面,真正把效率翻上去的,靠的是下面这套完整打法。
先看清楚一件事:AI生成测试用例的效率红利,本质是把"从需求到用例"的翻译成本砍掉了,而不是让AI替你做质量决策。手工写用例最耗时的地方在于:读需求文档、拆分业务规则、琢磨边界条件、组织成可执行的步骤和断言。这些工作占掉的时间远大于"敲字"本身。AI能快速完成的是"规则到用例"的映射,而"规则从哪来、规则对不对"仍然需要人来定。理解了这个分工,你才不会拿着AI生成的几十条用例直接往用例管理系统里灌,然后被评审打得怀疑人生。
本文会从方案设计、实操细节、常见翻车点三个层面,把一个真实可复用的AI生成测试用例流程拆开讲。适合正在搞质量保障、想引入AI辅助但不知道从哪下手的测试工程师,也适合被领导要求"提效"但不想用AI堆无效用例的团队。
1. 效率10倍是怎么算出来的
先别急着信"10倍"这种数字。我实测下来,不同场景差别很大:纯接口参数校验类用例,AI生成速度确实能到手工的10倍以上;复杂业务状态流转的用例,AI只能做到3到5倍,因为需要人来梳理状态机、补充业务规则;UI端到端场景最拉胯,AI生成的步骤经常踩不准真实交互路径,效率反而可能更低。
1.1 先拆工作量,再谈倍率
手工写用例的工时主要消耗在四个环节:需求理解、规则提取、用例编写、评审返工。其中需求理解和规则提取占掉一半以上时间,这两个环节恰恰是AI能直接加速的。AI基于大模型的语义理解能力,可以快速从需求文档、接口定义、历史缺陷记录中抽取候选规则,直接给出用例草稿。
- 需求理解:读文档、开会确认,人均1到3小时
- 规则提取:圈定正常流程、异常分支、边界值,人均2到4小时
- 用例编写:按模板落成标准用例,人均2到3小时
- 评审返工:和开发对齐、修改理解偏差,人均1到2小时
AI介入后,规则提取和用例编写这两块可以压缩到原来的十分之一左右,需求理解和评审返工省不了太多,整体倍率大概在4到6倍。如果有人告诉你"全流程10倍",要么是场景极其简单,要么是没算评审返工的时间。我更喜欢把"10倍"理解为纯生成环节的产出速度,这样既诚实,又不打击团队引入AI的积极性。
1.2 哪些用例场景最适合AI生成
根据我踩过的坑,适合AI生成的用例有明确边界:
- 接口参数校验类:字段必填、类型、长度、枚举值、边界值。规则清晰,AI几乎零失误,效率提升最明显。
- 数据处理类:输入输出映射、格式转换、计算逻辑。只要把规则描述清楚,AI能快速覆盖正常和异常分支。
- 页面表单校验类:必填提示、格式错误提示、提交成功/失败状态,AI生成基础用例后人工补交互细节。
- 状态机类:订单状态流转、审批流状态迁移。AI可以生成主体路径,但状态组合的穷举需要人来设计。
不适合的:复杂UI交互链路、依赖大量真实业务数据的场景、需要强业务经验判断"什么算合理结果"的场景。这类用例让AI生成,表面看很快,实际上返工成本远高于手写。
2. 用AI生成用例前,先做三件事
很多人打开AI工具就直接甩一句"帮我生成登录功能的测试用例",出来的结果要么是网上随处可见的通用模板,要么是一堆看似专业实则没用的"正例+反例"。问题出在没给AI足够的上下文。正确姿势是先做三件事:整理输入素材、定义输出格式、建立评审标准。
2.1 整理输入素材,给AI"喂"足上下文
AI生成用例的质量,严重依赖输入信息的完整度。理想的输入素材包括:
- 需求文档或PRD中与本次功能相关的章节
- 接口定义文档(字段名、类型、是否必填、长度限制、枚举值)
- 已有的历史缺陷记录(提取高频出错点)
- 业务规则说明(尤其是If-Then形式的规则描述)
我习惯把素材整理成一个"需求速览块",放在提示词最前面,而不是扔一堆文档让AI自己翻。具体做法是:把核心需求用几段话概括,列出关键业务规则,贴上接口字段表,最后才让AI生成用例。这一步花10分钟,但能让AI生成的用例贴近真实业务,而不是泛泛的模板。
注意:不要直接把整个PRD文档丢给AI然后让它"生成所有用例",输出会非常散。你要先自己做裁剪,这本身就是需求理解的过程,省不掉。
2.2 定义输出格式,让用例能直接用
AI默认生成的用例格式五花八门,有的像需求描述,有的像测试步骤,直接进用例管理系统还得重新排版。我的做法是在提示词里明确用例格式,通常是:
用例编号:TC_模块_功能_序号 前置条件:描述前置数据和状态 测试步骤:步骤1/步骤2/步骤3 测试数据:输入数据的具体值 预期结果:明确的输出断言 优先级:P0/P1/P2 用例类型:功能/边界/异常/容错要求AI严格按这个模板输出,每条用例一行关键信息,方便后续解析和导入。实测下来,只要模板给得够具体,AI的输出格式能保持九成以上的稳定性。有了统一的格式,不管是人工评审还是批量导入工具,都顺畅得多。
2.3 建立评审标准,别让AI的"正确"骗了你
AI生成用例最大的风险不是"写错",而是"写得很正确但没用"。比如一个订单查询功能,AI会生成"输入有效订单号,点击查询,返回正确订单信息"这种用例,逻辑上没错,但覆盖不了任何有价值的分支。评审标准应该包括:
- 业务有效性:这条用例验证的业务规则是否真实存在?是不是需求里明确要保障的?
- 分支覆盖率:用户说的"边界值"是不是覆盖了最大值、最小值、超限值、类型转换极限?
- 断言强度:预期结果是"系统正常处理"还是"返回状态码200且响应体包含orderNo字段且金额精确到分"?断言越具体,用例越有价值。
- 可执行性:前置条件和测试数据是否能在测试环境快速准备?如果准备数据要半小时,这条用例的真实性价比就要打个问号。
评审时重点关注"AI编造规则"的情况。大模型会基于训练数据里的常识脑补业务规则,比如"下单后30分钟内未支付自动取消",如果需求文档里没有这条,AI也可能写出来。这时候靠的就是评审人对业务的熟悉度,这不是AI能替代的。
3. AI生成用例的完整实操流程
把前面三件事做扎实后,实际操作流程就顺理成章了。下面是我用下来最顺手的一套流程,五个环节,每个环节都有明确的输入和输出。
3.1 需求结构化:把自然语言变成规则清单
第一步永远是把需求文档"翻译"成规则清单。规则清单格式很简单:
规则ID、规则描述、优先级、关联接口/页面 R01、用户名为空时,登录接口返回参数错误提示、P0、登录接口 R02、密码长度小于6位时,返回密码格式错误、P1、登录接口 R03、连续输错5次密码后,锁定账号30分钟、P0、登录接口这步可以由人做,也可以让人和AI协作:先让人输出初版规则清单,让AI根据文档补充遗漏规则,再人工确认。AI补规则的能力很强,经常能挖出"密码不能与用户名相同""密码不能为连续数字"这类隐含规则。
3.2 场景矩阵设计:按维度组合出用例骨架
有了规则清单,下一步是设计场景矩阵。场景矩阵的核心是:列出每个规则的正常值、边界值、异常值,再按业务主流程、备选流程、异常流程组合。
以登录为例:
- 正常流程:用户名+密码正确
- 边界流程:用户名密码均为最大长度、密码恰好为最小长度
- 异常流程:用户名不存在、密码错误、账号锁定、验证码错误
- 容错流程:网络超时、服务端异常、数据库不可用
把规则按这几个维度排成矩阵,AI就能基于矩阵生成完整用例,而不是东一条西一条。这一步是整个流程的核心中的核心,因为我发现AI生成用例质量不高的根源,往往是场景矩阵没设计好。矩阵本身就是用例的整体骨架,AI只是把骨架上的每个节点填上肉。
3.3 分步生成:先P0后P1,控制范围和成本
场景矩阵出来后,不建议一次性让AI生成全部用例。分步生成的收益远大于一次生成:
- 先让AI生成P0级用例(主流程、核心规则),人工评审通过后
- 再生成P1级用例(次要分支、异常场景)
- 最后生成P2级用例(容错、体验类场景)
好处有三:一是避免AI一次性输出几十条用例,鱼龙混杂,评审成本过高;二是P0用例评审过程中,你会发现之前规则清单的问题,及时调整后再生成P1,避免错误放大;三是AI的上下文窗口有限,分成小块生成质量更高。
提示:生成时明确"请基于场景矩阵中P0级别的组合生成用例,覆盖正常和关键异常分支,目标15条左右"。给AI一个数量目标,它就不会漫无边际地生成。
3.4 断言补强:让用例从"可执行"变"可验证"
AI生成的用例,预期结果往往偏弱,这是最大的质量短板。比如"点击查询,返回正确结果"这种断言形同虚设。补强断言是人的主要工作之一,方法如下:
- 接口用例:断言响应状态码、关键字段值、列表长度、计算结果的精度
- 页面用例:断言元素可见性、提示文案、跳转地址、数据回显内容
- 数据用例:断言数据库中的落库状态、字段值变更、时间戳更新
具体做法:把AI生成的用例逐条过,把预期结果改写成可验证的断言。接口用例建议直接给出JSON断言示例,页面用例明确指定元素定位和期望文案。这项工作每100条用例大约耗时30到60分钟,但它是AI生成用例能否真正落到自动化执行上的关键。
3.5 评审与入库:AI给初稿,人做最终裁决
评审环节建议采用"结对评审+抽检"模式。结对评审指需求人员+测试人员一起过,需求人员确认业务规则无偏差,测试人员确认覆盖度和可执行性。抽检则针对AI生成的大批量用例,随机挑20%左右做完整复核,其余检查格式和断言完整性。
入库环节有两个细节值得注意:
- 用例编号要在模板基础上追加AI生成标识,比如
TC_LOGIN_AI_001,便于追溯。 - 保留生成时的prompt和规则清单版本,后续如果业务变更,可以直接用新的规则清单重新生成增量用例,不用全部重写。
4. 提示词模板:直接抄走用
把前面说的技巧浓缩成一套提示词模板,实测过可以直接用。核心思路是"喂规则、定格式、给示例、提要求"四段式。
4.1 基础提示词模板
你是一名资深测试工程师,请根据以下需求规则清单生成功能测试用例。 ## 需求规则清单 1. 规则R01:用户名为空时,登录接口返回参数错误提示,错误码PARAM_ERR 2. 规则R02:密码长度小于6位时,返回密码格式错误,错误码FORMAT_ERR 3. 规则R03:连续输错5次密码后,锁定账号30分钟 4. 规则R04:账号锁定期间,即使密码正确也拒绝登录,返回LOCKED ## 场景矩阵 - P0正常:用户名密码正确 - P0异常:用户名不存在、密码错误、账号锁定 - P1边界:用户名最长30字符、密码最长20字符 - P1异常:用户名为空、密码为空、密码包含空格 ## 输出格式要求 每条用例包含:用例编号、前置条件、测试步骤、测试数据、预期结果(明确到状态码和关键字段)、优先级。 编号格式:TC_LOGIN_AI_001 ## 补充约束 1. 预期结果必须具体到接口返回的code和message 2. 不生成重复用例 3. 每个场景矩阵节点至少覆盖1条用例 4. 先输出用例清单,最后单独输出"未覆盖风险"这套模板的核心是让AI从"矩阵节点"出发生成用例,而不是从"功能名"出发。体验差别很大,后者生成的是泛泛的登录用例,前者生成的是贴合你实际规则清单的用例。
4.2 让AI自我评审和补漏
生成初稿后,多问AI一轮,把漏掉的边界条件补上。我常用的一组追问:
- "以上用例中,如果用户的密码包含全角字符,预期结果是否与半角字符一致?请补充用例"
- "考虑并发场景,两个请求同时提交相同的订单号,是否需要补充幂等性用例?"
- "上述规则清单中,R03的账号锁定是全局锁定还是按IP锁定?如果不明确请标注为待确认"
这轮"逼问"能让AI生成功力再上一个台阶。大模型的优势在于知识面广,你把问题引向特定方向,它会基于训练数据给出可能有价值的补充。但记得AI标注的"待确认"必须人工确认,不能直接默认。
4.3 针对已有用例的AI增强
如果是改造老项目,把已有用例喂给AI做分析是另一个提效点。可以这样提示:
以下是存量测试用例XX条,请完成三个任务: 1. 检查断言强度,标记断言过弱的用例并给出改写建议 2. 识别重复用例,给出合并建议 3. 根据这些用例,反向推断可能的业务规则清单,并指出未覆盖的规则维度这招在做老模块回归用例梳理时非常好用。有一回处理一个上千条存量用例的模块,我靠这种方式在两个小时内找出了两大块未覆盖的业务分支,比人工翻文档快得多。
5. 提升到"十倍效率"的进阶技巧
基础流程跑通之后,想真正逼近"十倍效率",靠的是让AI的产出从初稿变成终稿。这需要把工程规范、历史经验、数据准备都揉进生成环节里。
5.1 把历史缺陷记录变成"规则补充"
QA团队最值钱的资产是历史缺陷库,但它通常躺在缺陷管理系统里吃灰。把这个库里的高频缺陷类型抽出来,转化为"规避规则",放进AI提示词里,生成用例时自动覆盖曾经翻过车的地方。
举例,某订单模块历史缺陷里高频出现"支付回调重复通知导致订单重复发货",那么在规则清单里加一条:
规则R10:支付回调通知可能重复触发,需验证幂等性 规则R11:订单金额计算需考虑折扣与运费叠加,验证金额精度AI生成用例时会主动为这些规则设计专门的用例,效果相当于把团队踩过的坑写进了"用例基因"。这一步对效率的提升是倍数级的,因为AI直接帮你把最需要覆盖但最容易漏掉的部分生成出来了。
5.2 用"用例切片"管理超长流程
复杂业务流程动辄十步二十步,AI生成时容易在中间步骤乱掉。我的做法是"切片":把流程切成多个子流程,每个子流程单独生成用例,再用一个"主流程冒烟用例"串起来。
支付流程可以切成:下单创建 -> 库存扣减 -> 支付单生成 -> 支付回调 -> 订单状态流转 -> 发货通知。每个子流程独立生成5到10条用例,最后用一个P0冒烟用例验证整条链路能走通。这样做的好处是AI在小流程里不容易出错,且每个子流程的用例可以独立复用。
5.3 批量导入工具链的适配
AI生成的用例要真正变成自动化脚本,得过一个"翻译"环节。我常用两步走:先用脚本把AI输出的Markdown表格解析成结构化数据,再按框架代码模板批量生成脚本。这一步能省掉机械的脚本编写时间。
以接口用例为例,AI输出一条用例后,我能用模板直接生成对应的请求代码、断言代码和数据准备代码。本质上就是"用例字段到代码参数"的映射,没有技术难度,但工作量很大。这块用AI生成的价值在于:AI能在生成用例时顺带给出核心断言代码片段,测试人员复制进框架就能跑通大部分场景。
注意:AI生成的断言代码只能当底稿,执行结果需要人工确认断言条件是"真的验证了业务规则"还是"只是验证了代码不报错"。
6. 实测数据:效率提升与质量损耗的真相
分享一组我在多个项目中统计到的数据,不吹不黑,给想做决策的团队一个参照。
6.1 效率数据汇总
| 场景类型 | 手工基线(100条用例) | AI辅助(100条用例) | 提升倍数 |
|---|---|---|---|
| 接口参数校验 | 约2.5天 | 约0.5天 | 5倍 |
| 业务规则流程 | 约3天 | 约0.8天 | 3.75倍 |
| 页面表单校验 | 约2天 | 约0.6天 | 3.3倍 |
| 复杂状态流转 | 约4天 | 约1.5天 | 2.7倍 |
这个表的时间包含需求规则梳理、AI生成、人工评审补强、入库,不包含自动化脚本开发。可以看到,即便算上所有环节,整体提升普遍在3到5倍,而单纯的"让AI写用例"环节确实能到10倍以上。团队做预期管理时,建议对外讲"整体3到5倍,用例生成环节10倍",避免后续被打脸。
6.2 质量损耗的真相
AI生成用例有一个绕不开的质量代价:对隐含业务规则的感知弱于资深测试。资深测试写用例时,会基于对业务的长期理解,主动覆盖"看起来不会发生但曾经发生过"的场景,AI做不到。换来的补偿是AI的覆盖广度远超人工:它不会累,不会漏掉边界值矩阵里的某个组合。
一个比较客观的结论:如果把用例质量拆成"准确度"和"覆盖度"两个维度,AI在准确度上弱于资深测试约10%到20%(需要靠评审补),在覆盖度上强于手工编写约30%到50%(矩阵和规则穷举更彻底)。总体上,AI辅助+人工评审的质量不低于纯手工编写,效率却能显著提升。
7. 常见误区与解决方案
AI生成测试用例不是什么黑魔法,失败案例我见得不少,总结下来高频翻车点如下。
7.1 误区:一次让AI生成全量用例
现象:把整个模块需求丢给AI,让它生成所有用例,结果输出几十上百条,质量参差,评审意见满天飞,最终废弃重写。
方案:按规则清单分模块、分优先级小批量生成,每批控制在10到20条。评审通过后再生成下一批。
7.2 误区:把AI当业务专家
现象:AI生成"积分满1000兑换优惠券"这种用例,实际上需求里根本没有这条规则,AI是根据一般电商常识脑补的。
方案:需求规则清单必须由人提供,AI只做规则补全建议,不能直接作为评审依据。每条用例的业务规则溯源到需求文档编号。
7.3 误区:断言太弱导致用例形同虚设
现象:预期结果写"系统正确处理",执行时永远通过,等于没测。
方案:落实"断言三问":断言什么字段?期望什么值?什么条件下成立?把每条用例的预期结果改写成可验证的断言。
7.4 误区:忽略数据准备成本
现象:AI生成的用例需要复杂的测试数据,比如"已支付且超时未发货的订单",准备这种数据可能要写脚本+改库+等定时任务,比执行用例费时得多。
方案:在评审时增加"数据准备成本"维度,成本过高的用例降级处理,或设计成通过造数工具批量生成。效率优化的目标是整条链路最短,不是某一条用例最完整。
7.5 误区:完全不审直接用
现象:跳过人工评审,AI生成的用例直接进自动化回归,一个周末跑了八百条用例,第二天一查全是无效断言,全部重写。
方案:建立"AI生成+人工评审+抽检复核"三道工序,这条规则不能省。AI是提效工具,不是责任主体,质量责任始终在测试团队手上。
8. 实际跑通的完整案例参考
用一套实际做过的周期结算模块重构回归来当例子。模块涉及账单生成、周期汇总、优惠叠加、退款分摊,业务规则有十几条。手工写这轮的回归用例,按团队历史速度估算要两天。
我的处理过程:
- 先把需求文档拆成规则清单,大约15条规则,含每条规则的优先级和触发条件。
- 规则清单发给AI补漏,它补充了"A账单和B账单均成功时才能生成汇总账单"这类依赖规则。
- 做场景矩阵,列了正常、边界、异常、容错四类,共约20个矩阵节点。
- 让AI按矩阵生成用例,分三批输出,第一批P0约15条,第二批P1约20条,第三批P2约10条。
- AI大约10分钟输出全部45条用例,我花半小时逐条补强断言,再花半小时和开发对齐业务规则细节。
- 最终入库42条用例,废弃3条(两条规则是AI脑补,一条数据准备成本过高)。
整个环节耗时约一个上午。那3条废弃的用例花掉的评审时间,就是AI提效需要付出的成本,完全可以接受。实测跑完后,这批用例的缺陷发现率比之前手写用例那轮高一些,主要贡献来自AI对边界值矩阵的穷举覆盖。
9. 关于提示词迭代的一点心得
用AI生成测试用例,"提示词的质量"和"用例的质量"直接正相关,值得花时间打磨。我有一套迭代习惯,分享出来供参考:
- 版本管理:每轮生成的prompt都存一个版本,标注修改内容和理由。用久了就会发现,改很少几个词效果差异巨大。
- 错误共模:同一类错误如果出现两次,就把它写进prompt的"约束"里。比如AI总喜欢在预期结果里写"正常返回",那就在约束里加一条"所有预期结果必须包含code字段和message字段的具体值"。
- 样例约束:AI生成格式跑偏时,直接在prompt里给一条你写的样例用例,效果比描述十句"要按这个格式"都好。
- 组合复用:沉淀一套覆盖"接口/页面/流程"三类场景的基础prompt模板,新项目直接套壳,只需替换规则清单,节省大量从零开始的探索时间。
10. 用AI生成用例时,团队分工该怎么调
AI引入后,测试团队的角色会发生变化,提前讲清楚能避免很多内耗。
- 测试设计工程师(新增或兼任):负责需求梳理、规则清单、场景矩阵设计、AI输出评审。这是核心岗位,不能省。
- 测试开发工程师:负责把评审通过的用例快速工程化,搭好批量生成框架和断言模板,让AI用例能自动落地成脚本。
- 业务测试工程师:负责业务规则确认和数据准备,确保前置条件和数据成本可控。
- AI提示词管理员(兼职即可):维护prompt模板库、规则清单模板、AI输出格式规范。
一个七八人的测试团队,不需要新增全职岗位,让两三个人兼任即可。但要注意:如果团队里没人愿意干"需求梳理和规则清单"这种看起来琐碎但关键的活,AI提效很容易变成"AI生成一堆废物,大家更忙了"。
11. 向"全链路自动化"再走一步
当AI生成用例的能力走上正轨后,可以往下游延伸:用例生成后直接进入自动化脚本框架批量生成,再配合测试数据自动准备工具,形成"规则清单到自动化脚本"的快速链路。这时候效率提升就不止停留在用例设计环节了,而是辐射到整个回归流程。
我的设想里,理想状态是:需求文档更新 -> 人工提取规则增量 -> AI生成增量用例 -> 评审 -> 自动生成脚本 -> 进回归流水线 -> 结果反馈规则遗漏。目前这个链路的中间环节都需要人介入,但每一环的机械劳动都已经在大幅减少。对于质量团队来说,这可能是把有限人力从"写用例、写脚本"挪到"设计更聪明的质量策略"上的最好时机。
最后分享一个小技巧:AI生成用例这件事,最大的敌人不是AI能力不够,是团队对"AI能做什么、不能做什么"的预期错位。把预期放在"AI负责广度覆盖,人负责深度判断"上,会发现这个组合比纯手工或者纯AI都强不少。我自己经过好几个项目的磨合,现在的新模块回归用例,基本都走"规则清单 + AI生成 + 人工补强"这条路,已经不太想回到纯手写的时代了。