デシジョンテーブル(決定表)テストについて
デシジョンテーブルテスト(Decision Table Testing)とは
デシジョンテーブルテストとは
デシジョンテーブルテストとは、デシジョンテーブルを使用して、入力条件の組み合わせと対応する出力結果を設計するテスト技法です。
この技法は、複数の条件が絡み合い、入力する条件の組み合わせによって実行結果が変わるようなシステムをテストする場合に有効です。
デシジョンテーブルテストは、ブラックボックステスト技法のひとつです。
なお、デシジョンテーブルは、日本産業規格のJIS X 0125:1986において「決定表」と規定されており、「決定表テスト」と呼ばれることもあります。
デシジョンテーブル(決定表)とは
デシジョンテーブルとは、入力と出力を洗い出して、マトリクス上に一覧化した表のことです。
入力とは対象が取り得る条件のことであり、出力とは入力に対する結果のことです。
デシジョンテーブルを見れば、システムが条件・選択肢の組合せによってどのような処理を行うべきか、容易に把握できます。
デシジョンテーブルの作り方
1.条件記述部と動作記述部を記述する
仕様を分析して、条件と結果(動作)を洗い出します。
条件記述部は条件の一覧であり、動作記述部は動作の一覧となります。
2.条件指定部を記述する
条件指定部とは、条件の組み合わせを記述する箇所です。
条件を満たす場合は「Y」、不成立の場合は「N」を記入します。
ここでは、必ず全ての組み合わせを記述します。
この組み合わせに漏れがあると、テストケースが網羅できません。
なお、一般的には、条件指定部の列数は2の累乗数となります。
条件が2つなら4列、条件が3つなら8列、条件が4つなら16列と増えていきます。
3.動作指定部を記述する
動作指定部とは、条件の組み合わせに対する動作結果を記述する箇所です。
条件の組合せによって実行すべき処理に「X」を記入します。
実行しない処理には「-」を記入します。
4.デシジョンテーブルの圧縮
デシジョンテーブルの圧縮とは、結果が同じ動作になる組合せがある場合に、列や行を統合することです。
デシジョンテーブルを圧縮するには、組合せを一つだけ残して、結果に影響を与えない条件を任意の値を表すマークに置き換えます。
デシジョンテーブルを用いるとテストケースを作成する場合に、起こりえない、処理とは無関係な条件の組み合わせを特定することが可能です。
例えば上図は、会員でなく、平日でなければ、もはや性別は影響しないため、以下のように圧縮することができます。
デシジョンテーブルテストの注意点
デシジョンテーブルの作成にコストが掛かる
デシジョンテーブルはソフトウェアの仕様を整理して作成しなければなりません。
条件を1つ増やすだけで組合せ数が跳ね上がるため、複雑な条件や組み合わせが多いシステムでは、作成するために非常に多くの時間と費用がかかります。
デシジョンテーブルは条件に抜け・漏れがあると、テストが全く意味をなさなくなる可能性もありますので、慎重に作成する必要があります。