☰
从Prompt到Agent:AI驱动测试用例设计的工程化实践
2026/10/5 3:05:02 网站建设 项目流程

在测试行业泡了十多年,这几年最深的感触是:测试用例设计这个看似最基础的环节,反而是最容易被AI撬动、也最容易被低估的环节。很多人一听到“AI驱动测试用例设计”,要么以为就是拿个大模型把需求文档扔进去,回车之后复制粘贴,要么觉得是噱头、离落地很远。我在这段时间里把各种方案都跑了一遍,包括直接提示词生成、RAG增强、AI Agent自主编排、以及跟代码分析结合的半自动生成。真正可落地的AI驱动测试,远不是一句“帮我写测试用例”那么简单,而是一套从输入管理、上下文建模、生成策略、结果校验到知识沉淀的完整方法。

这篇文章就把我做过的全方案总结出来,同时讲讲这套方法在企业项目里如何一步步演进,从“AI偶尔冒个泡”变成“测试资产管理的一部分”。如果你想做测试平台、想给团队引入AI提效,或者自己是正在学AI测试开发的一线测试工程师,这篇文章应该能让你少踩几个坑。

1. 为什么测试用例设计值得用AI重构

1.1 传统用例设计的三个老大难问题

做过几年测试就应该有体会,用例设计这件事,本质上还是“脑力活+经验活”。同样一份PRD,资深测试能列出几十条边界条件和异常路径,刚入职的测试可能只写几条“正常流程”就交差了。我早年带团队时最头疼的就是用例评审:需求理解不一致、重要场景漏掉、优先级拍脑袋定,这些问题反复出现。

第一,个人经验依赖太重。一个业务规则可能只存在于某个老测试的脑子里,他走了,规则也跟着走了。第二,需求变化后用例维护滞后。产品改一个按钮文案,用例文档可能要改几十处,很多时候大家干脆不改了,用例慢慢变成僵尸文档。第三,用例资产沉淀困难。以前写的用例散落在Excel、TestRail、JIRA里,格式不一、相互重复,很难被后续项目复用。

这三个问题本质上都不是“写用例”本身的问题,而是知识管理和持续更新的问题。传统工具能解决存储,但解决不了“从需求到用例”这一步的自动推导,而AI正好可以补上这个缺口。

1.2 AI能带来的核心价值不是“出用例”,而是“结构化思考”

很多人对AI辅助测试的期待是“一键生成合格用例”,这个期待其实用错了方向。大模型真正擅长的是把自然语言需求拆解成可验证的维度:功能流程、边界值、异常路径、数据约束、业务规则、安全风险。

比如你给我一段“用户每天最多可以发起10次退款申请”的需求,人脑可能会想:那我要测9次、10次、11次。但大模型还会顺带给你补上:跨天重置、并发同时发起超过10次、退款成功后是否计入次数、被拒绝的申请是否计数、未成年账号限制、申诉渠道等。这些细碎规则,恰恰是传统用例评审里最容易吵起来的地方。

所以AI的核心价值不是替代测试工程师写用例,而是强制性地把需求结构化。它能帮你把隐性规则显性化,把发散思路系统化。很多时候,你用完AI生成的结果后会惊讶地发现:原来自己之前漏了这么多边界条件。

1.3 适合落地AI辅助的团队画像

不是所有团队直接上AI都能见效。我观察下来,能较快落地的团队通常有三个共同特征。

一是有比较规范的需求输入,比如需求模板、验收标准、接口定义文档。哪怕只是勉强可用,也比零文档强得多。二是有基础的自动化执行环境,因为AI生成的用例最终要验证,不能只停留在Word里。三是有愿意沉淀和评审的人,AI不是甩手掌柜,你组织评审、标记有效无效用例,AI才会越用越准。

反过来,如果你的团队连需求模板都没有,或者测试完全靠手工点来点去,那我建议先不要急着上AI生成用例,而是先用AI做“需求澄清助手”,让模型帮你反向提问题,先把需求逼规范了,再谈用例生成。

2. 主流的AI驱动用例设计方案选型解析

2.1 方案一:大模型直接生成用例(提示词工程驱动)

这是门槛最低、见效最快的方式。拿一份需求文本,配合精心设计的Prompt,让大模型直接输出结构化用例。我用这种方式在两天内就把一个登录模块的用例从40条扩展到了130条,其中大概有40条是平时大家习惯性忽略的异常和边界场景。

