04 — AI 测试用例生成与评审实战

从 Prompt 模板到 Skill 自动化:让 AI 帮你写用例

面向财政系统业务场景

作者:浅木·先生
版本:v1.0(2026-05-29)


目录


一、现状: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 格式)

# 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 输出模板

## 用例审核报告

总评分: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 一起使用

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