WRブログ

入力データや入力条件の組み合わせを考える「デシジョンテーブルテスト」

入力データや入力条件の組み合わせを考える「デシジョンテーブルテスト」

さまざまなテストをおこなうテスト担当者の大きな仕事のひとつに、
複雑な仕様を理解して、テストではどのように検証するのかを考える作業があります。
それをまとめるのに役立つのがデシジョンテーブルです。
ここでは、デシジョンテーブルを使っておこなう、デシジョンテーブルテストについて解説します。

■デシジョンテーブルとは

ソフトウェアテストは、主にソフトウェアが仕様どおり動くかどうかを確かめるのが目的です。
しかし、複雑な条件が重なり合ったプログラムをテストするためには、まずは仕様をきちんと把握することが重要です。
そんなときに役立つのがデシジョンテーブルです。

デシジョンテーブルは、ソフトウェアの動作に関する複数の条件について、
その真・偽の組み合わせを表にまとめて、それぞれの場合に対応する結果(どのような動作をするのか)を示したものです。

また、デシジョンテーブルには、決められたフォーマットがあります。

image_02001

①条件記述部
条件の一覧を書く部分です。テスト対象の入力条件や、実際の入力データが入ります。

②動作記述部
結果の一覧を書く部分です。条件に合わせて、実際の動作や処理の内容が入ります。

③条件指定部
条件の組み合わせを書く部分です。条件の判定結果の組み合わせが入ります。

④動作指定部
条件の組み合わせに対する動作結果が入ります。

⑤規則
条件の組み合わせと、それに対する動作結果を組み合わせたものです。

このように、デシジョンテーブルは論理表現であるため、
文章で書かれている資料よりもよりコンピュータに近い目線で、ロジックを明確に表すことができます。
■デシジョンテーブルテストとは
デシジョンテーブルテストでは、上記のデシジョンテーブルを使ったテストのことを言います。
前述した「⑤規則」を、そのままテストケースとして用います。
■テストレベル
デシジョンテーブルテストは、全てのテストレベルで使うことができます。
特に、仕様や処理が複雑なシステムの要件をテストする場面で用いるのが有効です。
■カバレッジ
デシジョンテーブルテストでは、簡単にカバレッジも求めることができます。
それは、上記の図の「⑤規則」です。デシジョンテーブルの各列を最低1回は実行するようにテストケースを設計します。
この場合のカバレッジは以下の式で求められます。

カバレッジ = テストを実施した規則数 / 全規則数
★まとめ
●デシジョンテーブルは、
 ①条件記述部
 ②動作記述部
 ③条件指定部
 ④動作指定部
 ⑤規則
 から成り立つ
●デシジョンテーブルテストとは、デシジョンテーブルを使ったテストのこと
●デシジョンテーブルテストのカバレッジは
 「カバレッジ = テストを実施した規則数 / 全規則数」で求められる

ここまでで、デシジョンテーブルテストについて解説してきました。
デシジョンテーブルテストで用いられるデシジョンテーブルは、
複雑な仕様や処理を表に落とし込むことで、論理的に表現することができます。


【参考文献】:
『ソフトウェアテスト教科書 JSTQB Foundation 第3版』

【参考URL】:
http://www.itmedia.co.jp/im/articles/1111/07/news138.html,(参照 2016年7月30日)
http://gihyo.jp/dev/serial/01/test_up/0005,(参照 2016年7月30日)