| name | test-generator |
| description | テストコードの生成・追加・更新を行うスキル。テスト実装が必要な場面で使用:(1) 新機能のテスト作成、(2) バグ修正に対するテスト追加、(3) 既存テストの更新、(4) テストカバレッジ向上。ユーザーが「テストを書いて」「テストを追加」「テストを生成」などと依頼した場合に発動。 |
テスト生成スキル
テストコードを生成する際に従うべきワークフローを定義する。
ワークフロー概要
- テスト観点表を作成
- テストコードを実装
- 実行・カバレッジ確認
Step 1: テスト観点表の作成
テストコード実装前に、必ず Markdown 形式の「テスト観点表」を提示する。
必須列
| 列名 | 説明 |
|---|---|
| Case ID | TC-N-01(正常系)、TC-A-01(異常系)形式 |
| Input / Precondition | 入力値・前提条件 |
| Perspective | Equivalence(等価分割)/ Boundary(境界値) |
| Expected Result | 期待する結果 |
| Notes | 備考(省略理由など) |
網羅すべきケース
- 正常系: 主要シナリオ
- 異常系: バリデーションエラー、例外パス
- 境界値: 0, 最小値, 最大値, ±1, 空, NULL
- 不正な型・形式の入力
- 外部依存の失敗(API / DB 等)
境界値候補のうち仕様上意味を持たないものは Notes に理由を記載し省略可。
テンプレートと詳細例は references/templates.md を参照。
Step 2: テストコード実装
実装ポリシー
- テスト観点表のケースをすべて自動化テストとして実装
- 正常系と同数以上の失敗系を含める
- 分岐網羅率 100% を目標(達成困難な場合はビジネスインパクトの高い分岐を優先)
- 未カバー分岐がある場合は理由と影響を Notes や PR 本文に明示
Given / When / Then コメント
各テストケースに以下のコメントを付与:
// Given: 前提条件
// When: 実行する操作
// Then: 期待する結果/検証
例外・エラー検証
- 例外の型とメッセージを明示的に検証
- バリデーション系ではエラーコード・フィールド情報も確認
- 外部依存失敗はスタブ/モックで模擬
Step 3: 実行・カバレッジ確認
- テスト実行コマンドを記載(例:
npm run test,pytest --cov=...) - ブランチカバレッジ・ステートメントカバレッジを確認
- カバレッジレポートの要約を可能な範囲で添付
運用ルール
- 本ルールに適合しないテストはレビューで差し戻し対象
- 外部依存がなくてもモックで失敗系をテスト
- 仕様変更時はテスト観点表とテストコードを同時更新
- 自動化困難なケースは理由と代替手段を明記しレビュアと合意
適用除外
- 既存テストの軽微な修正(メッセージ調整、期待値微修正)で新しい分岐や制約が追加されない場合は、テスト観点表の作成・更新は任意