--- name: qa-level-assessment description: | QAテストレベルを判定するスキル。ストーリー説明文、コード差分、対話形式を組み合わせて総合的にリスクを評価し、適切なQAレベルを提案する。 以下の場面で使用: - PRのQAレベルを判定したい時 - テスト実施者・ダブルチェックの必要性を判断したい時 - テスト観点レビューのレベルを決めたい時 「QA判定」「テストレベル」「リスク評価」などでも呼び出し可能。 --- # QAレベル判定スキル PRやストーリーのQAテストレベルを判定するためのワークフロー。 ## ワークフロー概要 ``` Phase 1: 情報収集 ↓ Phase 2: リスク評価・スコア計算 ↓ Phase 3: QAレベル判定・出力 ``` --- ## Phase 1: 情報収集 以下の情報を収集する。ユーザーが提供していない場合は質問する。 ### 必須情報 1. **ストーリー/変更の概要** - 何を変更するのか - 変更の目的・背景 2. **コード差分**(あれば) - PR URLまたは差分内容 - 変更ファイル一覧 ### 質問テンプレート ユーザーへの質問例: ``` QAレベルを判定するため、以下について教えてください: 1. この変更の概要を教えてください(何を、なぜ変更するのか) 2. PR URLまたは変更内容を共有いただけますか? 3. 以下のリスク観点について該当するものはありますか? - 決済・課金に関わる処理 - 個人情報・機密データの取り扱い - 外部システムとの連携 - DBスキーマの変更 - 認証・認可の変更 ``` --- ## Phase 2: リスク評価 収集した情報から以下を評価する。詳細な判定基準は `references/criteria.md` を参照。 ### 不具合発生可能性(係数1-3) | レベル | 係数 | 条件 | |--------|------|------| | 低 | 1 | 文言修正、設定値変更、単純なUI修正 | | 中 | 2 | ロジック変更、API修正、DB操作あり | | 高 | 3 | 複数機能にまたがる変更、新機能追加 | ### リスク観点(該当で+1〜+3) | 観点 | 係数 | 説明 | |------|------|------| | 決済・課金 | +3 | 金銭的損失リスク | | 個人情報 | +3 | 漏洩時の法的リスク | | 外部連携 | +2 | 障害の波及リスク | | DBスキーマ変更 | +2 | データ整合性リスク | | 認証・認可 | +2 | セキュリティリスク | | 広範囲影響 | +1 | 複数機能への影響 | ### スコア計算 ``` 総合スコア = 不具合発生可能性係数 × (1 + Σリスク観点係数) ``` --- ## Phase 3: QAレベル判定 ### 判定早見表 | スコア | リスクレベル | テスト実施者 | ダブルチェック | テスト観点レビュー | |--------|--------------|--------------|----------------|-------------------| | 1-2 | 低 | 実装者以外 | なし | 観点作成者以外ならOK | | 3-5 | 中 | 実装者以外 | あり(実装者可) | 別担当者必須 | | 6-9 | 高 | QA担当 | あり(QA担当) | QAリード確認必須 | | 10+ | 最高 | QAリード | 複数人確認 | チーム全体レビュー | --- ## 出力フォーマット 判定結果は以下の形式で出力する: ``` ## QAレベル判定結果 **総合スコア:** X点 **リスクレベル:** 低/中/高/最高 ### 判定内訳 | 項目 | 評価 | |------|------| | 不具合発生可能性 | 低/中/高(係数X) | | 決済・課金リスク | なし/あり(+X) | | 個人情報リスク | なし/あり(+X) | | 外部連携リスク | なし/あり(+X) | | DBスキーマ変更 | なし/あり(+X) | | 認証・認可変更 | なし/あり(+X) | | 広範囲影響 | なし/あり(+X) | ### 推奨QA体制 - **テスト実施:** XXXX - **テスト観点レビュー:** XXXX - **テスト実施者:** XXXX - **ダブルチェック:** XXXX ### 補足コメント (必要に応じて特記事項を記載) ``` --- ## 使用例 ### 例1: 低リスクの変更 **入力:** > 「ボタンの文言を『送信』から『確定』に変更するPRです」 **判定:** - 不具合発生可能性: 低(係数1) - リスク観点: なし - 総合スコア: 1点 **出力:** ``` テスト実施:低(正常系のみ) テスト観点レビュー:低(観点作成者以外ならOK) テスト実施者:実装者以外 ダブルチェック:なし ``` ### 例2: 高リスクの変更 **入力:** > 「決済処理のタイムアウト値を変更し、リトライロジックを追加するPRです」 **判定:** - 不具合発生可能性: 中(係数2) - リスク観点: 決済・課金(+3) - 総合スコア: 2 × (1 + 3) = 8点 **出力:** ``` テスト実施:高(正常系・異常系・境界値) テスト観点レビュー:高(QAリード確認必須) テスト実施者:QA担当 ダブルチェック:あり(QA担当) ```