0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

デシジョンテーブルテスト

Last updated at Posted at 2021-02-24

デシジョンテーブルテスト

デシジョンテーブルはシステムが実装しなければならない複雑なビジネスルールを記録するために用いられます。またテストケースを作成するサインの指針としても役立つ。

デシジョンテーブルはテスト担当者の個人的な道具箱には欠かせない重要なツールです。

デシジョンテーブルの一般的な形

ルール1 ルール2 ルール3 ルール4 ルール5 ..... ルールn
条件
条件1
条件2
...
条件m
---- ---- ---- ---- ---- ---- ---- ----
アクション
アクション1
アクション2
...
アクションp
  • 条件1から条件mまでは様々な入力条件。
  • アクション1からアクションpまでは入力条件のさまざまな組み合わせで決定されるアクション。
  • 各ルールは条件の一意な組み合わせを定義しており、その組み合わせが満たされると、結果としてルールに関連付けられたアクションが実行される。

分かりにくいと思うので、具体例で説明しようと思う。

ある自動車会社がドライバーが既婚の人や優秀な人には保険料を割り引きする場合を考える。

ルール1 ルール2 ルール3 ルール4
条件
優秀な学生 Yes Yes No No
既婚 Yes No Yes No
---- ---- ---- ---- ----
アクション
割引額(ドル) 60 25 50 0

すべての顧客はこの4パターンに属し、それぞれのパターンに応じてアクションが異なる。
例えば、優秀な学生ではあるが、既婚ではない場合(Yes, No)は、割引額が25ドルになる。

このように複雑なパターンを場合分けすることで簡潔に記録することができる。

条件が二つの場合は簡潔になることができるかもしれないが、もっと大きな条件になった場合は、どのようにすればいいだろうか。すべての任意の値が意味を持たない場合は、DC(Don't care)を使うことで簡潔に表記することができる。

例えば、A,B,Cの値をもらって返答をするシステムを考慮するときのルールとして、

  • Aがある条件を満たさないとき、BやCの値に関わらず、エラーを返す。

などの、「任意の値以外が含まれていない時点で以下を考慮しない」場合、セルにDCを書くとテスト量を格段に減らせる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?