テストケースを大まかに分類すると 「正常系」「異常系」「準正常系」 に分類することができます。
それぞれの意味は↓です。画像アップロード機能を例として挙げると
-
正常系
- 想定内の入力をした時に想定通りの出力ができることの確認
- 例) 正常に画像をアップロードできることを確認する
- 想定内の入力をした時に想定通りの出力ができることの確認
-
異常系
- 想定外の入力をした時の挙動の確認(想定外エラーの確認)
- 例) 画像アップロード中にネットワークエラーの時の挙動を確認する
- 想定外の入力をした時の挙動の確認(想定外エラーの確認)
-
準正常系
- 想定外の入力ではあるが、想定通りの出力ができることの確認(想定内エラーの確認)
- 例)想定外の拡張子をアップロードした時のエラー挙動を確認する
- 想定外の入力ではあるが、想定通りの出力ができることの確認(想定内エラーの確認)
異常系や準正常系に目を向けてテストケースを作成するようにすると網羅的なテストができるようになります。また、異常系や準正常系についてテストパターンが膨大になる場合は同値分割の考え方を応用して代表値の入力パターンを考えるようにすると少ないテストケースで網羅的な可能になります。
組込み系ソフトウェア/ミドルウェアの開発では極力異常系パターンは減らしたいので仕様設計の段階で準正常系のパターンを決め込んでいく⇨全パターンテストする、ことが多かったです。