AI リグレッションテスト
AI 支援開発のために特別に設計されたテストパターン。同じモデルがコードを書いてレビューする場合、自動化されたテストのみが捕捉できる体系的なブラインドスポットが生まれます。
起動タイミング
- AI エージェント(Claude Code、Cursor、Codex)が API ルートまたはバックエンドロジックを修正した場合
- バグが見つかり修正された — 再発を防ぐ必要がある
- プロジェクトに DB フリーテストに活用できるサンドボックス/モックモードがある場合
- コード変更後に
/bug-checkまたは同様のレビューコマンドを実行する場合 - 複数のコードパスが存在する場合(サンドボックス対本番、機能フラグなど)
コアの問題
AI がコードを書いてその後自分の作業をレビューする場合、両方のステップに同じ前提を持ち込みます。これにより予測可能な障害パターンが生まれます:
AI が修正を書く → AI が修正をレビューする → AI が「正しく見える」と言う → バグはまだ存在する
実際の例(本番で観察された):
修正 1: API レスポンスに notification_settings を追加
→ SELECT クエリに追加するのを忘れた
→ AI がレビューして見逃した(同じブラインドスポット)
修正 2: SELECT クエリに追加
→ TypeScript ビルドエラー(生成された型に列がない)
→ AI が修正 1 をレビューしたが SELECT の問題を捕捉できなかった
修正 3: SELECT * に変更
→ 本番パスを修正、サンドボックスパスを忘れた
→ AI がレビューして再び見逃した(4 回目の発生)
修正 4: テストが最初の実行で即座に捕捉 PASS:
パターン:サンドボックス/本番パスの不一致が AI が導入するリグレッションの第 1 位。
サンドボックスモード API テスト
AI フレンドリーなアーキテクチャを持つほとんどのプロジェクトにはサンドボックス/モックモードがあります。これが高速な DB フリー API テストの鍵です。
セットアップ(Vitest + Next.js App Router)
// vitest.config.ts
import { defineConfig } from "vitest/config";
import path from "path";
export default defineConfig({
test: {
environment: "node",
global…