ai-generated-ut-code-review について
AI生成の単体テストを、カバレッジ、アサーション、境界ケース、決定性、保守性の観点から評価するレビュー用スキルです。スコア、リスクレベル、根拠付きの必須修正項目を提示します。
主な機能
- 015項目を0~10点で評価
- 02カバレッジ80%を基準化
- 03アサーションと境界ケースを確認
- 04決定性と分離性を評価
- 05リスクレベルと根拠を提示
活用シーン
- 01AI生成単体テストのレビュー
- 02弱い、または欠落したアサーションの発見
- 03マージ前のカバレッジ確認
- 04リスクに応じたテスト修正の優先付け
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ openharmonyinsight/ openharmony-skills --skill ai-generated-ut-code-reviewインストール後、Claude Code で/ai-generated-ut-code-reviewを入力して読み込まれたか確認します。
詳細
AI UT コードレビュー
概要
AI が生成したユニットテストについて、有効性、カバレッジ、アサーション、異常系、決定性、保守性をレビューします。0〜10 のスコア、リスクレベル、必須修正チェックリストを出力します。全体の行カバレッジは 80% 以上でなければなりません。それを下回る場合、リスクは少なくとも「高」とします。
使用する場面
- AI が生成した UT/テストコードのレビューや品質評価
- スコア、リスクレベル、必須修正チェックリストが必要な場合
- カバレッジやアサーションの妥当性に関する質問
ワークフロー
- テスト対象が意図されたビジネスコードと主要な処理経路であることを確認します。
- 全体の行カバレッジを確認します(80% 以上が必須)。
- アサーションが動作の妥当性を検証しているかを調べ、不足または効果のないアサーションを指摘します。
- 異常系/エッジケースと決定性を確認します(環境や時間に依存しないこと)。
- 評価基準に基づいて採点し、リスクを割り当て、根拠とともに必須修正項目を列挙します。
採点(0〜10)
各評価項目は 0〜2 点です。合計が総合スコアです。
| 評価項目 | 0 | 1 | 2 |
|---|---|---|---|
| カバレッジ | 80% 未満 | 80% 以上だが浅い | 80% 以上で意味のあるカバレッジ |
| アサーションの品質 | アサーションがない/無効 | 弱いアサーションが一部ある | 動作に基づいたアサーション |
| 異常系とエッジケース | 不足 | 部分的 | 網羅的 |
| データと分離性 | 不安定/環境に依存 | 混在 | 決定的で分離されている |
| 保守性 | 読みにくく変更しにくい | 品質にばらつきがある | 明確な構成と命名 |
リスクレベル
- ブロッカー:カバレッジが 80% 未満で主要な処理経路が未テスト、または意味のあるアサーションがない
- 高:カバレッジが 80% 未満、またはアサーションの大部分が効果的でない
- 中:カバレッジに問題はないが、エッジケースが弱い、または設計が壊れやすい
- 低:軽微な改善点
必須修正チェックリスト
- 全体の行カバレッジが 80% 以上
- 各テストに動作に関連するアサーションが少なくとも 1 つある
- 主要なロジックに異常系/例外ケースがある
- テストが決定的で、繰り返し実行できる
AI 生成テストでよくある問題(明示的に確認)
- アサーションがない、または動作に関係のないアサーション(例:null でないことだけを確認)
- 過剰なモックにより実際の動作が隠れている
- 正常系しかカバーしていない
- テストが時間/ネットワーク/環境に依存している
- 副作用の検証が不足している
出力形式(必須、準固定)
Score: x/10 — Coverage x, Assertion Quality x, Negative & Edge x, Data & Isolation x, Maintainability xRisk: Low/Medium/High/Blocker — 理由の簡潔な説明(1 行)Must-fix:- [対応 + 根拠]
- [対応 + 根拠]
Key Evidence:- 具体的なテストケース名またはカバレッジレポートの要約を引用(1〜2 件)
Notes:- 最小限の修正案または代替案(1〜2 行)
ルール:
- カバレッジが 80% 未満の場合、リスクは少なくとも High とし、
Must-fixに必ず記載します。 - アサーションがない/無効な場合は、リスクレベルを直接引き上げ、
Must-fixに必ず記載します。 - 根拠を少なくとも 2 件示します。根拠が不足している場合はその旨を説明し、スコアを下げます。
よくある間違い
- カバレッジだけを報告し、アサーションの有効性を評価しない
- ログ出力をアサーションとして扱う
- 失敗経路/例外経路を見落とす
例(簡潔版)
Score: 5/10 (Coverage 1, Assertion 0, Negative 1, Data 2, Maintainability 1) Risk: High Must-fix:
parseConfig()のテストに動作を検証するアサーションがない(ログのみ)- 不正な入力に対する異常系テストがない Key Evidence:
parseConfig()のテストはクラッシュしないことしか確認していない- カバレッジレポートでは行カバレッジが 62% Notes:
- 出力と副作用に対するアサーションを追加し、不正な入力のテストを追加します。
コメント
Markdown 対応