Install
openclaw skills install @kokxi/qa-scenario-tree将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时,应当使用此技能。不要只测"正常流程"——场景树的核心价值是暴露那些"用户可能不会按你预期操作"的分支和异常路径。每个场景都应有唯一ID(TC_{场景模块缩写}_{功能缩写}_{序号})并关联回具体需求。 本技能属于 QA Test Skills 技能集(49 个技能之一),完整工作流体验需安装全套:npx skills add Kokxi/qa-test-skills
openclaw skills install @kokxi/qa-scenario-tree⚠️ 本技能单独使用效果有限,建议配合完整技能集(12 步工作流)使用。安装:npx skills add Kokxi/qa-test-skills
⚠️ 安全警告:本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证;测试前应脱敏/掩码处理。 本技能仅在 workspace/ 输出评估文件,不持久化、不外传、不跨会话复用。
用树结构组织测试场景,确保覆盖完整、层次清晰。
关键指标:根据项目复杂度调整
| 复杂度 | 倍数 | 示例(显性5条) |
|---|---|---|
| 简单项目 | ×3 | 场景15个 |
| 中等项目 | ×5 | 场景25个 |
| 复杂项目 | ×7 | 场景35个 |
复杂度判断标准:
根节点:功能模块
├─ 主路径(Happy Path) → 数量:需求数量 × 1
│ ├─ 场景1:正常流程1
│ ├─ 场景2:正常流程2
│ └─ ...
├─ 分支路径(Alternative Path) → 数量:需求数量 × 2
│ ├─ 场景A:分支条件1
│ ├─ 场景B:分支条件2
│ └─ ...
├─ 异常路径(Exception Path) → 数量:需求数量 × 1.5
│ ├─ 场景X:异常情况1
│ ├─ 场景Y:异常情况2
│ └─ ...
└─ 数据流(Data Flow) → 数量:需求数量 × 0.5
├─ 场景α:数据创建
├─ 场景β:数据流转
└─ ...
## 构建方法
### 第1步:识别主路径
**问**:用户从开始到结束,最正常的操作路径是什么?
主路径识别:
示例(电商下单): 用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单
### 第2步:识别分支路径
**问**:在主路径的每一步,有什么条件分支?
分支识别方法:
示例(电商下单):
### 第3步:识别异常路径
**问**:在每个步骤,可能出什么问题?怎么恢复?
异常识别方法:
示例(电商下单):
### 第4步:识别数据流
**问**:数据在模块间怎么流转?在哪创建/更新/删除?
数据流识别:
示例(电商下单):
## 场景描述模板
每个场景应包含:
```markdown
### 场景SC-001:[场景名称]
**路径类型**:主路径/分支路径/异常路径/数据流
**前置条件**:
- 条件1
- 条件2
**触发条件**:
- 用户操作/系统事件
**操作步骤**:
1. 步骤1
2. 步骤2
3. 步骤3
**预期结果**:
- 结果1
- 结果2
**数据变化**:
- 数据A:[变化描述]
- 数据B:[变化描述]
**风险等级**:高/中/低
```text
## 场景树示例(登录功能)
登录功能 ├─ 主路径 │ ├─ SC-001:用户名密码登录成功 │ └─ SC-002:手机号验证码登录成功 ├─ 分支路径 │ ├─ SC-003:记住我功能 │ ├─ SC-004:第三方登录 │ └─ SC-005:多因素认证 ├─ 异常路径 │ ├─ SC-006:用户名不存在 │ ├─ SC-007:密码错误 │ ├─ SC-008:验证码过期 │ ├─ SC-009:账号被锁定 │ └─ SC-010:网络异常 └─ 数据流 ├─ SC-011:登录状态存储 ├─ SC-012:Token生成与刷新 └─ SC-013:登录日志记录
## 场景类型速查表
| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |
|---------|---------|---------|---------|
| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |
| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |
| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |
| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |
## 输出示例
**场景:测试电商下单流程**
→ 主路径:浏览→加入购物车→下单→支付→完成
→ 分支路径:未登录下单→跳转登录→继续支付
→ 异常路径:下单时库存不足、支付超时、并发下单
→ 数据流:商品信息→订单数据→支付记录→物流信息
**场景:测试用户注册**
→ 主路径:填写信息→验证手机→注册成功
→ 分支路径:手机号已注册→提示已有账号
→ 异常路径:验证码错误、手机号格式不对、网络中断
## 检查清单
场景树构建完成后检查:
- [ ] 主路径是否完整?
- [ ] 分支路径是否覆盖所有条件?
- [ ] 异常路径是否考虑全面?
- [ ] 数据流是否清晰?
- [ ] 场景间是否有重叠?
- [ ] 场景优先级是否标注?
## 场景漂移与处理
场景树常见失控现象及对策:
| 漂移类型 | 表现 | 处理方式 |
|---------|------|---------|
| 场景爆炸 | 分支路径衍生过多,树过于庞大 | 按优先级裁剪,只保留P0-P1分支 |
| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |
| 深度失衡 | 某条分支挖很深,其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |
| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类,不允许混排 |