优点是零基础设施成本、上手快,适合没有历史资产沉淀的小团队和个人验证。缺点是结果不稳定,换个模型、换段需求,输出千差万别;而且没有企业知识注入,很容易生成“正确的废话”——比如每条用例都写“验证系统响应正常”,但到底什么是正常,没有定义。

所以这种方案的关键全在提示词设计。后面我会专门讲提示词框架,这里先提醒一句:不要只给模型两三句需求就完事,输入越结构化,输出越可靠。

2.2 方案二:RAG检索增强生成——让AI先“查资料”再写用例

直接生成方案做久了,就会发现瓶颈:AI不了解你们公司特有的业务规则、历史缺陷和已有用例风格。这时候就轮到RAG(检索增强生成)上场了。

大致的流程是:把公司里的需求文档、历史故障报告、缺陷单、旧的测试用例全部做切片和向量化,存到知识库里;当新需求来了,先把新需求文本拿去做相似度检索,找出相关的历史上下文,再把这些上下文跟新需求一起拼成Prompt,让模型基于这些材料生成用例。

我实操过的做法是,至少建三个数据源:需求知识库、缺陷知识库、已有用例知识库。缺陷知识库尤其重要,因为每条缺陷背后都是一个真实事故场景,AI只要检索到这个,就大概率能生成一条防止回归的用例。这个方案的优点是结果更贴合业务、可解释性强;缺点是前期要做文档清洗和索引,并持续维护知识库,否则检索出来的都是过时垃圾,生成质量反而下降。

2.3 方案三:AI Agent自主编排——让AI像测试架构师一样拆解任务

单个Prompt再强,也只是“一次问答”。当需求足够复杂,比如一个下单要拆成购物车、优惠券、库存扣减、支付、对账,让AI一次生成全流程用例,效果一定差。这时就需要AI Agent。

Agent的核心思路是把“用例设计”从一次生成变成多轮行动。比如给Agent一个任务“为这个下单接口设计测试用例”,Agent会先拆分需求,生成一份“待澄清问题清单”;然后调用接口文档工具拉取真实Schema;接着检索历史缺陷库找到同类订单问题;再结合所有这些信息分模块生成用例;最后还可以把生成的用例转成自动化测试脚本跑一遍,把失败结果回填给自身调整用例。

我实际用过一个内部封装的Agent:它先是把一条需求拆成8个子任务,每个子任务调一次知识库,最后合并输出,并标注了每个用例的信息来源。那感觉确实像在带一个经验一般但执行力极强的实习生。这个方案适合需求复杂、工具链完善、对自动化有要求的团队,但搭建成本和调试成本也是最高的。

2.4 方案四:与代码/接口分析结合的半自动生成

还有一种务实路线,不盲目信任大模型的语义理解,而是让代码事实来约束用例生成。比如拿到一个OpenAPI/Swagger接口定义,先自动解析出参数类型、是否必填、枚举值、格式限制,再把这些结构化数据喂给模型,让模型在真实约束下做边界值推导。

我做过一个实际项目:后端接口有30多个字段,其中几个存在关联约束,比如“当支付方式为积分抵扣时,现金支付金额必须为0”。如果只靠人读接口文档,很容易漏这种关联场景;但把字段约束表喂给AI后,它专门生成了“组合约束”这一组用例,后来执行时真的发现了一个老接口的校验漏洞。

这种方案的优势是过程可溯源、可校验,适合接口测试、协议测试、以及需要强一致性约束的领域。缺点是对代码质量和架构有要求,如果接口文档和实际实现严重不一致,那上面整再多也白搭。

2.5 方案对比:到底怎么选

方案核心输入典型技术准确率落地成本适用阶段
直接生成需求文本Prompt工程中低极低探索期、小团队
RAG增强生成企业知识库+需求向量检索+LLM中高中有历史资产沉淀
AI Agent编排需求+工具+知识库Agent框架+工具调用高高复杂业务、平台集成
代码/接口分析Schema+代码+需求解析器+LLM高中高接口/协议级测试

我的建议很简单:先从直接生成开始,跑通流程、建立评审习惯;再用RAG沉淀历史资产;等前两步稳定了,再考虑Agent化编排。一步到位上Agent的团队,大概率会被复杂度和维护成本拖垮。

3. 从零落地一套AI驱动用例设计的实操流程

