根据产品需求文档(PRD)生成和更新测试用例,遵循产品测试用例库风格规范。
本 Skill 支持多个产品(UHost、UPHost、私有专区等),每个产品有独立配置。
产品用例库说明uhost主机(306) + GPU(69) + 镜像(56)431 条总计uphost(待配置)privatezone(待配置)
使用 --product 参数指定产品:
text
version_manager.py --product uhost
case_generator.py --product uhost
每次执行前,必须先检查用例库是否为最新版本。
读取产品配置 bash
python3 scripts/version_manager.py --product uhost
显示版本信息,询问用户确认 text
📚 当前 [产品名] 用例库版本:
❓ 这是最新版本吗?
3. **如果用户提供更新文件**
- 读取更新文件(支持增量更新)
- 按 UUID 覆盖现有用例
- 更新用例库元数据
- 重新统计用例数量
4. **确认后继续流程**
* * *
### 📖 阶段1: PRD解析
**目标**: 理解需求,提取核心功能点和变更详情
#### 步骤:
1. **读取PRD文件**
- 支持格式: PDF, Word, Markdown, 纯文本
- 如果是图片,使用 OCR 提取文字
2. **提取关键信息**
- 需求背景
- 功能变更点
- 涉及的模块/页面
- 涉及的接口
- 计费相关变更
- 特殊规则
3. **生成 PRD 摘要**
- 保存到 `~/.openclaw/workspace/memory/{需求名称}_PRD摘要.md`
- 包含:标题、版本、核心变更、涉及范围
* * *
### 🎯 阶段2: 测试点分析
**目标**: 根据PRD梳理详细的测试场景和验证点
#### 步骤:
1. **按模块分类测试点**
- 前端交互测试
- 功能流程测试
- 接口测试
- 计费测试
- 存量数据处理
- 异常场景
2. **识别测试类型**
- 创建/查询/更新/删除 (CRUD)
- 边界值测试
- 权限验证
- 性能测试
- 兼容性测试
3. **梳理测试点清单**
- 每个功能点对应的测试场景
- 前置条件
- 验证点
- 优先级(P0/P1/P2/P3)
4. **生成测试点分析文档**
- 保存到 `~/.openclaw/workspace/memory/{需求名称}_测试点分析.md`
- 包含:测试场景矩阵、待确认问题清单
5. **人机交互确认 ⚠️**
text
📋 测试点分析完成,共梳理 XX 个测试场景
❓ 是否有遗漏的场景?是否有不清楚的地方需要确认?
* * *
### 📚 阶段3: 用例库对比
**目标**: 查找可复用的现有用例,判断需要新增还是更新
#### 步骤:
1. **读取产品用例库**(根据 config.yaml 中的路径)
- CPU 用例库
- GPU 用例库(如适用)
- 镜像用例库(如适用)
2. **按关键词搜索相关用例**
- 搜索范围:用例名称、所属模块、步骤描述
- 关键词:需求涉及的功能、模块、操作
3. **分析匹配结果**
- **完全匹配**: 可直接更新现有用例
- **部分匹配**: 需要增加步骤或验证点
- **无匹配**: 需要新增用例
4. **生成对比分析报告**
- 保存到 `~/.openclaw/workspace/memory/{需求名称}_用例对比分析.md`
- 包含:
- 可复用的现有用例列表
- 需要更新的用例及更新点
- 需要新增的用例清单
5. **人机交互确认 ⚠️**
text
📊 用例对比完成
❓ 确认对比结果?是否有需要调整的地方?
* * *
### ✍️ 阶段4: 生成用例文件
**目标**: 按照产品标准格式生成新增用例和更新说明
#### 步骤:
##### 4.1 生成新增用例
1. **创建 Excel 文件**
- 文件名: `{output_dir}/{需求名称}_新增用例.xlsx`
2. **表头(12列)**
text
用例ID | 用例名称 | 所属模块 | 标签 | 前置条件 | 备注 | 步骤描述 | 预期结果 | 用例等级 | 用例类型 | 是否支持自动化 | 是否支持拨测
3. **填写规则**
- **用例ID**: 留空 ⚠️
- **所属模块**: 在生成的模块路径前加 **/ai** 前缀 ⚠️
- 例: `/ai/镜像常规/镜像常规/功能/自制镜像tab下/导入镜像`
- **步骤描述**: 使用【数字】标记,如 【1】【2】【3】
- **预期结果**: 使用【数字】标记,与步骤一一对应
- **前置条件**: 使用数字编号,如 1\. 2. 3.
- **用例等级**: P0/P1/P2/P3(根据重要性)
- **用例类型**: 1=功能,2=界面,3=接口
- **是否支持自动化**: 1=是,2=否
- **是否支持拨测**: 1=是,2=否
##### 4.2 生成更新用例
1. **创建 Excel 文件**
- 文件名: `{output_dir}/{需求名称}_更新用例.xlsx`
2. **表头(17列)**
text
用例ID | 用例名称 | 所属模块 | 标签 | 前置条件 | 备注 | 步骤描述 | 预期结果 | 用例等级 | 用例类型 | 是否支持自动化 | 是否支持拨测 | 更新类型 | 更新位置 | 原内容 | 更新后内容 | 更新原因
3. **填写规则**
- 前12列:保留原用例的完整信息
- **更新类型**: 如"增加步骤"、"更新预期结果"、"修改前置条件"
- **更新位置**: 如"步骤【N】后"、"预期结果【N】"
- **原内容**: 现有用例的相关内容片段
- **更新后内容**: 更新后的完整内容
- **更新原因**: 为什么要更新,关联的需求点
4. **颜色标注**
- 不同用例库来源用不同颜色底色区分
- 方便人工审核
* * *
## 产品配置说明
每个产品的配置存储在 `~/.openclaw/products/{product}/config.yaml`
### 配置结构
yaml
```yaml
product: uhost
display_name: "UHost 主机"
case_libraries:
cpu:
path: /path/to/UHost-cpu.xlsx
name: "CPU用例库"
count: 306
gpu:
path: /path/to/UHost-gpu.xlsx
name: "GPU用例库"
count: 69
image:
path: /path/to/UHost-image.xlsx
name: "镜像用例库"
count: 56
total_cases: 431
last_updated: "2026-04-09"
~/.openclaw/products/{product}/config.yamlreferences/templates/text
【1】第一步操作描述
【2】第二步操作描述
【3】第三步操作描述
...
【N】第N步操作描述
\n 分隔text
【1】第一步预期结果
【2】第二步预期结果
【3】第三步预期结果
...
【N】第N步预期结果
步骤编号与步骤描述一一对应
描述要明确,可验证
如果一个步骤有多个验证点,使用子编号: text
【4】1. 验证点1
### 前置条件规范
text
1.前置条件1 2.前置条件2 3.前置条件3
- 使用数字编号 \+ 点号
- 每个条件独立一行,用 `\n` 分隔
- 88.2%的用例使用数字编号
### 模块路径规范
text
/一级模块/二级模块/三级模块/.../N级模块
- 以 `/` 开头和分隔
- 主流层级:3-5层(96.9%)
- **新增用例**: 在路径前加 **/ai** 前缀
### 用例名称规范
text
功能模块-具体操作-场景说明
- 使用连字符 `-` 分隔(81.4%的用例)
- 简洁明了,包含核心操作动词
- 例: `创建主机-登录设置`、 `主机操作-重装系统-登录及其他`
### 用例等级规范
- **P0** (6.9%): 冒烟/核心流程/阻塞性
- **P1** (21.6%): 主要功能/高频场景
- **P2** (49.0%): 标准功能/常规场景 ⭐ (最常见)
- **P3** (22.5%): 边缘场景/辅助功能
### 用例类型规范
- **类型1** (85.6%): 功能测试 ⭐⭐⭐
- **类型2** (1.3%): 界面/UI测试
- **类型3** (13.1%): 接口测试
* * *
## 输出目录
- 默认: `~/.openclaw/workspace/`
- 文件命名格式:
- `{需求名称}_新增用例.xlsx`
- `{需求名称}_更新用例.xlsx`
- `{需求名称}_测试点分析.md`
- `{需求名称}_用例对比分析.md`
* * *
## 版本历史
- v1.0 (2026-04-08): 初始版本,基于 Windows镜像收费 需求实践总结
- v1.1 (2026-04-09): 改造为多产品架构,支持配置化
* * *
**维护人**: 球球 🦊