デシジョンテーブルとは︖
• 別名︓決定表
• JIS X 0125:1986
• 仕様の⼊⼒(条件)と出⼒(アクション)の論理的関係を整理する⼿法
• ソフトウェアの設計などに使⽤される
例) 年齢が20歳以上で、⾞などの運転予定がなければ飲酒できる
年齢が20歳以上 Y Y N N
運転予定がない Y N Y N
飲酒可能 X - - -
⽇本産業規格(JIS=Japanese Industrial Standardsの略)。
⽇本の産業製品に関する規格や測定法などが定められた⽇本の国家規格のこと。
本セッションで扱うのでは、制限指定(limited-entry)デシジョンテーブルであり、拡張指定(extended-entry)デシジョンテーブルは扱いません。
拡張指定(extended-entry)デシジョンテーブルはY/NやX/-などの2値ではなく、値を記述したものです
Y: Yes N: No
⾃然⾔語記述:
年齢が20歳以上で、⾞などの運転予定がなければ飲酒できる
モデリング:デシジョンテーブル
⾃然⾔語記述を読んだだけでは、次のような事柄を即時に理解するのが難しい。
• パターンが何パターンあるのか
• 条件に⽭盾点はないのか
• どういう条件のときに、飲酒可能という判定結果となるのか
• 飲酒可能という条件のときはどういうときなのか
モデリングされたデシジョンテーブルでは、上記のような情報を簡単に読み取ることができる
年齢が20歳以上 Y Y N N
運転予定がない Y N Y N
飲酒可能 X - - -
X:該当 -:該当しない
因⼦と⽔準
デシジョンテーブルを作成する際に、
網羅的に条件を出すために、因⼦と⽔準という概念に着⽬する
因⼦
要因の変数(値やステータスを持つもの)。
⽔準を抽象化したもの。
⽔準
因⼦が取る値。値やステータス。
因⼦を具体化したもの。
OS
macOS Windows Linux
因⼦
⽔準
※ JSTQBには記載のない概念です
実験計画法の⽤語です
Slide 11
Slide 11 text
デシジョンテーブルテストにおけるデシジョンテーブル
デシジョンテーブルテストを⾏う際に作成するデシジョンテーブルは、
因⼦と⽔準を意識して記述すると良い
原因 年齢 20歳以上 Y Y N N
19歳以下 N N Y Y
運転予定 ある Y N Y N
ない N Y N Y
結果 飲酒可能 - X - -
年齢が20歳以上 Y Y N N
運転予定がない Y N Y N
飲酒可能 X - - -
Slide 12
Slide 12 text
因⼦、⽔準は同値分割の関係
因⼦を具体化、分割し、まとめられるものをグループ化したものが⽔準となる。
20歳以上
19歳以下
年齢
ある
ない
運転予定
Windows
Linux
OS
macOS
※同値分割した⽔準をデシジョンテーブルにする際に、原因と結果に関係がない⽔準は省略することもあります。
同値分割法では、MECEを意識して分割する
「MECE」とは、Mutually Exclusive and Collectively Exhaustiveの頭⽂字をとった⾔葉で、
ミーシーもしくはミッシーと読む。
直訳すると「相互に重複することなく、全体としてモレがない」という意味。
https://www.weblio.jp/content/MECE
Slide 20
Slide 20 text
ズームイン、ズームアウト
OS
macOS Windows Linux
Monterey Big Sur Windows 11 Windows 10
ubuntu
21.04
CentOS
8
・・・ ・・・
・・・
・・・ ・・・
ズームアウト
抽象的に捉えて、
全体を俯瞰する
ズームイン
具体的に捉えて、
詳細な事柄を把握
する
デシジョンテーブルの作成⼿順
原因 年齢 20歳以上
19歳以下
運転予定 ある
ない
結果 飲酒可能
原因 年齢 20歳以上 T T F F
19歳以下 F F T T
運転予定 ある T F T F
ない F T F T
結果 飲酒可能
⽔準の組み合わせを網羅するように、
パターンを機械的に書き込んでいく。
因⼦内の⽔準がT、Fになるパターンとして、
次のパターンがある
・制約なし
・因⼦内の⽔準が常に⼀つのみがTになる
・因⼦内の⽔準が多くても⼀つがTになる
・因⼦内の⽔準が少なくても⼀つがTになる
Slide 28
Slide 28 text
⽔準の組み合わせパターン
原
因
A A-1 T F
A-2 F T
・因⼦内の⽔準が常に⼀つのみがTになる
・因⼦内の⽔準が少なくても⼀つがTになる
・制約なし
原
因
A A-1 F T F T
A-2 F F T T
・因⼦内の⽔準が多くても⼀つがTになる
原
因
A A-1 F T F
A-2 F F T
原
因
A A-1 T F T
A-2 F T T
ディシジョンテーブルのサイズは、⽔準数をnとしたとき、最⼤で、2n個の組み合わせができる
何も考えず制約なしの組み合わせを書き出して、整理するのもあり
Slide 29
Slide 29 text
デシジョンテーブルの作成⼿順
原因 年齢 20歳以上 T T F F
19歳以下 F F T T
運転予定 ある T F T F
ない F T F T
結果 飲酒可能
期待結果になるところ、ならないところを埋めていく
原因 年齢 20歳以上 T T F F
19歳以下 F F T T
運転予定 ある T F T F
ない F T F T
結果 飲酒可能 - X - -
デシジョンテーブルテストワーク2解説
原
因
曜⽇ 平⽇ T T T T T T T T T T T T T T T T F F F F F F F F F F F F F F F F
⼟⽇祝⽇ F F F F F F F F F F F F F F F F T T T T T T T T T T T T T T T T
時間 20時まで T T T T T T T T F F F F F F F F T T T T T T T T F F F F F F F F
20時以降 F F F F F F F F T T T T T T T T F F F F F F F F T T T T T T T T
年齢 70歳未満 T T T T F F F F T T T T F F F F T T T T F F F F T T T T F F F F
70歳以上 F F F F T T T T F F F F T T T T F F F F T T T T F F F F T T T T
学⽣ ⼤・専 F T F F F T F F F T F F F T F F F T F F F T F F F T F F F T F F
中・⾼ F F T F F F T F F F T F F F T F F F T F F F T F F F T F F F T F
⼩ F F F T F F F T F F F T F F F T F F F T F F F T F F F T F F F T
結
果
料⾦ 1800円 X - - - - - - - - - - - - - - - X - - - - - - - - - - - - - - -
1500円 - X - - - - - - - - - - - - - - - X - - - - - - - - - - - - - -
1300円 - - - - - - - - X X - - - - - - - - - - - - - - X X - - - - - -
1100円 - - - - X X - - - - - - X X - - - - - - X X - - - - - - X X - -
1000円 - - X X - - X X - - X X - - X X - - X X - - X X - - X X - - X X
デシジョンテーブルの圧縮
運転予定の条件は
結果に関係していない
原因 年齢 20歳以上 T T F
19歳以下 F F T
運転予定 ある T F -
ない F T -
結果 飲酒可能 - X -
原因 年齢 20歳以上 T T F F
19歳以下 F F T T
運転予定 ある T F T F
ない F T F T
結果 飲酒可能 - X - -
列を圧縮することができる
圧縮して、条件がTでもFでも
どちらでも良い場合は-で記載する
※条件が結果に関係なくてもテストを⾏いたい場合は、意図的に圧縮しない場合もあります
Slide 39
Slide 39 text
デシジョンテーブルの整理
原因 年齢 20歳以上 T T T T F F F F
19歳以下 F F F F T T T T
運転予定 ある T T F F T T F F
ない F F T T F F T T
運転免許 取得済み T F T F T F T F
未取得 F T F T F T F T
結果 飲酒可能 - - X X - - - -
原因の中に組み合わせられない項⽬(禁則)があった
※禁則でもテストを⾏いたい場合は、意図的に削除しない場合もあります
原因 年齢 20歳以上 T T T F F F
19歳以下 F F F T T T
運転予定 ある T F F T F F
ない F T T F T T
運転免許 取得済み T T F T T F
未取得 F F T F F T
結果 飲酒可能 - X X - - -
Slide 40
Slide 40 text
デシジョンテーブルの整理
原因 年齢 20歳以上 T T T T F F F F
19歳以下 F F F F T T T T
運転予定 ある T T F F T T F F
ない F F T T F F T T
注⽂⾦額 1000円以上 T F T F T F T F
1000円未満 F T F T F T F T
結果 飲酒可能 - - X X - - - -
原因と結果を埋めたあとで、
注⽂⾦額が関係ないことがわかった(無則)
※条件が結果に関係なくてもテストを⾏いたい場合は、意図的に削除しない場合もあります
原因 年齢 20歳以上 T T F F
19歳以下 F F T T
運転予定 ある T F T F
ない F T F T
結果 飲酒可能 - X - -
Slide 41
Slide 41 text
デシジョンテーブルの圧縮、整理
圧縮、整理して簡単化したデシジョンテーブルを
簡単化したデシジョンテーブル(Collapsed decision table)と呼ぶ。
圧縮、整理していないデシジョンテーブルは
完全なデシジョンテーブル(Full decision table)と呼ぶ。
圧縮や整理を⾏い、⾏や、列を削除するときは本当に削除するべきかを検討する。
レビューするときは削除せずに、グレーアウトなどをしておくと良い。
原因 年齢 20歳以上 T T T T F F F F
19歳以下 F F F F T T T T
運転予定 ある T T F F T T F F
ない F F T T F F T T
運転免許 取得済み T F T F T F T F
未取得 F T F T F T F T
結果 飲酒可能 - - X X - - - -
値として2値を持つ指定制限(limited-entry)デシジョンテーブルで、
すべての条件が網羅されたもの(要素数がnで2nの列が存在するもの)を
完全な指定制限(complete limited-entry)デシジョンテーブルと呼ぶ。
デシジョンテーブル圧縮ワーク解説
原
因
時間 20時まで T T - - F
20時以降 F F - - T
年齢 70歳未満 T T - F T
70歳以上 F F - T F
学⽣ ⼤・専 F T F - -
⼩・中・⾼ F F T F F
結
果
料⾦ 1800円 X - - - -
1500円 - X - - -
1300円 - - - - X
1100円 - - - X -
1000円 - - X - -
今回の条件では、平⽇、⼟⽇祝⽇は料⾦に関係していない。
⼩、中、⾼校⽣は時間帯、年齢によらず料⾦は⼀律。
20時以降の70歳以下の⼈は、
⼩、中、⾼でなければ料⾦は⼀律となる。