スキルアップ
GIHOZの使い方:デシジョンテーブルの整理(圧縮)

※この記事はGIHOZ’s blogで既に公開済の記事の内容を一部最新情報に更新したものです。
以前の記事で、デシジョンテーブルの基本的な作成方法をご紹介しました。デシジョンテーブルを作ってみたものの、実行しなくてもいいパターンも網羅されてしまって、そのままだと使いづらいことはありませんでしたか?
この記事では作成したデシジョンテーブルの整理(圧縮)の解説と、GIHOZのデシジョンテーブルでの操作方法をご紹介します。
デシジョンテーブルの整理(圧縮)
デシジョンテーブルを用いたテストケースは、条件の組み合わせを全網羅する形で作成すると膨大な数になってしまいます。条件の分岐処理のフローが明確になっていて、確実にそのフローの通りに動くと判断できる場合、デシジョンテーブルを整理することでテストの件数を削減することが可能です。(ただし、ブラックボックステストでは全網羅する方が良い場合が多いです。)
上記の内容を踏まえて、以前の記事で作成した以下のデシジョンテーブルを整理してみましょう。

このデシジョンテーブルは、以下のフローチャートのように処理が実行されることが明らかな場合は整理することができます。

このフローチャートが正しい場合はサービスタイム外であれば確実に割引なしになり、またどちらかのサービスタイム中で対象商品であれば、会員であるかどうかは関係なく10%か15%割引になるということが分かります。
これらを踏まえた上で、以下のようにデシジョンテーブルを整理します。

1と2のテストケース(D列とE列)はイブニングサービスタイム中で対象商品である場合、会員かどうかは関係なく10%割引になるためどちらかのテストケースを省略できます。
5と6のテストケース(H列とI列)も同様にナイトサービスタイム中で対象商品である場合、会員かどうかは関係なく15%割引になるためどちらかのテストケースを省略できます。
9~12のテストケース(L列~O列)はサービスタイム外の場合は他の条件に関わらず割引無しとなるため、一列を残してテストケースを省略できます。
マークを外したテストケースを列ごと削除し、動作に影響しない条件を「-」に変更すると、以下のようになります。列の削除は右クリックメニューから実施できます。Ctrlキー(Macではcommandキー)を押しながら削除したい列を複数選択し、右クリックメニューの削除を選択することで、複数の列を一括で削除することが可能です。

こうしてデシジョンテーブルの整理をすることで、デシジョンテーブルが見やすくなるとともに、テストの件数を削減できました。
初めにお伝えしたように、デシジョンテーブルを整理する場合、条件の分岐処理のフローが明確になっている必要があります。フローが明確でない場合にむやみにテストケースを省略すると、テスト漏れにつながる可能性があるため、ご注意ください。
原因結果グラフやCFD(Cause Flow Diagram)法といったテスト技法を用いると、最初から整理(圧縮)された状態のデシジョンテーブルを得られます。これらのテスト技法はインターネットで検索すると解説が見つかりますので、興味のある方は調べてみてください。CFD法についてはGIHOZでもサポートしています。ぜひご利用ください。
今回の記事で紹介したデシジョンテーブルは以下からご覧いただけます。
この記事では、GIHOZを使ってデシジョンテーブルを整理(圧縮)する方法について解説しました。適切にデシジョンテーブルを整理することで、テストの件数を削減できます。条件の分岐処理のフローが明確になっている場合は、デシジョンテーブルを整理することをぜひご検討ください。
テスト技法ツールGIHOZ アカウント登録はこちら
テスト技法ツールGIHOZ|ソフトウェアテスト・第三者検証のベリサーブ(veriserve.co.jp)
この記事は面白かったですか?
今後の改善の参考にさせていただきます!