关于 test-metrics-dashboard
test-metrics-dashboard 是用于查询测试执行历史、分析趋势并呈现质量指标的 skill。它通过保存的结果数据跟踪通过率、易抖动率、执行时间和覆盖率变化等指标。
主要功能
- 01跟踪通过率和易抖动率
- 02衡量执行时间与覆盖率变化
- 03比较近期测试运行
- 04查找频繁失败的测试
- 05保存指标历史
适用场景
- 01持续监控测试套件健康状况
- 02识别反复失败的测试
- 03检查覆盖率是否下降
- 04为质量评估提供指标
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill test-metrics-dashboard安装后在 Claude Code 中输入/test-metrics-dashboard确认已加载。
详细介绍
测试指标仪表板
用于查询测试执行历史、识别趋势并呈现可执行质量指标的数据与分析技能。
激活
/test-metrics-dashboard
关键指标
测试健康度指标
| 指标 | 公式 | 目标 | 警报 |
|---|---|---|---|
| 通过率 | 通过数 / 总数 | > 95% | < 90% |
| 不稳定率 | 不稳定测试数 / 总数 | < 5% | > 10% |
| MTTR | 从故障到修复的平均时间 | < 4 小时 | > 24 小时 |
| 执行时间 | 测试套件总时长 | < 10 分钟 | > 20 分钟 |
| 覆盖率变化 | 当前值 - 之前值 | >= 0% | < -2% |
数据收集
# Export Jest results to JSON
npx jest --json --outputFile=test-results/$(date +%Y-%m-%d).json
# Parse results for dashboard
jq '{
date: .startTime,
total: .numTotalTests,
passed: .numPassedTests,
failed: .numFailedTests,
duration_ms: (.testResults | map(.endTime - .startTime) | add),
pass_rate: ((.numPassedTests / .numTotalTests) * 100),
flaky: [.testResults[] | select(.numPendingTests > 0)] | length
}' test-results/$(date +%Y-%m-%d).json
趋势分析
# Compare last 5 runs
for f in $(ls -t test-results/*.json | head -5); do
jq --arg file "$f" '{
file: $file,
pass_rate: ((.numPassedTests / .numTotalTests) * 100 | floor),
duration_s: ((.testResults | map(.endTime - .startTime) | add) / 1000 | floor)
}' "$f"
done
失败次数最多的测试
# Find most frequently failing tests across runs
for f in test-results/*.json; do
jq -r '.testResults[] | select(.numFailingTests > 0) | .testFilePath' "$f"
done | sort | uniq -c | sort -rn | head -10
运行历史
将仪表板数据存储在 ${CLAUDE_PLUGIN_DATA}/test-metrics.log:
2026-03-18|95.2|4.1|312|82.5|3
格式:date|pass_rate|flakiness_rate|duration_s|coverage_pct|failed_count
读取历史记录以检测趋势:
# Coverage trending down?
tail -5 "${CLAUDE_PLUGIN_DATA}/test-metrics.log" | awk -F'|' '{print $5}' | sort -n | head -1
组合使用
可供以下工具使用:
/qe-quality-assessment— 根据指标决定质量门禁/test-failure-investigator— 调查失败次数最多的测试/coverage-drop-investigator— 覆盖率呈下降趋势时使用
注意事项
- 没有基线的指标毫无意义——跟踪趋势前先建立基线
- 不稳定率往往被低估——某个测试每 100 次失败 1 次,仍会每周导致 CI 失败
- 随着测试数量增加,执行时长会逐渐上升——应针对增长速率设置警报,而不是关注绝对值
- Agent 可能会把单次运行的指标称为“趋势”——要得出有意义的趋势,至少需要 5 个数据点
评论
支持 Markdown