# e2e-testing > E2Eテスト設計・実装。クリティカルパス検証とユーザージャーニー保証。 - Author: Takumi - Repository: TakumiOkayasu/dotfile-work - Version: 20260122181545 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/TakumiOkayasu/dotfile-work - Web: https://mule.run/skillshub/@@TakumiOkayasu/dotfile-work~e2e-testing:20260122181545 --- --- name: e2e-testing description: E2Eテスト設計・実装。クリティカルパス検証とユーザージャーニー保証。 --- # E2E Testing ## トリガー - 新規機能のE2Eテスト作成 - ユーザージャーニーの検証 - リリース前の最終確認 --- ## 基本原則 **E2Eは最重要。最小限で最大カバレッジ。** | 項目 | 基準 | |------|------| | 件数 | 2-5件/エンドポイント | | 対象 | クリティカルパスのみ | | 実行時間 | 1件30秒以内目標 | --- ## 必須テストシナリオ ### Money関連(最優先) - 決済フロー完走 - 金額計算正確性 - 決済失敗リカバリ - 返金処理 ### Security関連(最優先) - 認証フロー - 認可チェック - セッション管理 - 不正アクセス拒否 ### コアユーザージャーニー - 登録→ログイン→主要機能→ログアウト - CRUD操作の完走 - エラー発生→リカバリ --- ## テスト設計チェックリスト ### 作成前 - [ ] Usefulness Score ≥15 を満たすか? - [ ] 既存テストと重複しないか? - [ ] クリティカルパスか? - [ ] 実装詳細に依存していないか? ### 作成中 - [ ] セレクタは安定か? (data-testid推奨) - [ ] 待機処理は適切か? (明示的wait) - [ ] テストデータは独立しているか? - [ ] クリーンアップ処理があるか? ### 作成後 - [ ] 3回連続成功するか? - [ ] 他テストと独立実行できるか? - [ ] 失敗時のエラーメッセージは明確か? --- ## 構造パターン ```typescript describe('E2E: [ユーザージャーニー名]', () => { beforeAll(async () => { // テストデータ準備 }); afterAll(async () => { // クリーンアップ }); it('should complete [critical path]', async () => { // Arrange: 初期状態セットアップ // Act: ユーザー操作シミュレート // Assert: 最終状態検証 }); }); ``` --- ## Flaky Test対策 | 原因 | 対策 | |------|------| | タイミング依存 | 明示的wait使用 | | データ競合 | テストごとにデータ分離 | | 外部依存 | モック/スタブ化 | | 環境差異 | Docker化 | **Flaky発生時**: 即座に修正 or 削除。放置禁止。 --- ## 禁止事項 - ❌ sleep/固定wait使用 - ❌ DOM構造依存セレクタ - ❌ テスト間のデータ共有 - ❌ 実装詳細の検証 - ❌ 5件超/エンドポイント - ❌ Usefulness Score < 15 のテスト --- ## ツール選定 | 用途 | 推奨 | |------|------| | Web UI | Playwright | | API | curl + jq / supertest | | Mobile | Detox / Appium | --- ## 品質ゲート | 指標 | 閾値 | |------|------| | 成功率 | 100% (99%でもNG) | | 実行時間 | 5分以内/スイート | | Flaky率 | 0% |