CTS-KB

E2E テスト

いーとぅーいーてすと

E2E Test End-to-End Test エンドツーエンドテスト システムテスト System Test
#テスト #テストレベル #E2E #フロントエンド

End-to-End — ユーザーが実際にアプリを操作する流れをそのまま再現し、システム全体が正しく動くかを検証するテスト。

概要

E2E テストは ブラウザやモバイルアプリを自動操作 し、UI からデータベース・外部 API までを通したシナリオを検証する。 ユーザー視点での「動く」 を保証する最も上位のテスト。

観点E2E テストの特徴
対象アプリケーション全体(UI + バックエンド + DB + 外部 API)
速度数秒〜数十秒 / 1 件
件数の目安数十(ハッピーパス中心)
外部依存本番に近い環境を構築
主な検証ユーザーシナリオ / クリティカルパス

代表的なツール

ツール特徴
PlaywrightMicrosoft 製、複数ブラウザ対応、最新世代の定番
CypressDX に優れた E2E フレームワーク、デバッグ画面が強い
Selenium / WebDriver古典、複数言語対応
PuppeteerChrome/Chromium 専用、ヘッドレス操作

「ハッピーパスのみ網羅」が定石

E2E は実行コストが高い。 すべてのケースを E2E で検証しようとすると CI が破綻 する。エッジケースは下位レベル(結合テスト単体テスト)に任せ、E2E は 「業務上の主要シナリオが動く」ことだけを担保 する。

カバーすべきカバーしなくてよい
主要業務フロー(注文・決済・ログイン)バリデーションのエラー表示
重要画面の表示細かい入力パターン
課金・通知などお金が絡む処理内部ロジックの分岐網羅

AI 駆動開発との関係

E2E テストは AI に任せにくい レイヤー:

課題理由
UI 変更で頻繁に壊れるセレクタが変わる、レイアウトが変わる
デバッグが難しい失敗してもスクリーンショットを見ないと原因不明
実行が遅いAI ループの速度を落とす

人間が骨組みとセレクタ戦略を決めて、AI には個別シナリオの実装を任せる のが現実解。data-testid などの安定セレクタを徹底すると AI 生成コードの保守性が上がる。

関連記事

関連用語