name: test-coverage-analyzer description: 分析测试覆盖率并识别迁移前的差距,以确保足够的安全网 allowed-tools: [“Bash”, “Read”, “Write”, “Grep”, “Glob”, “Edit”]
测试覆盖率分析器技能
全面分析测试覆盖率,以识别差距并确保在开展迁移工作前具备足够的测试安全网。
目的
实现全面的测试覆盖率分析,用于:
- 迁移前覆盖率评估
- 关键路径覆盖率验证
- 覆盖率差距识别
- 测试策略规划
- 回归风险评估
能力
1. 行/分支/路径覆盖率测量
- 计算行覆盖率百分比
- 测量分支覆盖率
- 分析路径覆盖率
- 跟踪条件覆盖率
2. 覆盖率差距识别
- 查找未测试的代码路径
- 识别缺失的边缘情况
- 检测未覆盖的错误处理程序
- 映射覆盖率盲点
3. 关键路径覆盖率分析
- 识别业务关键路径
- 按重要性确定覆盖率优先级
- 映射风险与覆盖率
- 生成有针对性的测试建议
4. 集成测试覆盖率映射
- 跟踪集成点覆盖率
- 映射API端点测试
- 评估数据库操作覆盖率
- 验证外部服务测试
5. 覆盖率趋势分析
- 跟踪覆盖率随时间的变化
- 识别覆盖率回归
- 监控改进进度
- 生成趋势报告
工具集成
| 工具 | 语言 | 集成方法 |
|---|---|---|
| Istanbul/nyc | JavaScript/TypeScript | CLI |
| JaCoCo | Java | CLI / Maven/Gradle |
| Cobertura | Java/Python | CLI |
| Coverage.py | Python | CLI |
| SimpleCov | Ruby | CLI |
| go test -cover | Go | CLI |
| dotCover | .NET | CLI |
输出模式
{
"analysisId": "string",
"timestamp": "ISO8601",
"coverage": {
"line": {
"percentage": "number",
"covered": "number",
"total": "number"
},
"branch": {
"percentage": "number",
"covered": "number",
"total": "number"
},
"function": {
"percentage": "number",
"covered": "number",
"total": "number"
}
},
"gaps": [
{
"file": "string",
"uncoveredLines": ["number"],
"uncoveredBranches": ["string"],
"criticality": "high|medium|low",
"recommendation": "string"
}
],
"criticalPaths": {
"covered": "number",
"total": "number",
"uncoveredPaths": []
}
}
与迁移流程的集成
- migration-testing-strategy: 覆盖率基线建立
- code-refactoring: 重构前安全评估
- framework-upgrade: 回归保护验证
相关技能
characterization-test-generator: 为差距生成测试static-code-analyzer: 综合质量分析
相关代理
migration-testing-strategist: 用于测试规划regression-detector: 用于回归预防