原因結果グラフ技法の解説

原因結果グラフ技法とは

原因結果グラフ技法とは、入力やイベント(=原因)の組合せと、出力(=結果)との関係をブールグラフ化し、そこからデシジョンテーブルを作成するテスト設計技法である。複雑な論理関係を網羅的にテストするための道具であると同時に、仕様の漏れや矛盾を見つけたり、設計を単純化するためにも利用される。

ソフトウェアテストにおいて、有則・無則という概念[1]がある。一般的に、有則とは動作が定義された入力条件の組を指し、無則とは組み合わせても何の影響も及ぼさない入力条件の組を指す。原因結果グラフ技法は、組合せテスト技法とみた場合に有則系のテスト(設計)技法に分類される。

表1. 組合せテスト技法の分類

  無則系(直交表系) 有則系(デシジョンテーブル系)
テスト技法の種類 直交表
HAYST法 ®
All-Pair法
デシジョンテーブル
原因結果グラフ技法
CFD法
効用 入力条件がそれぞれ無関係と思われるテスト対象に適用し、関係性がないことを確認する。 入力条件が複雑な関係性を持つテスト対象に適用し、論理関係が正しいことを確認する。

原因結果グラフ技法の手順は一般的に以下の通りです。

  1. テスト対象を分析して原因結果グラフを作成する
  2. 原因結果グラフから論理関係を網羅するデシジョンテーブルを作成する
  3. デシジョンテーブルをもとにしてテストケースを実装する


原因結果グラフの構成

原因結果グラフは「ノード」「リンク」「制約」の3つの要素で構成される。

  • ノード
  • ノードとは、真偽値(True or False)を持つなんらかの条件を表した要素で、ソフトウェアテストでは「入力条件」や「イベント」あるいは「期待結果」「事後条件」にあたり、数学的には「命題」にあたる。
  • リンク
  • 制約



参考文献・引用文献

[1] ソフトウェアテストの展望: SW機能テストから、システム挙動の評価へ, 松尾谷徹(デバッグ工学研究所), JaSST'07 Tokyo 招待講演