← Back to list

e2e-testing
by TakumiOkayasu
dotfiles for work
⭐ 0🍴 0📅 Jan 23, 2026
SKILL.md
name: e2e-testing description: E2Eテスト設計・実装。クリティカルパス検証とユーザージャーニー保証。
E2E Testing
トリガー
- 新規機能のE2Eテスト作成
- ユーザージャーニーの検証
- リリース前の最終確認
基本原則
E2Eは最重要。最小限で最大カバレッジ。
| 項目 | 基準 |
|---|---|
| 件数 | 2-5件/エンドポイント |
| 対象 | クリティカルパスのみ |
| 実行時間 | 1件30秒以内目標 |
必須テストシナリオ
Money関連(最優先)
- 決済フロー完走
- 金額計算正確性
- 決済失敗リカバリ
- 返金処理
Security関連(最優先)
- 認証フロー
- 認可チェック
- セッション管理
- 不正アクセス拒否
コアユーザージャーニー
- 登録→ログイン→主要機能→ログアウト
- CRUD操作の完走
- エラー発生→リカバリ
テスト設計チェックリスト
作成前
- Usefulness Score ≥15 を満たすか?
- 既存テストと重複しないか?
- クリティカルパスか?
- 実装詳細に依存していないか?
作成中
- セレクタは安定か? (data-testid推奨)
- 待機処理は適切か? (明示的wait)
- テストデータは独立しているか?
- クリーンアップ処理があるか?
作成後
- 3回連続成功するか?
- 他テストと独立実行できるか?
- 失敗時のエラーメッセージは明確か?
構造パターン
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% |
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon