テスト設計技法 – デシジョンテーブルテスト
どうもーyasuです~ そろそろ涼しくなってきたかな?
一つ報告、8/25にテスト系の資格 JSTQB を受験してきました!
結果はブログに報告します。受かってるといいな~
前回のブログで記載した通り、今回はデシジョンテーブルテストについて記載していこうと思います。
【デシジョンテーブルテスト】
ブラックボックステスト設計の一つで、パターン分けを全網羅する表を作り、その表をもとに試験を行っていく技法です。とくに、有限の組み合わせを効率的・網羅的に試験したいときに効果を発揮します!
例えば、以下のようなシステムの場合
バスの料金を出力するシステム。仕様は以下の通り
大人:現金払いの場合は220円、ICカード払いの場合は216円
子供:大人料金の半額
※夏休み期間のみ、子供は現金払いで50円となる
デシジョンテーブルテストを行うときは、まずデシジョンテーブルを作成します。
デシジョンテーブルとは、条件と組み合わせ、結果を一つに纏めた表です。
例の場合の条件だと
年齢(大人/子供)、支払方法(現金/ICカード)、夏休み期間(Yes/No)
の3種類があります。これらを全て組み合わせます。そうすると、下の表が出来上がります。
※ちなみに、全ての組み合わせといっても、影響を及ぼさない組み合わせの場合は省略することも可能です。(例だと、年齢が大人の場合は、夏休み期間の有無に関わらず料金が変わらないため、場合分けしておりません。)
デシジョンテーブルができたら、あとは試験を行うだけです。
各列の条件を満たすように各パターンを実施します。例の場合だと6パターンですね。
これで、全てのパターンを網羅した試験をすることができました。
今回の例だとパターンが少ないですが、場合分けが複雑になってくると、より効果が発揮できる技法です!
補足しておくとデシジョンテーブルテストは、結果が無限のパターン存在するようなシステムとは相性が悪いです。
日付を入力して検索結果を表示するシステムで、日付ごとに結果が変わるような場合、デシジョンテーブルを作ろうとすると、結果の列がいつまでたっても収束しないのでテーブルが作れません。
その場合は、ペアワイズ(オールペア法)や直交表などを用いるのがいいのですが、それはまたの機会に記載致しますー
次回は、状態遷移テストについて記載する予定です~
ちなみに、ダイエットは行って戻ってな感じー
一瞬だけ-10kgまでたどり着いた!!(すぐ戻ったけど…)