uat-checklist
UAT 验收清单生成技能
概述
为指定业务流程自动生成结构化 UAT 验收清单。通过分析代码逻辑,细分为可测试场景,并经子代理审查确保与业务流程强相关。
执行流程
digraph uat_flow {
"接收业务流程描述/入口" [shape=doublecircle];
"分析业务流程代码" [shape=box];
"细分场景" [shape=box];
"编写前置准备" [shape=box];
"生成每个场景的步骤和预期结果" [shape=box];
"输出草稿清单" [shape=box];
"子代理审查" [shape=diamond, label="子代理审查\n(强相关性检验)"];
"修订清单" [shape=box];
"输出最终清单" [shape=doublecircle];
"接收业务流程描述/入口" -> "分析业务流程代码";
"分析业务流程代码" -> "细分场景";
"细分场景" -> "编写前置准备";
"编写前置准备" -> "生成每个场景的步骤和预期结果";
"生成每个场景的步骤和预期结果" -> "输出草稿清单";
"输出草稿清单" -> "子代理审查";
"子代理审查" -> "修订清单" [label="有问题"];
"子代理审查" -> "输出最终清单" [label="通过"];
"修订清单" -> "输出最终清单";
}
第一步:分析业务流程代码
使用 GitNexus 或直接阅读代码,识别:
- 入口点:触发该流程的 API、事件或用户操作
- 核心逻辑链:主干执行路径及每个关键节点的职责
- 分支条件:正常路径、异常路径、边界条件
- 外部依赖:第三方服务、数据库操作、消息队列等
- 输出/副作用:数据变更、通知、状态流转
# 推荐:使用 GitNexus 理解流程
gitnexus_query({query: "<业务流程关键词>"})
gitnexus_context({name: "<核心函数名>"})
# 或直接读取路由/服务/控制器文件
第二步:细分场景
将业务流程按以下维度拆分为独立可测试的场景:
| 场景类型 | 说明 | 示例 |
|---|---|---|
| 正常路径 | 最典型的成功用例 | 用户正常完成绑定 |
| 边界条件 | 极限输入、空值、最大值 | 二维码已过期 |
| 异常路径 | 系统错误、权限不足、并发 | 网络超时后重试 |
| 业务规则 | 特定约束条件的验证 | 重复绑定检测 |
| 数据一致性 | 跨系统、跨状态的数据正确性 | 绑定后用户信息同步 |
每个场景命名格式: 场景 N:<动词> + <主语> + <条件>
第三步:编写前置准备
前置准备必须具体可操作,列出以下内容:
## 前置准备
### 环境要求
- [ ] 测试环境 URL:`https://...`
- [ ] 所需账号权限(具体角色)
- [ ] 依赖服务状态确认(如:企业微信应用已配置、数据库已初始化)
### 测试数据
- [ ] 准备测试用账号(列出具体字段/条件)
- [ ] 准备边界测试数据(如:过期二维码、已绑定账号)
- [ ] 清理脚本或回滚方式
### 工具/权限
- [ ] 测试人员权限确认
- [ ] 抓包/调试工具准备(如需)
- [ ] 数据库访问权限(用于验证数据写入)
第四步:生成场景步骤和预期结果
每个场景严格按以下格式输出:
### 场景 N:<场景名称>
**目的:** 验证 <具体业务逻辑描述>
**步骤:**
- [ ] 步骤1:<具体操作> → **预期:** <具体可验证结果>
- [ ] 步骤2:<具体操作> → **预期:** <具体可验证结果>
- [ ] 步骤3:<具体操作> → **预期:** <具体可验证结果>
**通过标准:** <整体场景成功的判断依据>
步骤编写规则:
- 每个步骤必须包含"操作"和"预期结果"两部分
- 预期结果必须具体可观测(能看到什么、数据库写了什么、返回了什么)
- 不写模糊词:
"系统正常响应"→ 写 "页面显示'绑定成功'提示,3秒后跳转至首页" - 步骤粒度:每步只做一件事
第五步:子代理审查
生成草稿后,必须派遣子代理进行审查。
子代理 Prompt 模板
你是一名资深 QA 工程师,请审查以下 UAT 验收清单。
【业务流程描述】
<将第一步分析得到的流程描述填入此处>
【待审清单】
<将草稿清单全文填入此处>
请按以下维度审查,给出具体的问题列表和修改建议:
1. **强相关性**:每个场景是否真的对应业务流程中的某个节点或分支?删除与流程无关的通用测试项
2. **覆盖完整性**:流程中的哪些分支/条件没有被覆盖?列出遗漏的场景
3. **步骤可执行性**:步骤是否足够具体?测试人员能否无歧义地执行?
4. **预期结果可验证性**:预期结果是否可观测?是否需要补充数据库验证步骤?
5. **前置准备充分性**:缺少哪些必要的测试数据或环境配置?
输出格式:
- 问题列表(编号)
- 修改建议(针对每个问题)
- 总体评分(1-10分)及理由
审查后的修订要求
- 评分 < 7 分:必须修订并重新审查
- 评分 7-8 分:修订主要问题后输出
- 评分 ≥ 9 分:直接输出
输出格式规范
最终清单保存为 Markdown 文件,路径建议:docs/uat/<业务流程名>-checklist.md
# <业务流程名> UAT 验收清单
**版本:** v1.0
**创建日期:** YYYY-MM-DD
**业务流程:** <简要描述>
**相关代码:** <核心文件路径>
---
## 前置准备
<前置准备内容>
---
## 测试场景
### 场景 1:...
### 场景 2:...
...
---
## 验收标准
全部场景通过 = 本次业务流程验收通过
常见错误
| 错误 | 修正 |
|---|---|
| 场景覆盖通用功能而非业务逻辑 | 必须追溯到代码中的具体分支 |
| 预期结果写"正确显示" | 写出具体的文案、状态码、数据库字段值 |
| 跳过子代理审查 | 审查是必须步骤,不可省略 |
| 前置准备只写"准备账号" | 写明账号的具体属性和状态 |
| 场景之间有依赖但未说明执行顺序 | 在场景开头注明"依赖场景N通过后执行" |
More from cruldra/skills
tauri-v2
Tauri v2 项目开发助手 - 提供 CLI 项目管理、最佳实践指导和代码生成。适用于 (1) 创建和管理 Tauri v2 项目 (2) 开发桌面和移动应用 (3) 配置构建和分发流程 (4) 实现安全的前后端通信 (5) 应用架构设计和性能优化。
15pandoc
当用户需要对某个文档进行格式转换时(例如将 Markdown 转换为 DOCX、PDF、HTML 等)使用该技能。
12refine-dev
协助开发基于 Refine 框架的 React 应用。提供项目初始化、核心配置、数据提供者(Data Providers)、认证(Auth Provider)以及 UI 库集成的指导。专注于使用 shadcn/ui 构建现代化的后台管理系统。
11dri-text-analysis
使用 DRI 文本分析法(Data-Rule-Interaction)对自然语言需求描述进行逐词拆解与领域建模。将非结构化的业务需求文本降维为数据(D)、规则(R)、交互(I)三个维度的结构化架构抽象,直接产出可用于系统设计的概念表格。适用于需求分析、领域语言提取、架构设计前的文本解析,以及将长篇需求文档转化为清晰的开发任务拆解。
9vite-starter
使用 Vite 创建现代前端项目,支持 React、Vue、Svelte、Solid、Preact、Lit、Qwik 和 Vanilla JS,可选 TypeScript。当用户需要初始化新的前端项目、搭建 SPA、创建组件库、设置现代构建工具时使用此技能。触发场景:用户说"创建 vite 项目"、"新建 react/vue/svelte 应用"、"初始化前端项目"、"搭建 spa"、"用 vite 起一个项目"、"create vite project"、"new frontend app",或明确提及 Vite、HMR、快速构建工具时。
7plantuml-renderer
Use when the user wants to render PlantUML diagrams from pasted text or files that contain valid PlantUML blocks (such as .puml, .md, or .docx text content), and expects image/text output like svg, png, txt, or utxt via local Java + plantuml.jar.
7