qe-quality-metrics について
qe-quality-metricsは、テストやエンジニアリング品質チーム向けに、指標の選定、ダッシュボード設計、品質ゲート設定を支援するスキルです。バグ流出率、MTTD、MTTRなどの成果と、活動量ではなく推移を重視します。
主な機能
- 01成果重視の品質指標の選定
- 02DORA指標と品質推移の追跡
- 03品質ゲートのしきい値設定
- 04品質ダッシュボードの設計
- 05虚栄指標の落とし穴の把握
活用シーン
- 01品質指標ダッシュボードの作成
- 02基準未達の変更を止めるゲート設定
- 03テスト有効性と流出不具合の評価
- 04期間ごとの品質推移の比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill qe-quality-metricsインストール後、Claude Code で/qe-quality-metricsを入力して読み込まれたか確認します。
詳細
品質メトリクス
<default_to_action> 品質を測定したり、ダッシュボードを構築したりする場合:
- 活動(テスト数)ではなく、成果(バグ流出率、MTTD)を測定します
- DORA メトリクスに注目します:デプロイ頻度、リードタイム、MTTD、MTTR、変更失敗率
- 見栄えだけのメトリクスは避けます:テストでバグを検出できなければ、カバレッジ 100% でも意味がありません
- 行動を促すしきい値を設定します(品質ゲートで問題のあるコードをブロックします)
- 経時的な傾向を追跡します:絶対値よりも方向性が重要です
メトリクスの簡易選択ガイド:
- 速度:デプロイ頻度、変更のリードタイム
- 安定性:変更失敗率、MTTR
- 品質:バグ流出率、欠陥密度、テスト有効性
- プロセス:コードレビュー時間、不安定なテストの割合
重要な成功要因:
- 行動につながらないメトリクスは見せかけです
- 測定するものが最適化されます
- スナップショットよりも傾向が重要です </default_to_action>
クイックリファレンスカード
使用する場面
- 品質ダッシュボードの構築
- 品質ゲートの定義
- テスト有効性の評価
- 品質への投資の正当化
意味のあるメトリクスと見栄えだけのメトリクス
| ✅ 意味のあるメトリクス | ❌ 見栄えだけのメトリクス |
|---|---|
| バグ流出率 | テストケース数 |
| MTTD(検出) | テストコードの行数 |
| MTTR(復旧) | テスト実行回数 |
| 変更失敗率 | カバレッジ %(単独) |
| 変更のリードタイム | トレースされた要件 |
DORA メトリクス
| メトリクス | エリート | 高 | 中 | 低 |
|---|---|---|---|---|
| デプロイ頻度 | オンデマンド | 毎週 | 毎月 | 毎年 |
| リードタイム | < 1 hour | < 1 week | < 1 month | > 6 months |
| 変更失敗率 | < 5% | < 15% | < 30% | > 45% |
| MTTR | < 1 hour | < 1 day | < 1 week | > 1 month |
品質ゲートのしきい値
| メトリクス | ブロックするしきい値 | 警告 |
|---|---|---|
| テスト合格率 | 100% | - |
| 重要箇所のカバレッジ | > 80% | > 70% |
| 重大なセキュリティ問題 | 0 | - |
| パフォーマンス p95 | < 200ms | < 500ms |
| 不安定なテスト | < 2% | < 5% |
コアメトリクス
バグ流出率
Bug Escape Rate = (Production Bugs / Total Bugs Found) × 100
Target: < 10% (90% caught before production)
テスト有効性
Test Effectiveness = (Bugs Found by Tests / Total Bugs) × 100
Target: > 70%
欠陥密度
Defect Density = Defects / KLOC
Good: < 1 defect per KLOC
平均検出時間(MTTD)
MTTD = Time(Bug Reported) - Time(Bug Introduced)
Target: < 1 day for critical, < 1 week for others
ダッシュボードの設計
// Agent generates quality dashboard
await Task("Generate Dashboard", {
metrics: {
delivery: ['deployment-frequency', 'lead-time', 'change-failure-rate'],
quality: ['bug-escape-rate', 'test-effectiveness', 'defect-density'],
stability: ['mttd', 'mttr', 'availability'],
process: ['code-review-time', 'flaky-test-rate', 'coverage-trend']
},
visualization: 'grafana',
alerts: {
critical: { bug_escape_rate: '>20%', mttr: '>24h' },
warning: { coverage: '<70%', flaky_rate: '>5%' }
}
}, "qe-quality-analyzer");
品質ゲートの設定
{
"qualityGates": {
"commit": {
"coverage": { "min": 80, "blocking": true },
"lint": { "errors": 0, "blocking": true }
},
"pr": {
"tests": { "pass": "100%", "blocking": true },
"security": { "critical": 0, "blocking": true },
"coverage_delta": { "min": 0, "blocking": false }
},
"release": {
"e2e": { "pass": "100%", "blocking": true },
"performance_p95": { "max_ms": 200, "blocking": true },
"bug_escape_rate": { "max": "10%", "blocking": false }
}
}
}
エージェント支援メトリクス
// Calculate quality trends
await Task("Quality Trend Analysis", {
timeframe: '90d',
metrics: ['bug-escape-rate', 'mttd', 'test-effectiveness'],
compare: 'previous-90d',
predictNext: '30d'
}, "qe-quality-analyzer");
// Evaluate quality gate
await Task("Quality Gate Evaluation", {
buildId: 'build-123',
environment: 'staging',
metrics: currentMetrics,
policy: qualityPolicy
}, "qe-quality-gate");
エージェント連携のヒント
メモリ名前空間
aqe/quality-metrics/
├── dashboards/* - Dashboard configurations
├── trends/* - Historical metric data
├── gates/* - Gate evaluation results
└── alerts/* - Triggered alerts
フリート連携
const metricsFleet = await FleetManager.coordinate({
strategy: 'quality-metrics',
agents: [
'qe-quality-analyzer', // Trend analysis
'qe-test-executor', // Test metrics
'qe-coverage-analyzer', // Coverage data
'qe-production-intelligence', // Production metrics
'qe-quality-gate' // Gate decisions
],
topology: 'mesh'
});
よくある落とし穴
| 落とし穴 | 問題 | 解決策 |
|---|---|---|
| カバレッジ偏重 | カバレッジ 100% でもバグが流出する | 代わりにバグ流出率を測定する |
| テスト数への注目 | テストが多く、フィードバックが遅い | 実行時間を測定する |
| 活動メトリクス | 忙しく作業していても、成果がない | 成果(MTTD、MTTR)を測定する |
| 一時点の数値 | 状況を踏まえないスナップショット | 経時的な傾向を追跡する |
関連スキル
- agentic-quality-engineering - エージェント連携
- cicd-pipeline-qe-orchestrator - 品質ゲート
- risk-based-testing - リスクに基づくメトリクス
- shift-right-testing - 本番環境のメトリクス
覚えておくこと
活動ではなく、成果を測定しましょう。 バグ流出率 > テスト数。MTTD/MTTR > カバレッジ %。スナップショットより傾向。問題のあるコードをブロックするゲートを設定しましょう。測定するものが最適化されます。
エージェントを活用する場合: エージェントはメトリクスを自動的に追跡し、傾向を分析し、アラートを発し、ゲートの判定を行います。継続的に品質を把握するために、エージェントを活用しましょう。
コメント
Markdown 対応