スキルアップ
【GIHOZ】デシジョンテーブルの基本的な作成方法
※この記事はGIHOZ’s blogで既に公開済の記事の内容を一部最新情報に更新したものです。
デシジョンテーブルをご存知でしょうか? 「名前を聞いたことはあるけれど、よく分かっていない」「どんな時に有効活用できるのか分からない」といった疑問をお持ちではないでしょうか。
ベリサーブのテスト技法ツールGIHOZ(ギホーズ)を使えば、デシジョンテーブルを手軽に作成してテストに活用することができます。
この記事ではデシジョンテーブルの解説と、GIHOZを使ってデシジョンテーブルを作成する方法をご紹介します。GIHOZでは自動で条件の組み合わせを作れるため、効率的にデシジョンテーブルを作成できます。
デシジョンテーブル・デシジョンテーブルテストとは
デシジョンテーブル(決定表)は、条件の組み合わせと対応する動作を整理するための表で、JISX0125:1986で記法が定義されています。デシジョンテーブルを作ることで、条件の組み合わせを網羅的に整理することができます。デシジョンテーブルを用いてテストケースを作成するテスト技法をデシジョンテーブルテストと呼びます。条件の組み合わせパターンと動作の関係を整理できるため、複雑な判定ロジックを整理して漏れなくテストしたい場合に有効です。
デシジョンテーブルは、図表1のように4つの象限で構成された表です。各象限の詳細はGIHOZのヘルプページの解説を参照してください。
デシジョンテーブルの例題
次の仕様を元に、割引率の判定処理をテストするためのデシジョンテーブルをGIHOZで作成してみましょう。
- あるネットショップではタイムサービスによる割引を開催している。
- 18時から21時をイブニングサービスタイム、21時から0時をナイトサービスタイムとし、サービスタイム中に割引対象商品を購入した場合、通常価格よりそれぞれイブニングタイムは10%割引、ナイトタイムは15%割引で購入できる。
- 会員はサービスタイム時間内であれば会員特典として割引対象商品以外の商品についても、5%割引で購入できる。会員でなくてもタイムサービスによる割引は受けられるが、会員特典は会員のみが受けられる。
デシジョンテーブルの作成方法
まずはデシジョンテーブルを新規作成します(図表2)。
最初に表示されるのは以下の画面です(図表3)。
+ボタンをクリックすると、条件の列が追加されます(図表4)。
仕様をまとめると、
- サービスタイム中か、サービスタイム外か
- 対象商品かどうか
- 会員かどうか
この3つの条件が割引率の判定に関係するため、図表5のようにサブ条件入力をします。
GIHOZでは条件の子階層にサブ条件を記載することができます。今回の例題では、サービスタイムは、イブニングサービスタイム、ナイトサービスタイム、サービスタイム外の3パターンがあるので、図表6のように子階層を作成して入力します。
動作も同じように入力します。
今回の例題では、割引率が15%、10%、5%、割引なし、という4パターンが判定結果として想定できますので、図表7のように入力します。
この後は列を追加して条件の組み合わせを作成していくのですが、全ての組み合わせパターンを手入力するのは大変なので、GIHOZに自動作成してもらいましょう。
デシジョンテーブルの上にある「組み合わせを生成」ボタンを押すことで、全パターンを網羅した組み合わせをGIHOZが自動で生成します(図表8)。
子階層(サブ条件)が存在する「サービスタイム」については、サブ条件のいずれか1つだけに「Y」が入力される形で、組み合わせが作成されます(図表9)。
最後に条件の組み合わせに応じた結果を「X」で指定し、必要に応じて列の整理を行うことでデシジョンテーブルが完成です(図表10)。
今回作成したデシジョンテーブルテストのサンプルは以下のリンクからご覧いただけます。GIHOZにログインすると、ご利用環境のリポジトリに複製することもできますので、ご活用ください。
まとめ
この記事では、GIHOZを使ってデシジョンテーブルを作成する方法について解説しました。
デシジョンテーブルを活用することで条件の組み合わせと対応する動作を分かりやすく表現できます。デシジョンテーブルを利用することで、テストケースを網羅的に作成できているかどうかの確認にもなりますのでぜひご活用ください。
◼️テスト技法ツールGIHOZ アカウント登録はこちら◼️
この記事は面白かったですか?
今後の改善の参考にさせていただきます!