ソフトウェアテスト/同値クラステスト
同値クラスは、モジュールで同等に処理されるデータ、あるいは同じ結果を返すデータの集合を意味する。
同値クラスには以下のような条件がある。
・同値クラス内のあるテストケースで欠陥が検出された場合には、
同じ同値クラスの他のすべてのテストケースで同じ欠陥が検出される。
・同値クラス内のあるテストケースで欠陥が検出されない場合には、
同じ同値クラスの他のどのようなテストケースでも欠陥は検出されない。
同値クラスの手法を使うと、テストケースの数を削減できる。
応募者の年齢にもとづいて雇用するかどうか判定する処理がある。
条件は以下のようになっている。
if ( age >= 16 && age <= 17) {
status = "パート";
} else if ( age >= 18 && age <= 54) {
status = "正社員";
} else {
status = "雇用しない";
}
このモジュールを0,1,2,...,99という年齢をテストする必要はない。
範囲ごとに値を1つ選んでテストすればよい。
テストケース | 入力値 |
---|---|
パート範囲 | 16 |
正社員範囲 | 35 |
範囲外 | 0 |
このアプローチは同値クラスを定義する仕様書があることが前提である。
また実装がおかしくないことが前提。