| name | test-case-sync-engine |
| description | Automatically generates and syncs test cases based on requirement changes. Triggers when requirements are updated in PRD-主文档.md, bugs are fixed, or features are added. Creates test cases in JSON format, links them to requirements, and maintains test-cases-master.json. Works with requirement-sync-manager and test-automation-engine. |
Test Case Sync Engine
测试用例同步引擎 - 自动生成和同步测试用例
🎯 核心功能
三层测试用例自动生成:
- 基于 PRD 的初始测试用例
- 基于代码变更的回归测试用例
- 基于 Bug 修复的防御性测试用例
触发条件
自动触发
-
requirement-sync-manager 通知
- PRD-主文档.md 更新后自动触发
- 需求变更记录创建后自动触发
-
代码变更检测
- 修改
lib/matching/ → 生成匹配算法测试用例
- 修改
lib/ai/ → 生成 AI 提取测试用例
- 修改
app/api/ → 生成 API 测试用例
-
Bug 修复完成
- systematic-debugging Skill 完成后自动触发
- 生成防御性测试用例
手动触发
用户可以手动请求:
- "为这个需求生成测试用例"
- "更新测试用例库"
- "检查测试覆盖率"
执行流程
第 1 层:基于 PRD 的初始测试用例
输入:
处理流程:
读取 PRD-主文档.md
↓
提取需求和验收标准
↓
AI 分析需求
↓
生成测试用例骨架
↓
用户审核确认
↓
添加到 test-cases-master.json
生成的测试用例格式:
{
"id": "MATCH-001",
"name": "精确匹配:技能完全一致",
"category": "matching",
"priority": "high",
"createdFrom": "PRD",
"linkedRequirement": "PRD-主文档.md#1-简历-JD-匹配",
"requirementVersion": "v2.0",
"createdDate": "2026-02-15",
"status": "active",
"input": {
"jd": "要求 React、TypeScript、Node.js",
"resume": "熟练掌握 React、TypeScript、Node.js"
},
"expected": {
"matchRate": ">= 90%",
"matchedSkills": ["React", "TypeScript", "Node.js"],
"professionalMatches": "> 0"
}
}
第 2 层:基于代码变更的回归测试用例
输入:
- Git diff 信息
- 修改的文件路径
- 代码变更说明
处理流程:
检测代码变更
↓
分析影响范围
↓
识别需要回归测试的功能
↓
自动生成回归测试用例
↓
添加到 test-cases-master.json
示例:
修改:lib/matching/code_matcher.ts (禁用软技能匹配)
↓
自动生成测试用例:
- MATCH-101: 软技能不应出现在 professional_matches
- MATCH-102: 专业能力数量应 > 0
- MATCH-103: 软技能应被正确识别和过滤
第 3 层:基于 Bug 修复的防御性测试用例
输入:
处理流程:
Bug 修复完成
↓
systematic-debugging 通知
↓
提取 Bug 信息
↓
生成防御性测试用例
↓
添加到 test-cases-master.json
示例:
Bug: 专业能力显示 0 项
根因: 软技能污染专业能力列表
↓
自动生成测试用例:
- BUG-001: 验证专业能力不为空
- BUG-002: 验证软技能过滤逻辑
- BUG-003: 验证 AI 提取不过度抽象
测试用例库结构
test-cases-master.json
位置:tests/test-cases/test-cases-master.json
格式:
{
"version": "2.1",
"lastUpdated": "2026-02-15T12:00:00Z",
"linkedPRD": "docs/01-需求文档/PRD-主文档.md",
"prdVersion": "v2.1",
"totalTestCases": 150,
"testSuites": [
{
"id": "MATCH",
"name": "匹配算法测试",
"category": "matching",
"linkedRequirement": "PRD-主文档.md#1-简历-JD-匹配",
"requirementVersion": "v2.1",
"totalCases": 50,
"testCases": [...]
},
{
"id": "AI",
"name": "AI 提取测试",
"category": "ai-extraction",
"linkedRequirement": "PRD-主文档.md#2-AI-提取",
"requirementVersion": "v2.0",
"totalCases": 30,
"testCases": [...]
}
]
}
分类测试用例文件
位置:tests/test-cases/
文件结构:
tests/test-cases/
├── test-cases-master.json # 主索引
├── matching-algorithm.json # 匹配算法测试用例
├── ai-extraction.json # AI 提取测试用例
├── jd-parsing.json # JD 解析测试用例
├── e2e-scenarios.json # E2E 场景测试用例
└── regression-tests.json # 回归测试用例
测试用例生成规则
规则 1: 每个需求必须有测试用例
检查流程:
读取 PRD-主文档.md
↓
提取所有需求(带版本号)
↓
读取 test-cases-master.json
↓
检查每个需求是否有对应的测试用例
↓
如果缺少 → 自动生成或提醒用户
规则 2: 每个验收标准必须有测试用例
示例:
需求:简历-JD 匹配
验收标准:
- [ ] 响应时间 < 3s
- [ ] 匹配准确率 > 80%
- [ ] 支持 PDF 格式
自动生成测试用例:
- PERF-001: 匹配响应时间测试
- MATCH-001: 匹配准确率测试
- PARSE-001: PDF 解析测试
规则 3: Bug 修复必须有防御性测试用例
强制要求:
- 每个 Bug 修复必须至少生成 1 个测试用例
- 测试用例必须能复现原 Bug
- 测试用例必须验证修复有效
测试用例优先级
P0 (高优先级)
- 核心功能测试
- Bug 防御性测试
- 性能关键路径测试
P1 (中优先级)
P2 (低优先级)
与其他 Skills 的协作
1. requirement-sync-manager
2. test-automation-engine
3. systematic-debugging
4. documentation-enforcer-v2
测试覆盖率报告
自动生成报告:
# 测试覆盖率报告
**生成时间**: 2026-02-15 12:00
**PRD 版本**: v2.1
**测试用例版本**: v2.1
## 覆盖率统计
| 需求模块 | 需求数量 | 测试用例数量 | 覆盖率 |
|---------|---------|-------------|--------|
| 匹配算法 | 5 | 50 | 100% |
| AI 提取 | 3 | 30 | 100% |
| JD 解析 | 2 | 15 | 100% |
| UI 展示 | 4 | 20 | 75% ⚠️ |
## 未覆盖的需求
### 1. 匹配度百分比显示
**需求**: PRD-主文档.md#7
**状态**: 缺少测试用例
**建议**: 创建 UI-001, UI-002 测试用例
## 建议
- 为 "匹配度百分比显示" 创建测试用例
- 增加 UI 模块的测试覆盖率
使用示例
示例 1: 需求变更触发
requirement-sync-manager 更新 PRD
↓
通知 test-case-sync-engine
↓
AI 分析新需求:"禁用软技能匹配"
↓
自动生成 3 个测试用例:
- MATCH-101: 软技能过滤测试
- MATCH-102: 专业能力非空测试
- MATCH-103: 软技能识别测试
↓
添加到 test-cases-master.json
↓
更新版本号 (v2.0 → v2.1)
↓
通知用户:"已生成 3 个新测试用例"
示例 2: Bug 修复触发
systematic-debugging 完成 Bug 修复
↓
通知 test-case-sync-engine
↓
提取 Bug 信息:
- Bug: 专业能力显示 0 项
- 根因: 软技能污染
↓
自动生成防御性测试用例:
- BUG-001: 验证专业能力不为空
↓
添加到 regression-tests.json
↓
通知用户:"已生成防御性测试用例 BUG-001"
配置选项
配置文件:tests/test-config.json
{
"autoGenerateTestCases": true,
"requireUserApproval": true,
"minTestCasesPerRequirement": 1,
"testCaseNamingPattern": "{CATEGORY}-{NUMBER}",
"linkedPRD": "docs/01-需求文档/PRD-主文档.md",
"testCasesPath": "tests/test-cases/",
"testEngineNotify": true
}
Skill Version: v1.0
Created: 2026-02-15
Compatibility: Claude Code 2.0+