返回技能市场
Scenario Tree
将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时,应当使用此技能。不要只测"正常流程"——场景树的核心价值是暴露那些"用户可能不会按你预期操作"的分支和异常路径。每个场景都应有唯一ID(SC-XXXX)并关联回具体需求。
SKILL.md
⚠️ 本技能单独使用效果有限,建议配合完整技能集(12 步工作流)使用。安装:npx skills add Kokxi/qa-test-skills
⚠️ 安全警告:本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证;测试前应脱敏/掩码处理。 本技能仅在 workspace/ 输出评估文件,不持久化、不外传、不跨会话复用。
场景树构建
核心原则
用树结构组织测试场景,确保覆盖完整、层次清晰。
不要只测正常流程——场景树的核心价值是暴露那些"用户可能不会按你预期操作"的分支和异常路径。
1. 四类路径速查
| 路径类型 | 覆盖目标 | 数量 | 最容易漏 |
|---|---|---|---|
| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |
| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |
| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时后的恢复能力 |
| 数据流 | 数据 CRUD + 跨模块一致性 | 需求数 ×0.5 | 跨模块数据同步断链 |
非整数时向下取整(5 条需求 → 异常 7 条、数据流 2 条),不要为凑数造半条场景。 四类至少覆盖 3 类,未覆盖的类必须写明原因——四类全上的场景树在真实项目里很少。
2. 场景数量要求
关键指标:以需求数为基准,按项目复杂度放大。
| 复杂度 | 倍数 | 示例(需求 5 条) | 复杂度判断标准 |
|---|---|---|---|
| 简单项目 | ×3 | 场景 15 个 | 单模块、低风险、无并发 |
| 中等项目 | ×5 | 场景 25 个 | 多模块、中风险、少量并发 |
| 复杂项目 | ×7 | 场景 35 个 | 跨模块、高风险、高并发 |
3. 编号规则
| 对象 | 格式 | 示例 | 说明 |
|---|---|---|---|
| 场景 ID | SC-{模块缩写}-{序号} | SC-LOGIN-001 | 树内连续,不按类别分段 |
| 需求 ID | REQ-{需求模块缩写}-{序号} | REQ-AUTH-001 | 每个场景必填关联 |
TC_{模块}_{功能}_{序号} | — | 本技能不用,用例由 qa-test-case-design 分配 |
三者不可混用。历史版本本技能的 traceability 把"关联需求ID"写成了
TC_前缀, 已修正为REQ-。
4. 加载时机
需要时才读,不要一上来全读:
| 什么时候读 | 读哪个 |
|---|---|
| 展开某一类场景的完整覆盖清单,或按四步法逐类构建 | references/scenario-types.md(四类详解 + 构建方法 + 漂移处理) |
| 写场景树或场景描述块 | assets/scenario-template.md(树骨架 + 描述块 + 填写要求 + 自检) |
5. 产出
场景树骨架:
登录功能
├─ 主路径
│ ├─ SC-LOGIN-001:用户名密码登录成功
│ └─ SC-LOGIN-002:手机号验证码登录成功
├─ 分支路径
│ ├─ SC-LOGIN-003:记住我
│ ├─ SC-LOGIN-004:第三方登录
│ └─ SC-LOGIN-005:多因素认证
├─ 异常路径
│ ├─ SC-LOGIN-006:用户名不存在
│ ├─ SC-LOGIN-007:密码错误
│ ├─ SC-LOGIN-008:验证码过期
│ ├─ SC-LOGIN-009:账号被锁定
│ └─ SC-LOGIN-010:网络中断
└─ 数据流
├─ SC-LOGIN-011:登录状态存储
├─ SC-LOGIN-012:Token 生成与刷新
└─ SC-LOGIN-013:登录日志记录
单场景描述块:
### SC-LOGIN-014 — 支付回调超时后的订单状态
- **路径类型**:异常路径
- **关联需求**:REQ-PAY-003
- **前置条件**:订单处于"支付中"已 30 分钟;回调地址注入 3 秒延迟
- **触发条件**:用户点击支付,网关响应超时
- **操作步骤**:1) 发起支付注入延迟 2) 等待超时 3) 查订单状态 4) 手动补发回调
- **预期结果**:超时后订单进入"支付中"而非判失败;补发后转"已支付"不二次扣款;
30 分钟无回调则自动关单并释放库存
- **数据变化**:订单 支付中→已支付;支付单唯一无重复;库存净扣减 1
- **风险等级**:高(资损)
完整模板与填写要求见
assets/scenario-template.md。
本技能不产出 9 列用例表——场景到用例的转换由 qa-test-case-design 完成。
6. 交付前自检
- 四类路径都有场景;某类不适用时写"不适用 + 原因"
- 场景 ID 唯一、树内连续、格式
SC-{模块}-{序号},无TC_混用 - 每个场景关联到
REQ-需求 ID,无孤儿场景 - 场景数达到数量要求;小数维度已向下取整
- 异常路径均验证了恢复能力(报错后状态、能否重试、重试有无重复副作用)
- 数据流场景逐个数据对象写了前后状态
- 无主路径/异常路径混排
- 覆盖率已标注口径,无"全覆盖/100%"绝对化表述
评论与讨论
0/2000
还没有评论,分享你的体验吧。