操作
バグ #584
未完了[子4] E2E試験実施
ステータス:
新規
優先度:
高め
担当者:
-
開始日:
2025-06-18
期日:
進捗率:
0%
予定工数:
説明
子チケット4: E2E試験実施¶
作業目的¶
本番環境での機材予約システム全機能のEnd-to-End試験を実施し、品質保証を完了
E2E試験内容¶
1. ユーザーシナリオ試験¶
シナリオ1: 新規ユーザー登録・初回予約
1. rental.call2arm.com アクセス
2. LINE WORKSでログイン(初回)
3. ユーザー情報確認・補完
4. ダッシュボード表示確認
5. 機材検索(カメラ機材)
6. 機材詳細確認
7. 新規予約作成
8. 予約確認通知受信(LINE WORKS Bot)
9. 予約一覧で確認
シナリオ2: 既存ユーザー・複数予約管理
1. LINE WORKSからワンクリックアクセス
2. 自動ログイン確認
3. 現在の予約状況確認
4. 新規予約作成(音響機材)
5. 既存予約の変更
6. 予約キャンセル
7. キャンセル通知確認
8. 予約履歴確認
シナリオ3: モバイル利用(LINE WORKSアプリ)
1. LINE WORKSアプリからアクセス
2. モバイル最適化UI確認
3. Bot経由での機材検索
4. クイック予約機能
5. タッチ操作での予約管理
6. 通知受信確認
シナリオ4: 管理者機能
1. 管理者権限でログイン
2. ユーザー管理機能
3. 機材管理(追加・編集・削除)
4. システム設定変更
5. レポート出力
6. 予約状況監視
2. 異常系・エラーハンドリング試験¶
認証エラー試験
- 無効なLINE WORKSアカウント
- トークン期限切れ
- 権限不足アクセス
- セッションタイムアウト
データ整合性試験
- 重複予約防止
- 同時編集競合
- データベース接続エラー
- トランザクション整合性
外部連携エラー試験
- LINE WORKS API障害
- 通知送信失敗
- Webhook受信エラー
- ネットワーク断線
3. パフォーマンス・負荷試験¶
レスポンス時間試験
- 画面表示: 3秒以内
- API応答: 1秒以内
- 検索処理: 2秒以内
- データベース操作: 500ms以内
同時アクセス試験
- 50ユーザー同時ログイン
- 100件同時検索
- 20件同時予約作成
- リソース使用量監視
データ量試験
- 1,000件機材データ
- 10,000件予約履歴
- 大量通知処理
- ファイルアップロード
4. セキュリティ試験¶
アクセス制御試験
- 社内IP制限確認
- 不正IP拒否確認
- 認証バイパス試行
- 権限昇格試行
インジェクション攻撃対策
- SQLインジェクション
- XSS(Cross-Site Scripting)
- CSRF(Cross-Site Request Forgery)
- コマンドインジェクション
データ保護試験
- 個人情報暗号化
- 通信内容暗号化(SSL/TLS)
- ログファイルセキュリティ
- データベースアクセス制御
5. 可用性・復旧試験¶
障害シミュレーション
- アプリケーション停止・復旧
- データベース障害・復旧
- ネットワーク障害・復旧
- サーバーリブート・復旧
バックアップ・復旧試験
- 自動バックアップ動作確認
- データ復旧手順確認
- 設定ファイル復旧確認
- 災害復旧時間測定
6. LINE WORKS連携専用試験¶
OAuth認証フロー
- 初回認証・既存認証
- マルチデバイス認証
- トークンリフレッシュ
- 認証エラー復旧
Bot機能試験
- 全コマンド動作確認
- 自然言語認識精度
- 応答時間測定
- エラー処理確認
通知システム試験
- 予約完了通知
- リマインダー通知(スケジュール確認)
- メンテナンス通知
- システム通知
試験環境・データ¶
本番環境: rental.call2arm.com
試験データ: 本番相当データセット
試験ユーザー: 各部署代表者5名
試験機材: 全カテゴリ各20件
試験期間: 本番稼働前48時間
自動化試験¶
Playwright E2Eスクリプト
// 主要シナリオ自動化
test('ユーザー登録から予約完了まで', async () => {
// LINE WORKSログイン
await page.goto('https://rental.call2arm.com');
await page.click('[data-testid="lineworks-login"]');
// OAuth認証フロー
await expect(page).toHaveURL(/auth\.worksmobile\.com/);
// 予約作成フロー
await page.fill('[data-testid="search-input"]', 'カメラ');
await page.click('[data-testid="search-button"]');
await page.click('[data-testid="reserve-button"]');
// 予約確認
await expect(page.locator('[data-testid="success-message"]')).toBeVisible();
});
合格基準¶
機能試験: 全シナリオ成功率100%
パフォーマンス: 全要件達成
セキュリティ: 脆弱性ゼロ
可用性: 99.9%以上
ユーザビリティ: 満足度80%以上
不具合対応¶
Critical: 即座修正・再試験
High: 24時間以内修正
Medium: 1週間以内修正
Low: 次回リリース対応
成果物¶
- E2E試験結果報告書
- 自動試験スクリプト一式
- 不具合管理表
- パフォーマンス測定結果
- 品質保証承認書
作業時間¶
8時間 (1営業日)
実施体制¶
- 試験実施: 開発チーム
- 品質確認: QAチーム
- 業務確認: ユーザー代表
- 技術確認: インフラチーム
完了条件¶
- 全試験項目の実施・合格
- 重大不具合ゼロ
- パフォーマンス要件達成
- ステークホルダー承認取得
- 本番稼働準備完了
Redmine Admin さんが1日前に更新
親チケット#580「機材予約システム VPS-root デプロイプロジェクト」の子チケットとして設定。
作業順序: 子チケット4/5 - E2E試験実施フェーズ
子チケット3(VPS-rootデプロイ実装)完了後に開始予定。
操作