システム開発

決定表(デシジョンテーブル)とは

2020年6月7日

決定表(デシジョンテーブル)

決定表(英:decision table)とは、複数の条件と、その条件から求められる期待値を整理するための表です。

次の図は決定表のイメージ例です。

デシジョンテーブル

決定表の見方は、例えば1列目であれば「〇〇」と「△△」の両方が当てはまるとき、結果は「C」となる。という感じです。

デシジョンテーブルの見方

このように複数の条件とその期待結果を表にまとめたのが、決定表(デシジョンテーブル)です。

 

ソフトウェア開発などでは、作成したソフトが仕様通りに動作するのかを確認するためのテスト手法として用いられています。決定表を利用し複数条件の組み合わせを洗い出すことで、テストケースを網羅することができます。

それでは、具体的な「決定表の書き方」についてもう少し説明してきます。

決定表(デシジョンテーブル)の書き方

例えば、次のような仕様が存在するとします。

  • 会員:10% OFF
  • クーポンあり: 5% OFF
  • PayPayで支払い:10% OFF

※割引が複数ある場合は、割引率が加算される。

 

この仕様に対しての決定表は次の通りです。

ルール12345678
条件会員YYYYNNNN
クーポンありYYNNYYNN
PayPayで支払いYNYNYNYN
期待値割引なし-------X
5% OFF-----X--
10% OFF---X--X-
15% OFF-X--X---
20% OFF--X-----
25% OFFX-------

まず上半分には、条件の組み合わせを書いていきます。条件を満たす場合は「Y」、そうではない場合は「N」が入ります。ここで気を付ける点は、「Y」と「N」の組み合わせを全て表現することです。この組み合わせに漏れがあると、テストケースが網羅できません。

次に下半分には、条件に応じた期待値を並べていきます。条件を満たす場合は「X」、そうではない場合は「-」が入ります。

 

このように複数の条件を決定表にしてまとめることで、8パターンの試験をすればテストケースが網羅できることが分かります。

列の数は条件の組み合わせの数だけ必要(2の累乗数)です。条件が2つならの4列、3つなら8列、4つなら16列といったように条件の組み合わせの数だけ増えていきます。

helpful