[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

「分岐網羅」と「条件網羅」の違い

スポンサーリンク

予備知識


用語意味
条件分岐処理「これだったら、あれをして。これじゃなかったら、それをして」のように、条件を満たすかどうかでプログラムさんにやらせることを変える命令。if文とか、switch文とかを使って書く処理

それぞれの用語の意味


用語意味
分岐網羅「処理が枝分かれしたときの行き先を全部1回は確認するぜ!」になるようにテストを設定すること
条件網羅「条件によって分岐する処理が出てきたとき、それぞれの条件のYes/Noを全部1回は確認するぜ!」になるようにテストを設定すること

似ているところ


どちらもテストの方針を表す用語です。
「どれくらい、しっかりテストする?」です。
また、どちらも条件分岐処理に注目してテスト内容を決めます。


違うところ


条件分岐処理の何に注目してテスト内容を決めるかが違います。

「枝分かれの行き先(分岐)」に注目してテストするのが分岐網羅です。
「枝分かれの行き先が変わる要素(条件)」に注目してテストするのが条件網羅です。

例えば、ここにピヨ太プログラムがあったとしましょう。


「分岐網羅」と「条件網羅」の違い1

ピヨ太プログラムは

1.お腹が空いた
2.嫌なことがあった


のどちらかの条件を満たすと、ケーキを食べるプログラムです。


「分岐網羅」と「条件網羅」の違い2

ピヨ太プログラムの処理を、もう少しプログラムっぽく書くと以下のようになります。

if((お腹が空いた? == Yes) or (嫌なことがあった? == Yes)){
  ケーキを食べる
}


「分岐網羅」と「条件網羅」の違い3

ピヨ太プログラムにおける枝分かれの行き先(分岐)は

1.ケーキを食べる
2.ケーキを食べない


の2つです。


「分岐網羅」と「条件網羅」の違い4

枝分かれの行き先が変わる要素(条件)は

1.お腹が空いた? → Yes
2.お腹が空いた? → No
3.嫌なことがあった? → Yes
4.嫌なことがあった? → No


の4パターンです。


「分岐網羅」と「条件網羅」の違い5

すべての枝分かれの行き先(分岐)を最低1回は確認するのが分岐網羅です。
具体的には

1.ケーキを食べる
2.ケーキを食べない


の2パターンを確認できるように条件を設定してテストを行います。


「分岐網羅」と「条件網羅」の違い6

例えば

1.お腹が空いた? → Yes

のテストと

1.お腹が空いた? → No
2.嫌なことがあった? → No


のテストをやれば分岐網羅です。


「分岐網羅」と「条件網羅」の違い7

すべての分岐が確認できていますよね。

それに対して、すべての枝分かれの行き先が変わる要素(条件)を最低1回は確認するのが条件網羅です。
具体的には

1.お腹が空いた? → Yes
2.お腹が空いた? → No
3.嫌なことがあった? → Yes
4.嫌なことがあった? → No


の4パターンを確認できるように条件を設定してテストを行います。


「分岐網羅」と「条件網羅」の違い8

例えば

1.お腹が空いた? → Yes

のテストと

1.お腹が空いた? → No
2.嫌なことがあった? → Yes


のテストと

1.お腹が空いた? → No
2.嫌なことがあった? → No


のテストをやれば条件網羅です。


「分岐網羅」と「条件網羅」の違い9

すべての条件に対するYes/Noが確認できていますよね。

ちなみに、3回テストをやっているのは「お腹が空いた? → Yes」の条件を満たすと「嫌なことがあった?」の判定が行われないからです。

1.お腹が空いた? → Yes
2.嫌なことがあった? → No


の条件でテストを行うと「お腹が空いた? → Yes」の条件を満たした時点で条件判定が終わります。
嫌なことがあったかどうかは気にしません。
どちらにしろケーキを食べるからです。

よって

1.お腹が空いた? → Yes
2.嫌なことがあった? → No


の条件でテストを行って確認が取れるのは「お腹が空いた? → Yes」だけです。
「嫌なことがあった? → No」の確認は取れません。

1.お腹が空いた? → Yes
2.嫌なことがあった? → No


1.お腹が空いた? → No
2.嫌なことがあった? → Yes


の2回のテストだと「嫌なことがあった? → No」の確認が取れないのです。
これが、テストが3回になる理由です。

1.お腹が空いた? → Yes

で「お腹が空いた? → Yes」の確認を取り

1.お腹が空いた? → No
2.嫌なことがあった? → Yes


で「お腹が空いた? → No」の確認と「嫌なことがあった? → Yes」の確認を取り

1.お腹が空いた? → No
2.嫌なことがあった? → No


で(「お腹が空いた? → No」の確認と)「嫌なことがあった? → No」の確認を取っています。


備考


分岐網羅は「判定条件網羅」とも呼ばれます。
紛らわしいですね。
「条件網羅」と「判定条件網羅(=分岐網羅)」は違います。


スポンサーリンク