Back to list
TakumiOkayasu

test-quality-audit

by TakumiOkayasu

dotfiles for work

0🍴 0📅 Jan 23, 2026

SKILL.md


name: test-quality-audit description: テストスイートの品質監査。Usefulness Score評価と削除候補特定。

Test Quality Audit

トリガー

  • テストスイートのレビュー依頼
  • テスト実行時間が長い
  • Flaky testが発生
  • 新規参画者のオンボーディング

監査プロセス

1. 全テスト一覧化
2. Usefulness Score算出
3. カテゴリ分類
4. 削除候補特定
5. 改善提案

Usefulness Score評価

計算式

Score = Impact(1-5) × Probability(1-5)

判定基準

スコア判定アクション
≥20CRITICAL必須維持、最優先修正
15-19KEEP維持
10-14REVIEW再検討、統合検討
<10REMOVE削除候補

監査チェックリスト

1. ビジネス価値監査

  • テストはビジネスロジックを検証しているか?
  • フレームワーク機能のテストではないか?
  • ユーザー価値に直結するか?

NG例:

  • it('should render component') → フレームワークテスト
  • it('should call useEffect') → 実装詳細テスト

2. 重複監査

  • 同じ振る舞いを複数テストしていないか?
  • E2Eで担保されているのにUnitでも書いていないか?
  • 統合可能なテストがないか?

3. 信頼性監査

  • Flaky testはないか?
  • 環境依存テストはないか?
  • 実行順序依存はないか?

Flaky判定: 10回実行で1回でも異なる結果 = Flaky

4. 保守性監査

  • テスト名から意図が分かるか?
  • 失敗時の原因特定が容易か?
  • テストデータは明確か?

5. パフォーマンス監査

  • 実行時間は許容範囲か?
  • 不要なsetup/teardownはないか?
  • 並列実行可能か?

削除対象パターン

即時削除

パターン理由
フレームワークテストフレームワークの責務
ゲッター/セッターテスト価値なし
コンストラクタテスト価値なし
モック検証のみ実装詳細
常に成功するテスト意味なし

検討後削除

パターン条件
重複テスト上位層で担保済み
古いテスト対応機能が削除済み
複雑すぎるテスト保守コスト > 価値

監査レポートフォーマット

# テスト品質監査レポート

## サマリー

| 指標 | 値 |
|------|-----|
| 総テスト数 | X |
| CRITICAL (≥20) | X |
| KEEP (15-19) | X |
| REVIEW (10-14) | X |
| REMOVE (<10) | X |

## 削除推奨

| テスト | スコア | 理由 |
|--------|--------|------|
| test_xxx | 6 | フレームワークテスト |

## 改善推奨

| テスト | 現スコア | 改善案 |
|--------|----------|--------|
| test_yyy | 12 | 境界値追加で15+ |

## カバレッジギャップ

| 領域 | 現状 | 必要 |
|------|------|------|
| Money | 18 | 20+ |

自動監査ルール

# .github/workflows/test-audit.yml
rules:
  - name: no-framework-tests
    pattern: "expect.*toBeInTheDocument|toBeDefined"
    action: warn

  - name: no-implementation-details
    pattern: "toHaveBeenCalledWith.*internal"
    action: warn

  - name: no-flaky-tests
    pattern: "retry|flaky|skip"
    action: error

禁止事項

  • ❌ 監査なしのテスト追加
  • ❌ スコア未記載のテスト
  • ❌ 削除候補の放置
  • ❌ Flakyテストの許容
  • ❌ フレームワークテストの維持

品質ゲート

指標閾値
REMOVE比率<5%
Flaky率0%
平均スコア≥15
カバレッジギャップ0

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon