locales/zh-CN/skills/ac-coverage/SKILL.md
[UDS] 分析验收条件(AC)与测试之间的追踪关系并生成覆盖率报告
npx skillsauth add asiaostrich/universal-dev-standards ac-coverageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
语言: English | 简体中文
分析验收条件(AC)与测试之间的追踪关系,并生成覆盖率报告。
/coverage 的区别| 方面 | /coverage | /ac-coverage |
|------|-------------|----------------|
| 范围 | 代码层级(行数/分支/函数) | 需求层级(AC 对应测试) |
| 输入 | 源代码 + 测试运行器 | SPEC 文件 + 测试标注 |
| 问题 | 「代码测试了多少?」 | 「哪些 AC 有测试?」 |
| 输出 | 覆盖率百分比 | 追踪矩阵 + 缺口报告 |
@AC 与 @SPEC 标注覆盖率 % = (已覆盖 + 部分覆盖 × 0.5) / 总数 × 100测试必须使用标准标注引用其来源 AC:
// TypeScript/JavaScript
describe('AC-1: User login with valid credentials', () => {
// @AC AC-1
// @SPEC SPEC-001
it('should redirect to dashboard on successful login', () => { ... });
});
# Python
class TestAC1_UserLogin:
"""AC-1: User login with valid credentials
@AC AC-1
@SPEC SPEC-001
"""
def test_redirect_to_dashboard(self): ...
# BDD Feature
@SPEC-001 @AC-1
Scenario: User login with valid credentials
| 门槛 | 默认值 | 强制等级 | |------|--------|----------| | 签入(Check-in) | 80% | feature branch 合并必要条件 | | 发布(Release) | 100% | 生产环境发布必要条件 | | 警告(Warning) | 60% | 触发覆盖率警告 |
门槛可通过 --threshold 参数或项目配置文件调整。
--full 模式)使用 --full 标记将追溯从 2 层(AC→Test)扩展为 4 层。
Layer 0:需求 / 用户故事 (REQ)
↓ (定义)
Layer 1:验收条件 (AC)
↓ (@AC 标注)
Layer 2:测试用例
↓ (覆盖)
Layer 3:源代码 (@implements)
// Layer 3→1:代码引用 AC
// @implements AC-1, AC-2
function authenticate(user: string, pass: string) { ... }
<!-- Layer 0→1:SPEC 中的需求 -->
## Requirements
### REQ-1:用户验证
- AC-1: 给定有效凭证,当登录时,则验证通过
- AC-2: 给定无效凭证,当登录时,则被拒绝
## 四层追溯矩阵
| 需求 | AC | 测试 | 代码 | 状态 |
|------|-----|------|------|------|
| REQ-1 | AC-1 | auth.test.ts:15 | auth.ts:42 | ✅ 完整 |
| REQ-1 | AC-2 | auth.test.ts:30 | auth.ts:58 | ✅ 完整 |
| REQ-2 | AC-3 | — | dashboard.ts:10 | ⚠️ 缺测试 |
| REQ-3 | AC-4 | export.test.ts:5 | — | ⚠️ 缺代码 |
### 缺口摘要
- Layer 0→1: 2 个需求未对应 AC
- Layer 1→2: 1 个 AC 未对应测试
- Layer 2→3: 0 个测试未对应代码
- Layer 3→1: 3 个代码文件未对应 AC
使用 --trace-code <path> 从代码反向追溯到需求。
/ac-coverage --trace-code src/auth.ts
# 输出:
# src/auth.ts:42 → @implements AC-1 → REQ-1 (SPEC-AUTH-001)
# src/auth.ts:58 → @implements AC-2 → REQ-1 (SPEC-AUTH-001)
生成的报告遵循 core/acceptance-criteria-traceability.md 的标准格式:
# AC 覆盖率报告
**规格**: SPEC-001 — 功能名称
**生成时间**: 2026-03-18
**覆盖率**: 75% (6/8 AC)
## 摘要
| 状态 | 数量 | 百分比 |
|------|------|--------|
| ✅ 已覆盖 | 5 | 62.5% |
| ⚠️ 部分覆盖 | 2 | 25.0% |
| ❌ 未覆盖 | 1 | 12.5% |
## 追溯矩阵
| AC-ID | 描述 | 状态 | 测试引用 |
|-------|------|------|----------|
| AC-1 | 以有效凭证登录 | ✅ | auth.test.ts:15 |
| AC-2 | 拒绝无效凭证 | ✅ | auth.test.ts:32 |
| ... | ... | ... | ... |
## 缺口
- **AC-8**: 社交登录 — 因 OAuth sandbox 未就绪受阻
## 行动项目
1. [ ] AC-8:搭建 OAuth sandbox(预计时间:待定)
/ac-coverage 完成后,AI 助手应建议:
AC 覆盖率分析完成。建议下一步:
- 覆盖率达标 → 执行
/checkin质量关卡- 有未覆盖 AC → 执行
/derive-tdd补齐测试 ⭐ 推荐- 有部分覆盖 AC → 检查缺少的边界情况
- 需要完整追溯 → 执行
/ac-coverage --full- 反向追溯 → 执行
/ac-coverage --trace-code <path>
完整的 AI 行为定义请参阅对应的命令文件:
/ac-coverage
development
[UDS] 扫描代码库的调试残留与代码质量问题;可自动修正安全模式。 Use when: before committing, during PR review, or periodic codebase cleanup. Keywords: sweep, debug cleanup, console.log, debugger, TODO, ts-any, code quality, 扫描, 清理.
tools
[UDS] 从规格衍生 BDD 场景、TDD 骨架或 ATDD 表格
development
[UDS] 识别重复流程并以正确的开发深度构建 Skill
tools
[UDS] AI 辅助 git push 安全层:质量门禁 + 协作护栏。 Use when: pushing commits, force pushing, pushing to protected branches, pushing feature branches. Keywords: git push, force push, protected branch, quality gate, push receipt, PR automation, 推送, 保护分支, 质量门禁.