【仕様漏れを防ぐ】デシジョンテーブルの作成手順と活用方法

テスト技法

製造やテストをやっているタイミングで仕様の漏れに気づくことありませんか?

あらかじめデシジョンテーブルを作成しておくと、そんな仕様の漏れを防ぐことができます。

デシジョンテーブルを作成するタイミングとしては以下が考えられます。
・要件定義
・設計
・製造
・試験

お気付きかと思いますが、殆どすべての工程で役に立つ大変便利なツールなんです。

デシジョンテーブルがどんなものか何となく分かってきた所で、デシジョンテーブルの書き方や活用の仕方についてさっそく見ていきましょう!

デシジョンテーブルの作成手順

デシジョンテーブルはさまざまな条件(IN-PUT)に対して動作(OUT-PUT)をどうするのかを一覧にまとめたものになります。

文章だとイメージが付かないと思いますので実際にデシジョンテーブル作成する過程を確認していきましょう。

まずは雛型となる大枠を作成する

デシジョンテーブルのひな形

まずはデシジョンテーブルのひな形です。基本的には①条件箇所、②条件指定箇所、③動作箇所、④動作指定箇所の4つの記入箇所があります。

①条件箇所には条件を記入します。
②条件指定箇所にはどの条件を指定するのかルールを定めます。
③動作箇所にはどのような動作をするのかを記入します。
④動作指定箇所には②で指定したルールに対して③のどの動作をするのかを指定します。

ルールの個数に応じて全パターン網羅する

機械的に条件網羅させる

デシジョンテーブルは上図の通り、ひとまず条件・動作・ルールを機械的に網羅させるところから始めます。

上記の場合、条件の数が3つで、それぞれに対してYesとNoの2通りですから、ルール数は8通り(2×2×2)になります。

矛盾しているルールを省く

ルールが矛盾している箇所を削除する

続いて上図のグレーアウトしているルールを見ると矛盾していることが分かります。今回は矛盾しているルールを削除してしまいましょう。

仕様確認であり得ないパターンということを確認したい場合は動作指定箇所に「N/A」と記載してあえて残す場合もあります。

無駄な重複ルールを省く

ルールを圧縮する

だいぶスッキリしましたが上図のルール1とルール2は結局のところ「残金が1000円未満」の場合は満腹かどうかは関係なく「ラーメンを食べない」ということが分かります。

そのため、ルール2のグレーアウトしている箇所を削除してしまいましょう。

デシジョンテーブルの完成

上図が完成したデシジョンテーブルです。

デシジョンテーブルを活用する

例えば、設計工程でデシジョンテーブルを作成してみましょう。

何かしらの処理を設計する際、INPUTとOUTPUT、そして、それらの組み合わせに応じてどんな動作をするのかがデシジョンテーブルによって洗い出すことが出来ます。

そして、そのデシジョンテーブルは後のテスト工程のテストパターンを作成する際に役立てることが出来ます。

デシジョンテーブルがあれば、ブラックボックステストを漏れなく実施できるという訳です。

コーディングする際にも『この場合はどうすれば良いのだろう?』などと悩むことが無くなります。

さいごにまとめ

今回のような条件の組み合わせであれば作成しなくても問題ないかもしれませんが、もう少し条件が増えてきたらと思うとゾッとしませんか?

設計段階でデシジョンテーブルを作成しておけば仕様の確認ができますし、テスト工程でテスト仕様書作成にも大いに役に立つことでしょう。

情報処理試験だけのものに終わらせるには大変もったいないツールですので、ぜひ活用してみてください。

またソフトウェアテストに関する知識について、もっと詳細に知りたい方は下記の書籍をオススメします。
テスト設計の考え方、テスト技法の使い方、テストドキュメントの書き方など、体系的に学習できる一冊となっております。

コメント

タイトルとURLをコピーしました