TEF/テスト技法

技法名 CFD法

技法名(英語) Cause Flow Diagram

説明

仕様ベースのブラックボックステスト技法の1つです。「処理の流れ」をもとにテスト設計するため、設計情報が若干必要となります(グレーボックステストといえるでしょう)。

この技法は、まず、ソフトウェアに与えられる入力を集合で用いるベン図と同様の記法で図式化し、次に、それらを処理の順番に並べて取り得るテストケースをデシジョンテーブルにまとめます。

使用例

JRの料金体系は、

おとな12歳以上(12歳でも小学生は「こども」です)
こども6歳〜12歳未満(6歳でも小学校入学前は「幼児」です)
幼児1歳〜6歳未満
乳児1歳未満

となっています。

こちらをデシジョンテーブルで表現すると、

JR料金体系1ルール1ルール2ルール3ルール4ルール5ルール6
13歳以上TFFFFF
12歳-TFFFF
7歳〜11歳--TFFF
6歳---TFF
1歳〜5歳----TF
0歳-----T
おとな×
こども×
幼児×
乳児×
次表へ××

と、

JR料金体系2ルール7ルール8ルール9ルール10
12歳TTFF
6歳--TT
小学生FTTF
おとな×
こども××
幼児×

となりますが、一つ目の表が非常に単純なものであるのに対して二つ目の表、すなわち小学生判定の方は少々論理関係が複雑です。
このケースで、CFD法を用いると次のようになります。

cfd-1.JPG

さて、この図から、線をたどってデシジョンテーブルを作成すると、

JR料金体系2ルール1ルール2ルール3ルール4
小学生TFFF
12歳-TFF
6歳--TF
不明---T
こども×
おとな×
幼児×
エラー×

となります。

デシジョンテーブルが原因結果グラフのものと若干異なっていることに注意してください。もし、2番目の処理の時に12歳と6歳しかデータが来ないことが保証されていたら(契約的プログラミング)、ルール4のテストケースは不要となり3テストケースになります。

これは、処理の流れという情報によってテストケースを合理的に減らすことができたということです。

補足

CFD法は、その対象範囲を広げ、システムテストや状態遷移テストまでをも対象とできるテスト技法に進化をしています。現在も、進化途上にあり、目が離せないテスト技法のひとつといえるでしょう。

COTSなどのテストをする場合は、処理の流れの仕様が明確でないことがあります。そのようなときには、どちらの処理が先に来ても構わない原因結果グラフを使用します。

参考文献

書籍: ソフトウェア開発・検証技法

total 183 today 1 yesterday 2

TEF/indexに戻る

添付ファイル: filecfd-1.JPG 92件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-08-22 (金) 13:54:36 (4413d)