04 --- AI 测试用例生成与评审实战
从 Prompt 模板到 Skill 自动化:让 AI 帮你写用例
面向财政系统业务场景
作者 :浅木·先生
版本:v1.0(2026-05-29)
目录
- [一、现状:AI 生成用例到底能不能用](#一、现状:AI 生成用例到底能不能用)
- [二、Prompt 模板库(10 个可直接套用)](#二、Prompt 模板库(10 个可直接套用))
- [三、Harness 接口知识库方法论](#三、Harness 接口知识库方法论)
- [四、Skill 驱动:从手动到自动](#四、Skill 驱动:从手动到自动)
- 五、用例审核:量化评审体系
- [六、需求评审:从源头堵住 Bug](#六、需求评审:从源头堵住 Bug)
- 七、企业级落地案例与踩坑
- 八、财政系统落地建议
一、现状:AI 生成用例到底能不能用
结论:绝对能用,但有条件。
质量公式
用例质量 = 智能体能力 × 提示词质量 × 模型能力 × 需求文档质量
四个因素缺一个都不行:
| 因素 | 影响 | 最低要求 |
|---|---|---|
| 智能体(Agent/Skill) | 决定是否能理解上下文 | 能加载参考文献 |
| 提示词 | 决定生成的精准度 | 结构化、约束输出格式 |
| 模型 | 决定推理深度 | 中文能力好(DeepSeek/千问) |
| 需求文档 | 决定信息是否完整 | 包含角色-操作-预期结果 |
AI 能做什么、不能做什么
| AI 擅长 | AI 不擅长 |
|---|---|
| 正向流程用例(按文档理解) | 业务"潜规则"校验 |
| 边界值(自动推导上下限) | 跨系统"感觉不对" |
| 接口参数组合(自动枚举) | 探索性场景 |
| 格式规范(统一输出模板) | 理解业务歧义 |
| 大批量生成(50+ 用例/10分钟) | 判断"这个结果对不对" |
最佳分工模式
AI 写初稿(80%),人工做审核(20%)
二、Prompt 模板库(10 个可直接套用)
模板 1:通用框架(四要素)
【角色定位】
你是一名资深的软件测试工程师,擅长功能测试设计。
【背景信息】
系统类型:[预算管理系统 / 支付审批系统 / 政府采购系统]
业务规则:[具体业务约束条件]
技术约束:[前后端分离 / 微服务 / 单点登录]
【覆盖维度】
- 正向流程
- 异常流程
- 边界值
- 权限场景
【输出格式】
| 用例编号 | 模块 | 功能点 | 用例标题 | 前置条件 | 步骤 | 预期结果 | 优先级 |
模板 2:接口测试
你是一名接口测试专家。
接口信息:
- URL: POST /api/budget/create
- 请求体: {"year": "2026", "amount": 100000, "dept": "财务处"}
- 响应: {"code": 200, "message": "创建成功"}
请从以下维度生成接口测试用例:
1. 正常创建(各类合法参数组合)
2. 参数缺失(必填字段缺一个)
3. 参数类型错误(字符串传数字等)
4. 边界值(金额 0 / 负数 / 极大值)
5. 权限校验(无权用户调用)
6. 重复提交(幂等性)
格式:Markdown 表格
模板 3:边界值测试
请为以下字段生成边界值测试用例:
- 预算金额:decimal(18,2),范围 0.01 ~ 999999999999.99
- 项目名称:varchar(200)
- 审批层级:int,1~5 级
每个字段至少 5 个边界值,标注预期结果。
模板 4:权限测试
系统角色:
- 系统管理员(查看/编辑/审批/删除)
- 预算填报人(查看/编辑)
- 部门审批人(查看/审批)
测试场景:
1. 角色 A 能操作的功能,角色 B 是否能看到入口
2. 无权限直接访问 URL 是否被拦截
3. 接口层面绕过前端校验直接调用
请生成完整权限矩阵 + 测试用例。
模板 5:异常场景
请为以下场景生成异常测试用例:
"预算申报流程" --- 填报 → 部门审批 → 财务审核 → 领导审批
异常维度:
1. 每个环节跳过(不走流程直接审核)
2. 每个环节退回(退回后再提交)
3. 并发操作(两人同时审批)
4. 数据异常(预算超支提交)
5. 网络异常(审批中断后重连)
模板 6:安全测试
请为以下财政系统功能生成安全测试用例:
1. SQL 注入(登录框 / 查询框)
2. XSS(输入框 / 富文本)
3. CSRF(关键操作是否有 Token 校验)
4. 越权访问(修改 URL 参数访问他人数据)
5. 敏感信息泄露(接口返回是否包含密码/手机号)
模板 7:兼容性测试
请生成兼容性测试用例:
浏览器:Chrome 最新版 / Firefox 最新版 / Edge
分辨率:1920×1080 / 1440×900 / 1366×768 / 768×1024(平板)
核心验证点:
- 页面布局是否自适应
- 表格列宽是否正常
- 弹窗是否居中
- 按钮是否可见可点击
模板 8:数据驱动测试
请生成数据驱动测试用例:
场景:预算查询列表
数据维度:
- 年度:2024 / 2025 / 2026
- 部门:财务处 / 办公室 / 信息中心 / 全部
- 状态:草稿 / 已提交 / 已审批 / 已驳回
- 关键词:项目编号 / 项目名称
输出:用笛卡尔积列出所有组合,减掉不合理的组合
模板 9:回归测试选择
代码变更内容:
- 修改了 budget_service.py 文件
- 修改了 /api/budget/list 接口的分页逻辑
- 修改了前端预算列表页的表格渲染
请根据变更影响范围,推荐需要回归的测试用例:
1. 受影响的功能点(直接关联)
2. 可能受影响的功能点(间接关联)
3. 不受影响可以不测的模块(排除)
模板 10:性能测试 Prompt
请为以下接口生成 Locust 压测脚本(Python):
接口:POST /api/budget/create
场景:100 用户并发,ramp-up 10 秒,持续 60 秒
验证:成功率 > 99%,P95 响应时间 < 2s
输出:完整的 Locust 脚本 + JMeter .jmx 文件(可选)
三、Harness 接口知识库方法论
为什么需要接口知识库
Swagger 只回答了"接口怎么调",没回答"为什么这样设计"。
知识库四要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 结构化 | 机器可读的格式 | YAML / JSON |
| 关联化 | 知道谁调谁 | 预算创建→支付接口 |
| 可查询 | 能快速检索 | RAG 向量库 |
| 可验证 | 能测试 | 调用并断言 |
知识库示例(YAML 格式)
yaml
# interface-knowledge/budget.yaml
interface:
name: 预算创建
path: POST /api/budget/create
desc: 创建新的预算申报单
business_rules:
- 年度只能为当前年份或明年
- 金额不能超过部门预算总额
- 项目名称不能重复(同部门同年份)
related:
- POST /api/budget/approve # 审批
- GET /api/budget/list # 查询
- POST /api/payment/create # 支付(下游)
historical_bugs:
- "金额为 0 时接口返回 200 但数据库插入失败"
- "特殊字符(单引号/引号)导致 SQL 报错"
与 MR 联动:智能回归
代码合并请求(MR)
→ 自动检索受影响的接口
→ 提取对应知识库中的业务规则
→ AI 生成针对性测试用例
→ 自动执行回归
四、Skill 驱动:从手动到自动
四步法:让 AI 生成符合你思维逻辑的用例
Step 1: AI 生成初稿(用上面任一 Prompt 模板)
Step 2: 人工审核 + 修改(按你的业务经验)
Step 3: 将修改后的用例喂给 AI 学习(反向训练)
Step 4: 反复磨合 → AI 提炼出符合你思维逻辑的 Skill
关键:不需要一次完美,迭代 2-3 轮后 AI 生成的用例质量会明显提升。
接口测试用例生成 Skill(api-testcase-generator)
输入:Swagger 2.0 / OpenAPI 3.0 / Postman Collection v2.1
输出:Markdown 表格 / CSV / Postman Collection JSON
多维度生成:
- 正常用例(正向流程)
- 错误用例(异常参数)
- 边界值用例(参数边界)
- 认证场景(无 Token / Token 过期 / 权限不足)
- 交叉验证(组合参数)
- 分页场景
财政系统场景:
财政系统接口繁多(一个一体化系统可能有 3000+ 接口),
用此 Skill 从 Swagger 文档批量生成接口用例,节省 99% 手写时间。
文档驱动用例生成 Skill(doc-based-testcase-generator)
设计方法:正向/反向/边界值/等价类/状态流程/场景法
输入:PRD / 需求文档 / 接口文档
输出:结构化测试用例文档
财政系统场景:
财政系统的新政策发布时,PRD 文档可直接转化为测试用例,
规范统一、覆盖全面。
五、用例审核:量化评审体系
为什么需要量化评审
传统用例评审的问题是"张三说不错,李四说还行"------全凭经验,没有标准。
评分体系
| 维度 | 权重 | 评分标准 |
|---|---|---|
| 覆盖度 | 30% | 正向/负向/边界是否全部覆盖 |
| 清晰度 | 25% | 步骤是否可执行,有没有歧义 |
| 可执行性 | 20% | 是否有前置条件、预期结果是否明确 |
| 关联性 | 15% | 是否关联了需求和缺陷编号 |
| 可维护性 | 10% | 是否用了参数化,避免硬编码 |
评分等级:
- ≥90 分 → 优秀,可直接入库
- 70-89 分 → 良好,需微调后入库
- 50-69 分 → 需大幅修改
- <50 分 → 重写
审核 Skill 输出模板
markdown
## 用例审核报告
总评分:82/100(良好)
### 各维度得分
| 维度 | 得分 | 说明 |
|------|------|------|
| 覆盖度 | 85 | 缺少一个异常场景:金额超限 |
| 清晰度 | 90 | 步骤明确,无歧义 |
| 可执行性 | 80 | 缺少前置条件的设置步骤 |
| 关联性 | 75 | 未关联需求编号 |
| 可维护性 | 70 | 金额参数可抽取为变量 |
### 优化建议
1. 补充异常场景:金额超过部门预算总额
2. 补充前置条件:登录 + 进入预算编制页面
3. 关联需求编号:REQ-2026-001
六、需求评审:从源头堵住 Bug
AI 需求评审检测维度
| 维度 | 检测内容 |
|---|---|
| 功能完整性 | 有没有遗漏功能点 |
| 数据准确性 | 字段定义是否明确 |
| 业务规则 | 规则是否有歧义 |
| 用户体验 | 交互流程是否合理 |
| 风险识别 | 是否有潜在的技术实现风险 |
测试"质疑问题模板"
【功能完整性】
- 这个功能有没有遗漏的分支?
- 用户操作到一半退出怎么办?
【数据准确性】
- "金额"是指含税还是不含税?
- "审批"是指部门审批还是财务审批?
【业务规则】
- 规则 A 和规则 B 冲突时怎么处理?
- 有没有隐含的行业规范没有写出来?
【用户体验】
- 操作失败后用户怎么知道?
- 长时间加载有没有进度提示?
七、企业级落地案例与踩坑
案例:飞猪 AI 测试新范式
| 指标 | 优化前 | 优化后 |
|---|---|---|
| 用例维护 | 全量维护 | 维护降 70% |
| 漏测率 | 较高 | 减半 |
| 死循环 | 偶发 | 归零 |
踩坑 1:"以为给一份需求文档就够了"
AI 需要结构化的需求文档,包含角色-操作-预期结果表格。
给一段散文式 PRD,AI 生成的用例质量很差。
解法:需求文档结构化,关键信息用表格呈现。
踩坑 2:"以为堆 Prompt 就能解决"
不是提示词越长越好。500 字以上 Prompt 也会让 AI"迷失"。
关键是指定输出格式,而非描述需求细节。
解法:Prompt 控制在 200~400 字,重点约束输出格式。
踩坑 3:"以为多 Agent 协作就能覆盖全"
多 Agent 需要明确分工和衔接机制。
一个 Agent 负责功能用例,另一个负责异常用例 --- 但衔接处容易遗漏。
解法:每个 Agent 的输入/输出边界必须明确。
八、财政系统落地建议
最佳实践组合
业务理解 → 用 Harness 知识库(存财政业务规则)
用例生成 → 用 Prompt 模板(套用财政场景)
用例审核 → 用审核 Skill(评分体系)
用例管理 → 用 TestHub / 测试管理平台
分级实施
| 阶段 | 内容 | 目标 |
|---|---|---|
| L1 | 套用 Prompt 模板,手工生成用例 | 先跑通流程 |
| L2 | 搭建接口知识库,AI 生成接口用例 | 提升效率 |
| L3 | 用例审核 Skill 覆盖 | 统一质量标准 |
| L4 | 需求评审 + 用例生成 + 审核全链路 | 全流程 AI |
建议配合 02-Agent-Skills-MCP-测试实战指南.md 一起使用