同値分割は「出力値の」違いに着目してテストを分割する方法
境界値分割は「入力値の」境界に着目して、境界とその前後あたりの場合のテストを行うこと
ここで、入力が同じであれば、出力は、乱数とか使わない限り、同じである。
っていうことは、同値分割で違いがあるということは、入力値が違うはずである
入力値が違うケースは境界値分割でケースが網羅されているはずである。
つまり、「境界値チェック」を完璧にすれば、例外系とかは別だけど、
「同値チェック」のケースはどこかでやっているので、
同値チェックはいらないんじゃないのかという考えが成り立つ
・・・同値チェックはしなくていい?しらなくていい?
この混乱は、フェーズの違いを意識してないから、起こる
同値チェックがうまくいっていない状態で、境界値チェックをしても、
同値チェックで、うまくいっていない状態は、境界値でうまくいくはずがない。
なので、簡単な同値チェックをさきにやり、同値ケースはバグがないことを保証してから、
境界値チェックを行う。
具体的には、出力値から入力値を推測するのは大変なので、デバッガ使って出力値のテストができる、
単体テストで、同値ケースをつぶして置き
境界値チェックは入力なので、外部からデータが入れられる=ブラックボックスで十分なので
結合テストで画面入力から、境界値チェックを行う