SuperAPI AI 工具集

devdocs-test-cases

测试与质量

查看项目

更新于 10-15 08:13

技能介绍

用途

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。

工作流程:

  1. 读取需求文档
  2. 提取功能点、用户故事、验收标准
  3. 为每个验收标准选择测试类型
  4. 按功能点分批设计测试用例(对每个功能点设计 UT、IT、E2E,并做质量一致性自检)
  5. 生成追溯矩阵
  6. 用户确认

上下文管理采用分批原则:按功能点分批设计,每批完成一个功能点的全部测试用例。首个功能点的用例作为质量锚点,每个新功能点开始前回顾首批用例的详细程度,若当前批次详细程度明显低于锚点则立即补充。每个功能点完成后进行一致性自检,检查表格字段是否与首批一致、输入/输出是否有具体值、场景覆盖是否包含正常与异常路径。

输出文件

主文件: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 同步记忆文件。