3.1 输入结构化的需求上下文

不管用哪个方案,第一步都是整理输入。我用一个笨但有效的方法:做一张“需求上下文检查表”,每次生成前先确保下面这些信息有明确答案。

  • 需求背景:这个功能解决什么问题?
  • 用户角色:谁在用,目标用户有哪些类型?
  • 功能流程:核心操作路径是什么?
  • 业务规则:有哪些约束条件、公式、状态转换?
  • 验收标准:产品定义的“做完”和“做对”是什么?
  • 外部依赖:涉及哪些接口、数据库、第三方服务?
  • 历史缺陷:同类需求之前出过什么问题?

你可能会说,需求文档里哪来这么多东西。没错,大部分PRD都给不全。这时候不要硬着头皮生成,而是分两步:第一步让AI根据现有材料生成“需求补充问题清单”,你拿着清单去问产品和开发;第二步再基于补充后的信息生成用例。我试过几次,这个“先问后写”的动作,让最终用例的有效率提高了三成。

3.2 设计一套针对测试用例生成的提示词框架

提示词不是简单的一句话。我经过多次迭代,收敛出一套可复用的框架,核心包含五个要素:角色设定、场景目标、输入材料、规则约束、输出格式。

下面是一个简化版的示例,实际使用时可以根据项目替换:

你是一名有8年经验的资深测试架构师,擅长接口测试和业务分析。 请基于以下需求为登录接口设计测试用例。 需求背景:用户通过手机号和验证码登录,验证码有效期为5分钟。 接口定义: POST /api/v1/login 参数:phone(11位数字), code(6位数字) 业务规则: 1. 同一个手机号每分钟最多发送3次验证码。 2. 验证码连续错误5次后失效,需重新发送。 3. 用户被锁定后,需等待30分钟才能再次登录。 验收标准:功能正常,限流和锁定策略生效,用户体验符合预期。 请按以下规则设计: 1. 覆盖正向、反向、边界、异常、安全、性能基线六大类。 2. 每条用例包含编号、标题、前置条件、操作步骤、预期结果、优先级。 3. 重点关注限流、验证码失效、账号锁定这些高风险场景。 4. 不要生成与输入规则无关的重复用例。 5. 可以提出你认为需求中缺失的问题,并给出建议用例。

这里有两个细节容易被忽略。一是“不要生成重复用例”这条负面约束,能有效减少模型自嗨式输出;二是“可以提出缺失问题”给了模型一个出口,不会因为材料缺失而硬编。实际用下来的感受是:提示词里最重要的不是“做什么”,而是“不做什么”。

3.3 生成后的质量校验与人工抽查

AI生成用例后,不能直接入库。我通常做三件套校验。

第一,规则符合性检查,找几个明显边界值,比如验证码错误第4次和第5次,看AI有没有正确处理。第二,场景覆盖度检查,拿需求里的每一个“业务规则”对照生成的用例,看是否都有对应场景。第三,可执行性抽查,随机挑10条高优先级用例按步骤人工走一遍,看描述是否清晰、预期结果是否可验证。

校验过程最好拉上开发一起评审。开发往往能一眼看出AI生成的用例里哪些场景在代码层面根本不会发生,这一轮下来能砍掉不少无效用例。别怕砍,砍掉的越狠,留下就越有价值。

3.4 一个实例拆解:登录接口+限流策略

就拿上面的登录接口举个例子。在没有AI辅助时,团队通常只写这些用例:验证码正确登录成功、验证码错误提示失败、手机号格式校验、验证码格式校验。满打满算不到十条。

而AI结合限流策略和锁定规则生成后,会多出这些相当有价值的分支:

编号用例标题价值说明
TC-13同一手机号第4次请求验证码时被拦截验证限流阈值
TC-14第4次请求返回提示“操作过于频繁”验证错误提示信息
TC-15验证码错误4次后,第5次输入正确验证码仍失败验证“连续错误5次失效”规则
TC-16验证码错误5次后重新发送,旧验证码是否立即失效避免安全隐患
TC-17账号锁定期间,其他设备尝试登录是否也受控验证锁定维度
TC-1830分钟锁定结束后,首次登录是否成功验证解锁时间窗
TC-19并发请求同时触发验证码发送,是否超过1分钟3次限制排查竞态漏洞

