正常系、異常系、Positive Test、Negative Test、Abnormal Test の違い
ややこしかったので整理した。
端的にまとめると
- 正常系 = Positive Test
- 異常系 = Negative Test = Abnormal Test
- 正常とは何か、異常とは何かの一意な答えはない(PJ/製品/チーム次第)ので、チーム間で認識を合わせるべし
Google先生に訊いてみた
- 異常系テストとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
- 「起こり得るけど想定外」なことをいかに試すか、ということ
- 異常系とは何であるか考えよう|悪態のプログラマ
- エラーハンドリングがちゃんと働いてるか確かめること or 開発者が想定していない事象を発生させてどうなるか見てみること
- What is Negative Testing | Automated Testing Tutorials
- 無効な入力や予期せぬユーザーの振る舞いを正しくハンドリングできてることを確かめること
他にも調べれば腐るほど出てくるけど、解釈は以下の二通り、
- 1: 実装されてるエラーハンドリングが働くか調べる
- 2: 実装されてないポイントや想定外の事象を突いてみて、どうなるか調べる
に分かれるんだなぁという所感。
Negative Test と Abnormal Test の違い
同義語っぽい。確たる違いを述べたソースが見当たらないので。
認識を合わせるとは?
認識が合ってないと、極端な例ではこんなことが起こる。
- A君「僕の主観で異常と扱われるべきデータ入力や操作を一通り試してみたよ、結果はこのファイルにまとめてるよ」
- B君「エラーハンドリングに関する仕様を提供してもらってない&そういう資料もないみたいなので、異常系は試してませんよ?」
A君は、エラーハンドリングに関する仕様とかテスト用ガイドラインがあるのに、勝手に突っ走ったせいで自分の努力が無駄になってしまうかもしれない。B君は、テスターの主観で見てほしかった依頼主から「サボってる」と評されてしまうかもしれない。
A君のやり方でいいのか、B君のやり方なのか、はたまた別の何かか。確認するべし。また、存在しないなら決めるべし。