そのソフトウェアはちゃんと動きますか?どうやったら自信を持って動くと言えるのでしょうか?十分にテストをすれば、少なくともそのテストと同じ条件で動かした場合には動くと言えますね。テストに使う値の選び方について、適切に選べばテストケースを減らすことができます。
境界値分析
ある処理が、1から1000までの整数を入力にしているとします。この場合、境界となる値というのは以下になります。
- 0
- 1
- 1000
- 1001
受け付けてOKな範囲の一番小さい値と一番大きい値、それにそれぞれさらにひとつ外側の値です。これだけテストしておけば、とりあえずは安心です。
さらにもっと考えるとするならば、そのアーキテクチャによる境界も考えられます。例えば16 bit CPUを使っているなら、signed intは32767が最大値、32768は-1になります。ということで、システムの最大値や、負の値などもテストしたくなります。
- 0x7FFF
- 0x8000
- 0x7FFFFFFF
- 0x80000000
あらゆる条件をテストできればそれが一番安心ですが、現実問題そんなにテストできないよ、という場合、工夫をしてそれっぽいテストケースだけを確認することになります。できるだけ楽したいので、効率よくテストケースを選びましょう。
コメント