这些用例如果靠人脑想,也能想到,但大概率会在评审时被忽略,尤其是TC-19这种并发类场景。AI的价值就是把规则穷举成可执行的验证矩阵,而不是替代你去判断优先级。

4. 演进方法论:从“工具辅助”到“测试资产生态”

4.1 阶段一:单点AI辅助,先让测试工程师愿意用

演进的第一步不是搭平台,而是先让一两个测试工程师在自己的项目里用起来。这个阶段我推荐直接生成方案,不搞知识库,不搞Agent,就干三件事:把需求文本喂给AI、评审生成结果、标记哪些有用哪些没用。

这个阶段的核心目标不是提升多少效率,而是建立信任。让团队看到AI生成的用例确实能补充遗漏,也确实有不少垃圾要删。让测试工程师自己掌握怎么调整提示词,比如让AI“多关注跨天场景”、“多关注数据一致性”,你会慢慢发现,每个人都能训练出自己的“AI风格”。这个阶段的产出物,是一套团队自己的提示词模板和评审checklist。

4.2 阶段二:建立用例资产库与反馈回路

等单点辅助跑顺了,就该做沉淀。这里的“资产库”不是传统意义上把用例存到工具里,而是要把每一次生成时的上下文、Prompt版本、AI生成结果、评审意见、最终入库结果全部保存下来。

我见过很多团队卡在这一步,原因很简单:只保存了最终用例,没有保存过程和评价。结果就是AI下次生成时还是从零开始,之前积累的经验全断了。正确做法是每轮生成标记三个字段:是否有效、是否漏测了高风险、是否可复用。一段时间后,这些标记就是训练以后生成策略最宝贵的数据。

4.3 阶段三:AI Agent沉淀业务规则,自动拆解需求和生成全链路场景

资产库有了,就可以尝试把生成过程从“一问一答”升级为“任务编排”。我之前的做法是把测试用例设计拆成四个子Agent:需求拆解Agent、规则提取Agent、用例生成Agent、用例评审Agent。

需求拆解Agent先把一段长需求切成多个可测单元;规则提取Agent从历史缺陷和已有用例里找出业务规则;用例生成Agent根据前面结果组合输出;用例评审Agent再做一轮自检,把可疑用例打标提交给人工。

这个阶段效果最明显的是多接口关联场景。比如下单流程横跨购物车、库存、优惠、支付,单靠一个人很难把所有链路组合想全,但Agent可以按业务对象自动生成全链路场景矩阵,再让产品对照确认预期结果。此时人工的角色已经不再是“手写用例”,而是“审核和调教Agent的策略”。

4.4 阶段四:多AI协作与人在环路,从单元级到端到端到探索性测试

再往后,AI不仅能设计用例,还能跟自动化执行、缺陷分析形成闭环。比如在回归阶段,AI生成一批高风险用例后,直接调度自动化环境执行,失败结果回到缺陷分类模型,模型判断是脚本问题还是真实缺陷,再触发下一个循环补测相关场景。

我称这个阶段叫“人在环路的探索性测试”:AI负责大规模生成、执行、分析异常,人负责确认智能体判断不了的业务正确性。这个阶段对平台能力要求很高,而且容易出现“全自动看起来很美,一跑全乱”的情况。所以我常跟团队说,不要追求全无人化,而是追求AI做80%的体力活,人专注20%的高价值判断。

4.5 演进过程中的关键度量:到底有没有变好

演进不能靠感觉,需要用数据证明。我建议每个阶段都追踪下面四个指标,至少每月复盘一次。

指标定义健康趋势
用例评审有效率评审通过的用例数 / AI生成用例总数初始可能不到50%,随知识库完善应逐步提升到70%以上
高风险漏测数版本上线后因用例缺失导致的事故数持续下降,最好能为0
单条用例生成成本人工投入时间 / 生成的有效用例数应从人均分钟级下降到秒级
用例复用率跨项目被复用的用例数 / 用例总数越高越好,说明资产在增值

这几个指标最大的好处是能让你看清楚,AI到底是在“增加负担”还是“提升效率”。如果评审有效率一直很低,别怪模型,先回头看看是不是输入材料太乱、知识库里的历史缺陷太杂,或者提示词里缺少负面约束。

5. 常见问题与避坑实录

5.1 生成结果怎么检查才靠谱(幻觉、重复、无效用例)

