同値テスト
同値とはテスト的に同じ意味になること。以下の例をご覧ください。
if (a == 1) {}
elif (a == 10) {}
else {}
こちらの例ではa=3
とa=5
はどちらもelseの中で処理されるため、テストの観点から見ると同じになるので、同値クラスという。同じ意味になるため、同値クラスに付き一つのテストケースを用意したら良い。
境界値テスト
境界値テストとは、同値クラスの境界と、その前後を調べるテストのことを言います。
境界値にはバグが潜みやすく、それを見逃さないためにも境界値周辺を入念に調べる必要があります。
最後に
テストを行う上で重要なのは欠陥の検出は一つずつ行うことです。以下の例を見てみましょう。
if test >= 9 {正しい処理}
if test > 9 {間違っている処理}
下の条件の場合、test=9
の処理を行うとif文の条件が間違っていることには気が付きますが、if文のブロック内の処理が間違っていることには気が付きません。このように欠陥は別の欠陥を隠してしまう恐れがあるため、欠陥の検出は一つずつ行う必要があります。