coverage について
アプリのテスト対象と既存テストを照合し、カバレッジを推定して不足箇所に優先順位を付けるテストスキルです。テスト数、テンプレート、工数も提案し、必要に応じて `/pw:generate` でテストを生成できます。
主な機能
- 01ルート、コンポーネント、API、フローの整理
- 02テストとアプリ領域の対応付け
- 03カバレッジマトリクスの作成
- 04業務への影響に基づく不足箇所の順位付け
- 05テスト計画の提案と生成オプション
活用シーン
- 01リリース前に未テストのルートを特定
- 02重要なフローのテスト優先度を決定
- 03カバレッジ不足の工数とテンプレートを計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill coverageインストール後、Claude Code で/coverageを入力して読み込まれたか確認します。
詳細
テストカバレッジのギャップを分析する
アプリケーション内のテスト可能なすべての領域をマッピングし、テスト済みの領域と不足している領域を特定します。
手順
1. アプリケーションの領域をマッピングする
Explore サブエージェントを使用して、次の項目をカタログ化します。
ルート/ページ:
- ルート定義をスキャンします(Next.js の
app/、React Router の設定、Vue Router など) - ユーザー向けのページをすべてパスとともに列挙します
コンポーネント:
- インタラクティブなコンポーネント(フォーム、モーダル、ドロップダウン、テーブル)を特定します
- 複雑な状態ロジックを持つコンポーネントを記録します
API エンドポイント:
- API ルートファイルまたはバックエンドのコントローラーをスキャンします
- すべてのエンドポイントをメソッドとともに列挙します
ユーザーフロー:
- 重要な経路を特定します:認証、チェックアウト、オンボーディング、コア機能
- 複数ステップのワークフローをマッピングします
2. 既存のテストをマッピングする
すべての *.spec.ts/*.spec.js ファイルをスキャンします。
page.goto()の呼び出しから、カバーされているページ/ルートを抽出します- ロケーターの使用状況から、テストされているコンポーネントを抽出します
- モックまたは呼び出しされている API エンドポイントを抽出します
- 領域ごとのテスト数を数えます
3. カバレッジマトリックスを生成する
## Coverage Matrix
| Area | Route | Tests | Status |
|---|---|---|---|
| Auth | /login | 5 | ✅ Covered |
| Auth | /register | 0 | ❌ Missing |
| Auth | /forgot-password | 0 | ❌ Missing |
| Dashboard | /dashboard | 3 | ⚠️ Partial (no error states) |
| Settings | /settings | 0 | ❌ Missing |
| Checkout | /checkout | 8 | ✅ Covered |
4. ギャップの優先順位を決める
ビジネスへの影響に基づいて、未カバーの領域をランク付けします。
- 重大 — 認証、決済、コア機能 → 最初にテストします
- 高 — ユーザー向けの CRUD、検索、ナビゲーション
- 中 — 設定、環境設定、エッジケース
- 低 — 静的ページ、概要、利用規約
5. テスト計画を提案する
ギャップごとに、次の内容を提案します。
- 必要なテスト数
- 使用する
templates/内のテンプレート - 推定工数(簡単/中程度/複雑)
## Recommended Test Plan
### Priority 1: Critical
1. /register (4 tests) — use auth/registration template — quick
2. /forgot-password (3 tests) — use auth/password-reset template — quick
### Priority 2: High
3. /settings (4 tests) — use settings/ templates — medium
4. Dashboard error states (2 tests) — use dashboard/data-loading template — quick
6. 自動生成(任意)
ユーザーに「優先度の高い上位 N 件のギャップに対するテストを生成しますか?[はい/いいえ/個別に選択]」と尋ねます。
「はい」の場合、推奨テンプレートを指定して、ギャップごとに /pw:generate を呼び出します。
出力
- カバレッジマトリックス(テーブル形式)
- カバレッジ率の推定値
- 工数の見積もりを含む、優先順位付けされたギャップの一覧
- 不足しているテストを自動生成するオプション
コメント
Markdown 対応