AI生成的用例最常见的问题就是“一本正经地胡说八道”。明明需求里没有“记住密码”这个功能,模型却给你生成了一条“记住密码后下次自动登录”的用例。这种幻觉在规则覆盖类生成里不太明显,但在异常场景里特别多。

我的检查方法是交叉验证三条线。第一线,拿业务规则列表逐一对照用例;第二线,拿接口定义字段逐一对照参数;第三线,拿历史缺陷描述逐条对照是否有回归用例。这三条线过了,基本可以放心。另外要格外警惕那些描述得太通用的用例,比如“检查系统是否正常”“验证数据是否正确”,这类用例没有可执行性,直接删掉,不要留着凑数。

5.2 需求本身不完整,AI还能不能用

很多团队找我聊,第一句话就是“我们需求文档写得很烂,能用AI吗”。我的回答是:能用,但要把AI的角色从“用例生成器”换成“需求澄清助手”。

具体做法是把不完整的需求丢给模型,让它输出三类内容:需求中明确提到的规则、需求中可能隐含但未说明的规则、需要产品确认的问题清单。我举一个真实例子,某个需求只写了“支持用户修改昵称,每月限改5次”,AI直接生成了6大问题:修改次数按自然月还是自然周?如果修改失败是否计入次数?当天修改后又改回原昵称,是否算一次?超过次数后是直接禁止还是提示付费解锁?昵称是否支持隐藏?历史修改记录是否允许用户查看?看到这些问题时,产品当场就愣住了,接着把这些规则补进了PRD。这种用法AI没有生成一条用例,但反过来把用例设计的地基打牢了。

5.3 如何避免提示词被“业务黑话”带偏

测试场景里经常出现“放款”“出账”“计息”“跑批”这类黑话。直接喂给模型,它可能按字面理解,生成的用例就会偏。

解决办法有三个。第一,在输入材料里加一个“术语表”,把每个黑话给出明确定义,我给模型喂过一段:“跑批:夜间定时执行的批量数据计算任务。”第二,多给几个历史用例做few-shot示例,让模型模仿真实项目的用例风格。第三,把术语表也做进RAG知识库,让模型在生成前先检索术语定义。加了术语表之后,我这边AI生成的用例在业务正确性上明显提升了一个台阶。

5.4 数据安全与私有化部署的一些经验

测试用例往往涉及核心业务规则和敏感数据。我第一次把完整的支付规则丢给公网大模型时,心里就直打鼓。后来定了纪律:核心敏感需求绝不直接上传公网模型,一律先做脱敏处理,把真实账号名、金额、业务码替换成占位符。

再往后,团队部署了开源模型到内网环境,效果虽然跟顶级商用模型有差距,但在用例生成这种任务上,配合好的RAG和提示词,已经能达到可用的水平。如果你也要做本地部署,建议优先关注上下文长度和结构化输出能力,而不是一味追求模型规模。真正影响用例生成质量的,更多是输入材料的清晰度和评测反馈回路。

5.5 常见问题速查表

问题现象排查方向建议处理
生成的用例大量重复提示词缺少去重约束;历史用例库重复度太高增加“不要生成重复用例”约束;清洗历史库
用例太泛,不具备可执行性输入材料缺少接口定义或业务规则补充接口Schema、术语表、验收标准
生成的边界值跟代码不一致接口文档和实现不符;AI不了解真实约束用代码/接口分析约束;让开发参与评审
模型总在“理解需求”而不是“设计用例”提示词里缺少输出格式和规则清单强制结构化输出,给出编号和优先级
越用越差,后面效果不如刚开始知识库被无效内容污染;Prompt版本混乱定期清理知识库;记录Prompt版本和效果
领导问效果但说不清没有度量数据立刻开始统计评审通过率和漏测数

我在落地这套方案的过程中,最深的体会是:AI驱动测试用例设计的上限,从来不是由模型参数决定的,而是由你为它搭建的“脚手架”决定的。需求怎么喂、知识库怎么建、结果怎么审、反馈怎么记,这一圈工程化工作做扎实了,AI才会从“偶尔惊艳”变成“持续可用”。

最后再分享一个小技巧:每次AI生成完用例,别只把用例本身入库,要把生成时用的上下文、Prompt版本、评审意见一起存下来。三个月之后再回头翻,你手里的就不只是用例集了,而是一整套公司业务的隐性规则地图,这才是AI留给测试团队最值钱的资产。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询