用途
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)。
测试类型选择
根据验收标准类型推荐测试类型:
- 输入验证规则 → 单元测试
- 业务逻辑规则 → 单元测试 + 集成测试
- 用户交互流程 → E2E 测试
- 组件间协作 → 集成测试
编号规范
- 单元测试:UT-XXX,如 UT-001
- 集成测试:IT-XXX,如 IT-001
- E2E 测试:E2E-XXX,如 E2E-001
追溯矩阵
追溯矩阵是核心产出,展示需求与测试、代码的完整关联。设计阶段生成基础矩阵(AC → 测试编号),开发阶段可包含代码位置(入口代码、测试代码),代码位置由 /devdocs-sync 基于代码中的 @satisfies/@verifies 标注扫描自动填充。状态分为:✅ 完整覆盖、⏳ 进行中、⚠️ 部分覆盖、❌ 未覆盖。
覆盖率要求
- 单元测试:核心业务逻辑,行覆盖率 ≥ 80%,分支覆盖率 ≥ 80%
- 集成测试:组件协作场景,每个功能点至少 1 个 IT
- E2E 测试:用户故事,每个 P0 用户故事至少 1 个 E2E
使用方式
运行模式:
- /devdocs-test-cases → 标准模式(逐步确认)
- /devdocs-test-cases --fast → 跳过逐步确认,直接生成,仅最终确认
--fast 模式会跳过测试类型选择的逐步确认,自动根据 AC 性质选择最佳测试类型,仅保留最终写入前的 1 次确认。默认行为不变,--fast 是 opt-in。
工作流程:
- 读取需求文档
- 提取功能点、用户故事、验收标准
- 为每个验收标准选择测试类型
- 按功能点分批设计测试用例(对每个功能点设计 UT、IT、E2E,并做质量一致性自检)
- 生成追溯矩阵
- 用户确认
上下文管理采用分批原则:按功能点分批设计,每批完成一个功能点的全部测试用例。首个功能点的用例作为质量锚点,每个新功能点开始前回顾首批用例的详细程度,若当前批次详细程度明显低于锚点则立即补充。每个功能点完成后进行一致性自检,检查表格字段是否与首批一致、输入/输出是否有具体值、场景覆盖是否包含正常与异常路径。
输出文件
主文件:docs/devdocs/03-test-cases.md
默认拆分为主文件加子文件结构:
- docs/devdocs/03-test-cases.md(大纲:策略、覆盖率、追溯矩阵、用例索引)
- docs/devdocs/03-test-unit.md(UT 详情)
- docs/devdocs/03-test-integration.md(IT 详情)
- docs/devdocs/03-test-e2e.md(E2E 详情)
主文档保留测试策略说明、覆盖率目标、完整追溯矩阵、各子文档的用例范围说明。小型项目例外:测试用例 ≤ 15 个且文档 ≤ 200 行时,可合并为单一文件 03-test-cases.md。
适用场景
- 用户已完成需求文档,需要设计测试用例
- 需要建立验收标准到测试用例的追溯关系
- 需要测试覆盖策略
- 新功能需要新增测试用例(由 /devdocs-feature 调用)
- Bug 修复需要补充回归测试(由 /devdocs-bugfix 调用)
- 改进建议可能需要测试覆盖(由 /devdocs-insights 调用)
限制
阶段边界约束(最高优先级):
- 本 Skill 仅产出文档,严禁编写或生成任何实现代码或测试代码文件
- Write 工具仅用于写入 docs/devdocs/ 下的 Markdown 文档
- 测试用例以文档形式(表格/文字)描述,不生成 .test.ts/.spec.ts 等代码文件
- 编码和测试编写由 /devdocs-dev-workflow 负责,本 Skill 不涉及
追溯约束:
- 每个验收标准至少有 1 个测试用例覆盖
- 必须生成追溯矩阵,且必须覆盖所有 AC
用例设计约束:
- 测试用例必须关联验收标准编号
- 每个用例必须有明确的预期结果
- 优先级必须标注(P0/P1/P2)
- 后批次用例详细程度不低于首批次
- 每个功能点完成后执行一致性自检
覆盖约束:
- P0 验收标准必须 100% 测试覆盖
- P0 用户故事必须有 E2E 测试
- 单元测试行覆盖率目标 ≥ 80%
质量约束(参考 /testing-guide):
- 测试名称必须描述预期行为
- 禁止弱断言(toBeDefined、toBeTruthy 不能作为唯一断言)
- Mock 只用于外部依赖
与其他 Skill 协作
- /devdocs-requirements:前置,提供 F/US/AC 作为测试设计依据
- /devdocs-feature:被调用,新功能需要新增测试用例
- /devdocs-bugfix:被调用,Bug 修复需要补充回归测试
- /devdocs-insights:被调用,改进建议可能需要测试覆盖
- /devdocs-sync:协作,trace 模式更新追溯矩阵代码位置
- /testing-guide:协作,编写测试代码时的质量约束
- /devdocs-dev-tasks:后续,测试用例转化为开发任务
完成后建议运行 /devdocs-dev-tasks 进行开发任务拆分。文档变更较大时,建议运行 /agent-memory 同步记忆文件。