今回はECサイトの購入機能を例にテストケースの実例を見ていきます。
🎯 前提:ECサイト購入フロー
- 商品選択
- カート追加
- 購入手続き
- 決済
- 注文完了
❌ ダメなテスト
✅ 良いテストケース(実務レベル)
🟢 ① 正常系
| No |
条件 |
操作 |
期待結果 |
| 1 |
正常購入 |
商品選択→購入 |
注文完了 |
| 2 |
複数商品 |
2商品購入 |
合計金額が正しい |
🔴 ② 異常系(基本)
| No |
条件 |
操作 |
期待結果 |
| 3 |
在庫切れ |
在庫0の商品購入 |
エラー表示 |
| 4 |
不正数量 |
数量マイナス |
エラー |
| 5 |
必須未入力 |
住所未入力 |
エラー |
🟡 ③ 境界値(超重要)
| No |
条件 |
操作 |
期待結果 |
| 6 |
最小購入数 |
1個購入 |
正常 |
| 7 |
最大購入数 |
上限数量 |
正常 or 制限 |
| 8 |
在庫ギリギリ |
在庫=購入数 |
正常 |
🔵 ④ 状態遷移
| No |
条件 |
操作 |
期待結果 |
| 9 |
カート→購入 |
カートから遷移 |
正常遷移 |
| 10 |
購入途中離脱 |
戻るボタン |
状態保持 or 破棄 |
| 11 |
二重購入 |
連打 |
1回のみ処理 |
🟣 ⑤ 決済系(重要・事故多い)
| No |
条件 |
操作 |
期待結果 |
| 12 |
決済成功 |
正常決済 |
注文確定 |
| 13 |
決済失敗 |
カードNG |
エラー |
| 14 |
通信エラー |
決済中断 |
再試行 or 中断 |
| 15 |
二重決済防止 |
再送信 |
1回のみ課金 |
🟠 ⑥ データ整合性
| No |
条件 |
操作 |
期待結果 |
| 16 |
在庫減少 |
購入後 |
在庫減る |
| 17 |
注文履歴 |
購入後 |
履歴に表示 |
| 18 |
金額一致 |
DB確認 |
フロントと一致 |
⚫ ⑦ セキュリティ
| No |
条件 |
操作 |
期待結果 |
| 19 |
改ざん |
金額書き換え |
無効 |
| 20 |
不正アクセス |
他人注文閲覧 |
不可 |
⚪ ⑧ パフォーマンス
| No |
条件 |
操作 |
期待結果 |
| 21 |
高負荷 |
同時購入 |
正常処理 |
| 22 |
レスポンス |
購入処理 |
数秒以内 |
🧠 このテストで差がつくポイント
① 決済まわりを重視
👉 ここは事故ると致命的
② 状態遷移を見ている
👉 ECは「状態」がすべて
③ データ整合性を確認
👉 表示とDBが一致しているか
④ 二重処理を潰している
👉 実務で超重要
🎯 テスト観点まとめ(そのまま使える)
ECなら必ず見る👇
- 在庫
- 金額
- 状態遷移
- 決済
- 同時処理
- データ整合性
- セキュリティ
⚠️ よくある失敗
- 決済テストが甘い
- 二重処理を見ない
- 在庫の同時更新を無視
- フロントだけ確認
👉 これで本番事故る