devdocs-test-cases

Design test cases (UT/IT/E2E) based on requirements, establishing traceability from acceptance criteria to test cases. Use when users need test case design, testing strategy, test coverage planning, or QA planning. Triggers on "test cases", "test design", "unit test", "integration test", "e2e test", "测试用例", "测试设计", "测试策略", "测试覆盖", "QA". NOT for running tests (use devdocs-test-run) or development workflow (use devdocs-dev-workflow).

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "devdocs-test-cases" with this command: npx skills add ab300819/skills/ab300819-skills-devdocs-test-cases

测试用例设计

基于需求文档设计测试用例,建立验收标准与测试用例的追溯关系。

语言规则

  • 支持中英文提问
  • 统一中文回复
  • 使用中文生成文档

触发条件

  • 用户已完成需求文档
  • 用户要求设计测试用例
  • 用户需要测试覆盖策略

前置条件

  • 需求文档:docs/devdocs/01-requirements.md
  • 系统设计文档:docs/devdocs/02-system-design.md(设计 UT/IT 时需要了解接口签名和模块划分)
  • 如不存在,建议先运行前置阶段

核心理念

测试用例来源

功能点 (F-XXX)
    │
    └── 用户故事 (US-XXX)
            │
            └── 验收标准 (AC-XXX)
                    │
                    ├── 单元测试 (UT-XXX)  ← 验证内部逻辑
                    │
                    ├── 集成测试 (IT-XXX)  ← 验证组件协作
                    │
                    └── E2E 测试 (E2E-XXX) ← 验证用户场景

关键原则

  • 测试用例从需求推导,不是从代码推导
  • 每个验收标准至少有一个测试用例覆盖
  • 测试类型根据验收标准的性质选择

测试类型选择

验收标准类型推荐测试类型示例
输入验证规则单元测试"邮箱格式校验" → UT
业务逻辑规则单元测试 + 集成测试"密码加密存储" → UT + IT
用户交互流程E2E 测试"完成注册流程" → E2E
组件间协作集成测试"发送验证邮件" → IT

编号规范

类型前缀格式示例
单元测试UTUT-XXXUT-001, UT-002
集成测试ITIT-XXXIT-001, IT-002
E2E 测试E2EE2E-XXXE2E-001, E2E-002

运行模式

/devdocs-test-cases              → 标准模式(逐步确认)
/devdocs-test-cases --fast       → 跳过逐步确认,直接生成,仅最终确认

--fast 模式

  • 跳过测试类型选择的逐步确认
  • 自动根据 AC 性质选择最佳测试类型
  • 仅保留最终写入前的 1 次确认
  • 默认行为不变,--fast 是 opt-in

工作流程

1. 读取需求文档
   │
   ▼
2. 提取功能点、用户故事、验收标准
   │
   ▼
3. 为每个验收标准选择测试类型
   │
   ▼
4. 按功能点分批设计测试用例
   │  对每个功能点 (F-XXX):
   │    ├── 设计该功能点的 UT
   │    ├── 设计该功能点的 IT
   │    ├── 设计该功能点的 E2E
   │    └── 质量一致性自检(与首批对比详细程度)
   │
   ▼
5. 生成追溯矩阵
   │
   ▼
6. 用户确认

上下文管理

分批原则

按功能点 (F-XXX) 分批设计,每批完成一个功能点的全部测试用例(UT + IT + E2E)。

质量锚点

  • 首个功能点的用例作为质量锚点
  • 每个新功能点开始前,回顾首批用例的详细程度(字段完整性、场景覆盖、输入输出具体性)
  • 若当前批次详细程度明显低于锚点,立即补充

一致性自检

每个功能点完成后,对比检查:

  • 表格字段是否与首批一致(无缺列)
  • 输入/输出是否有具体值(非"正常输入"等模糊描述)
  • 场景覆盖是否包含正常 + 异常路径

输出文件

主文件docs/devdocs/03-test-cases.md

文档拆分规则

默认拆分为主文件 + 子文件结构。每个子文件控制在合理大小内,Agent 每次只写一个子文件以减轻上下文负担。

拆分方式

docs/devdocs/
├── 03-test-cases.md           # 大纲:策略、覆盖率、追溯矩阵、用例索引
├── 03-test-unit.md            # UT 详情
├── 03-test-integration.md     # IT 详情
└── 03-test-e2e.md             # E2E 详情

主文档保留内容(大纲,不含具体用例):

  • 测试策略说明
  • 覆盖率目标
  • 完整追溯矩阵(F → US → AC → 测试)
  • 各子文档的用例范围说明

小型项目例外:测试用例 ≤ 15 个且文档 ≤ 200 行时,可合并为单一文件 03-test-cases.md

详细模板参见:

测试用例概览文档结构

# 测试用例:<功能名称>

## 1. 测试策略
## 2. 覆盖率要求
## 3. 追溯矩阵
## 4. 测试用例索引

追溯矩阵

追溯矩阵是核心产出,展示需求与测试、代码的完整关联。

基础格式(设计阶段)

| 功能点 | 用户故事 | 验收标准 | 单元测试 | 集成测试 | E2E测试 | 状态 |
|--------|----------|----------|----------|----------|---------|------|
| F-001 | US-001 | AC-001 | UT-001 | - | E2E-001 | ⏳ |
| F-001 | US-001 | AC-002 | UT-002 | - | E2E-001 | ⏳ |
| F-001 | US-002 | AC-004 | UT-003, UT-004 | IT-001 | - | ⏳ |

