異常系テストの概念
異常系テストは、システムが予期しない状況下でどのように動作するかを検証するテスト。システム全体の堅牢性やエラーハンドリング能力を高めるために、通常の操作では発生しないような異常状態をシミュレーションし、問題が発生した場合の対応を確認する。これにより、システムの信頼性を確保することができる。
前提:なるべく早いテストフェーズで行う
項目 | 〇/× |
・ハードウェアが破損したら? | |
・通信経路が断たれたら? | |
・OSに異常が発生したら? | |
・Webサーバに異常が発生したら? | |
・連携先のシステムが停止していたら? | |
・予想以上のアクセスがあったら? | |
・予想以上のサイズのファイルがアップロードされたら? | |
・数値入力欄に想定していない精度の数値を入力されたら? | |
・ユーザが想定外のオペレーションを行ったら? | |
・予定していない種類のブラウザを使用されたら? | |
・etc |
単体テスト時:
・入力欄に予想外の値を入力
・DBに繋がっていない(結合でまとめてやる?)
・セッション切れ(結合でまとめてやる?)
・権限が無い(結合でまとめてやる?)
など
単体テストと結合テストにおける異常系テスト
単体テストでは、個々のコンポーネントに対して異常入力や例外処理をテストする。結合テストでは、システム全体が異常事態に対応できるかを確認する。例えば、データベース接続が切れた際に、システム全体にどのような影響が出るかを確認する必要がある。
テスト実施のタイミング
異常系テストは、なるべく早い段階で実施することが推奨される。初期段階で問題を発見し、修正することで、後のテストフェーズでの大きな障害を防ぐことができる。単体テストで基本的な異常動作を確認し、結合テストで全体的な影響範囲をテストするのが一般的。