プロが教えるわが家の防犯対策術!

こんにちは。
ホワイトボックステストにおける
「判定条件網羅」「条件網羅」「複合条件網羅」の違いがわかりません。
参考書によると
・判定条件網羅・・・それぞれの判定条件が真の場合の処理と偽の場合の処理を、少なくとも1回は実行する
・それぞれの判定条件が真になる場合と偽になる場合の処理を、少なくとも1回は実行する。
・複合条件網羅・・・判定条件が複合されているときに。起こりうるすべての場合について、少なくとも1回は実行する
となっています。

特に「判定条件網羅」と「条件網羅」の違いがわかりません。
すみませんが、教えてください。

A 回答 (3件)

#2さんが既にわかりやすいページを紹介して下さっていますが、


私が使った通信教育のテキストには以下のように説明されています。
(余計混乱するかな?^^;)

判定条件網羅(分岐網羅)
 判定文における真偽の分岐を、いずれも少なくとも1回は実行するように、テストケースを設計する。

条件網羅(分岐条件網羅)
 判定文におけるすべての可能な結果が、少なくとも1回は実行されるようにテストケースを設計する。

※判定条件網羅との違い
 判定条件網羅では、判定文の条件が複合条件であっても、ANDやORで結ばれた個々の条件には着目せずに、結果として判定が真の場合と偽の場合について実行すればよい。
 一方、条件網羅では、判定文が複合条件の場合には、その個々の条件の真偽に着目する。

複合条件網羅
 それぞれの判定におけるすべての可能な結果の組合せを実行するようにテストケースを設計する。

具体例を示しますと、
例えばある判定文の条件が「a=0 or b=0」であったとすると以下のようになります。

判定条件網羅: 判定条件の真,偽を実行
 「a=0,b=1」(真)
 「a=1,b=1」(偽)

条件網羅: 各条件の可能な結果を1回はとる
 「a=0,b=1」(条件1:真、条件2:偽 → 真)
 「a=1,b=0」(条件1:偽、条件2:真 → 真)

複合条件網羅: 各条件の可能な結果のすべての組合せを実行
 「a=0,b=0」(条件1:真、条件2:真 → 真)
 「a=0,b=1」(条件1:真、条件2:偽 → 真)
 「a=1,b=0」(条件1:偽、条件2:真 → 真)
 「a=1,b=1」(条件1:偽、条件2:偽 → 偽)

複合条件網羅が一番、網羅率(テストカバレージ)が高いとされています。
何せ、問題を解くのが一番理解を深めるのに役立つと思います。
    • good
    • 4
    • good
    • 0

1命令に4個の条件があるものとします。


判定条件網羅では4つの条件の組合せで答えが真になるもの1ケースと
偽になるもの1ケースをテストします。
合計2ケースです。
条件網羅では4つの条件について真のケースと偽のケースの全てをテストします。
組合せは考えません。
この場合最大4ケースのテストになります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!