mcpField
T
test-metrics-dashboard

test-metrics-dashboard

github.com/proffesor-for-testing测试与质量51959 次安装今天更新
代码仓库

关于 test-metrics-dashboard

test-metrics-dashboard 是用于查询测试执行历史、分析趋势并呈现质量指标的 skill。它通过保存的结果数据跟踪通过率、易抖动率、执行时间和覆盖率变化等指标。

主要功能

  1. 01跟踪通过率和易抖动率
  2. 02衡量执行时间与覆盖率变化
  3. 03比较近期测试运行
  4. 04查找频繁失败的测试
  5. 05保存指标历史

适用场景

  1. 01持续监控测试套件健康状况
  2. 02识别反复失败的测试
  3. 03检查覆盖率是否下降
  4. 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