完整格式(开发阶段,含代码位置)

代码位置由 /devdocs-sync 自动填充,基于代码中的 @satisfies/@verifies 标注扫描。

| AC 编号 | 验收标准 | 测试编号 | 入口代码 | 测试代码 | 状态 |
|---------|----------|----------|----------|----------|------|
| AC-001 | 邮箱格式校验 | UT-001 | `src/user.ts:15` | `tests/user.test.ts:20` | ✅ |
| AC-002 | 密码强度校验 | UT-002 | `src/user.ts:15` | `tests/user.test.ts:35` | ✅ |
| AC-003 | 用户名唯一性 | UT-003 | `src/user.ts:15` | `tests/user.test.ts:50` | ⏳ |
| AC-004 | 发送验证邮件 | IT-001 | - | - | ❌ |

代码位置字段说明

字段来源说明
入口代码@satisfies AC-XXX 标注实现该 AC 的方法位置
测试代码@verifies AC-XXX 标注验证该 AC 的测试位置

状态说明

状态含义条件
完整覆盖有测试用例 + 入口代码 + 测试代码 + 测试通过
进行中有测试用例,代码/测试部分完成
⚠️部分覆盖有代码但缺测试,或有测试但缺代码
未覆盖无测试用例或无代码实现

矩阵维护流程

设计阶段                    开发阶段                     同步阶段
    │                          │                           │
    ▼                          ▼                           ▼
生成基础矩阵          生成骨架代码(带标注)        /devdocs-sync
(AC → 测试编号)       (入口 + 测试)                      │
                                                        ▼
                                                 扫描代码标注
                                                        │
                                                        ▼
                                                 填充代码位置列
                                                        │
                                                        ▼
                                                 更新状态列

测试用例格式

单元测试用例

| 编号 | 验收标准 | 测试对象 | 场景 | 输入 | 预期输出 | 优先级 |
|------|----------|----------|------|------|----------|--------|
| UT-001 | AC-001 | validateEmail() | 有效邮箱 | "test@example.com" | true | P0 |
| UT-002 | AC-002 | validateEmail() | 无效格式 | "invalid" | false | P0 |

集成测试用例

| 编号 | 验收标准 | 测试场景 | 涉及组件 | 预期结果 | 优先级 |
|------|----------|----------|----------|----------|--------|
| IT-001 | AC-004 | 密码加密存储 | UserService + DB | 密码以 bcrypt 格式存储 | P0 |

E2E 测试用例

| 编号 | 用户故事 | 验收标准 | 操作步骤 | 预期结果 | 优先级 |
|------|----------|----------|----------|----------|--------|
| E2E-001 | US-001 | AC-001~AC-003 | 1. 打开注册页<br>2. 输入邮箱密码<br>3. 点击注册 | 注册成功,收到验证邮件 | P0 |

覆盖率要求

测试类型覆盖目标覆盖要求
单元测试核心业务逻辑行覆盖率 ≥ 80%,分支覆盖率 ≥ 80%
集成测试组件协作场景每个功能点至少 1 个 IT
E2E 测试用户故事每个 P0 用户故事至少 1 个 E2E

约束

追溯约束

  • 每个验收标准至少有 1 个测试用例覆盖
  • 必须生成追溯矩阵
  • 追溯矩阵必须覆盖所有 AC

用例设计约束

  • 测试用例必须关联验收标准编号
  • 每个用例必须有明确的预期结果
  • 优先级必须标注 (P0/P1/P2)
  • 后批次用例详细程度不低于首批次(字段完整性、具体值、场景覆盖)
  • 每个功能点完成后执行一致性自检

覆盖约束

  • P0 验收标准必须 100% 测试覆盖
  • P0 用户故事必须有 E2E 测试
  • 单元测试行覆盖率目标 ≥ 80%

质量约束(参考 /testing-guide

  • 测试名称必须描述预期行为
  • 禁止弱断言(toBeDefined, toBeTruthy 不能作为唯一断言)
  • Mock 只用于外部依赖

Skill 协作

场景协作 Skill说明
需求输入/devdocs-requirements前置:提供 F/US/AC 作为测试设计依据
新功能测试/devdocs-feature被调用:新功能需要新增测试用例
Bug 回归测试/devdocs-bugfix被调用:Bug 修复需要补充回归测试
改进测试/devdocs-insights被调用:改进建议可能需要测试覆盖
追溯更新/devdocs-sync协作:trace 模式更新追溯矩阵代码位置
测试质量/testing-guide协作:编写测试代码时的质量约束
任务拆分/devdocs-dev-tasks后续:测试用例转化为开发任务

子 Agent 摘要格式

当本 Skill 作为子 Agent 运行时,返回以下结构化摘要:

skill: devdocs-test-cases
mode: initial | incremental
new_ids:
  unit_tests: [UT-001~UT-012]
  integration_tests: [IT-001~IT-003]
  e2e_tests: [E2E-001~E2E-002]
traceability_matrix_updated: true
status: completed
output_files:
  - docs/devdocs/03-test-cases.md

下一步

完成后建议运行 /devdocs-dev-tasks 进行开发任务拆分。

提示:文档变更较大时,建议运行 /agent-memory 同步记忆文件。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

devdocs-onboard

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

devdocs-dev-tasks

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-quality

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

devdocs-requirements

No summary provided by upstream source.

Repository SourceNeeds Review