技術のメモ箱

ソフトウェアテスト/同値クラステスト

同値クラステストとは

同値クラスは、モジュールで同等に処理されるデータ、あるいは同じ結果を返すデータの集合を意味する。
同値クラスには以下のような条件がある。

・同値クラス内のあるテストケースで欠陥が検出された場合には、
 同じ同値クラスの他のすべてのテストケースで同じ欠陥が検出される。

・同値クラス内のあるテストケースで欠陥が検出されない場合には、
 同じ同値クラスの他のどのようなテストケースでも欠陥は検出されない。

同値クラスの手法を使うと、テストケースの数を削減できる。


サンプル

応募者の年齢にもとづいて雇用するかどうか判定する処理がある。
条件は以下のようになっている。

    if ( age >= 16 && age <= 17) {
        status = "パート";
    } else if ( age >= 18 && age <= 54) {
        status = "正社員";
    } else {
        status = "雇用しない";
    }


このモジュールを0,1,2,...,99という年齢をテストする必要はない。
範囲ごとに値を1つ選んでテストすればよい。

テストケース入力値
パート範囲16
正社員範囲35
範囲外0


このアプローチは同値クラスを定義する仕様書があることが前提である。
また実装がおかしくないことが前提。

pagetop