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

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

分岐網羅 (C1)

pointこの用語のポイント

pointテストの方針だよ

pointすべての枝分かれの行き先を1回確認できればOKだよ

スポンサーリンク

簡単に書くよ

分岐網羅 (C1)とは

「判定条件網羅」の別の呼び方。
つまり

「どれくらい、しっかりテストする?」の方針のひとつ
であり

「処理が枝分かれしたときの行き先を全部1回は確認するぜ!」になるようにテストを設定すること
です。

image piyo

詳しく書くよ

一般的なプログラムでは、途中で処理が枝分かれすることも少なくありません。
いわゆる「条件分岐処理」というやつです。

その枝分かれに対して「全部の枝分かれの行き先が確認できればテストはOKだよね?」なテスト方針が「分岐網羅」です。
分岐網羅は「判定条件網羅」や「C1」と表現されることもあります。
※厳密に考えれば「分岐網羅」と「判定条件網羅」は別の意味の用語です……多分。ただし、やることは同じです。「実質的に同じ」と解釈してください。なお、どうしても違いが気になる方は「「判定条件網羅」と「分岐網羅」の違い」をご覧ください。

例えば、そうですね。
ここにピヨ太プログラムがありました。

分岐網羅

ピヨ太プログラムは

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


のどちらかの条件を満たすと、ケーキを食べます。

分岐網羅2

次に

1.眠い

の条件を満たすと、お昼寝をします。

分岐網羅3

そんな役立たずなプログラムです。

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

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

if(眠い? == Yes){
  お昼寝をする
}


分岐網羅4

ここで「処理が枝分かれするところ(分岐)」に注目してください。

ピヨ太プログラムで登場する分岐は

1.(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)
2.眠い? == Yes


の2つです。

分岐網羅5

それぞれの分岐において、判定結果(Yes or No)によって処理が枝分かれします。
枝分かれの行き先は

1.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がYes
2.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がNo
3.「眠い? == Yes」の判定がYes
4.「眠い? == Yes」の判定がNo


の4つになります。

分岐網羅6

この4つの行き先を少なくとも1回は確認できるようにテストするのが「分岐網羅」です。

例えば、ピヨ太プログラムを、お腹が空いて眠い状態にします。

分岐網羅7

そうすると、まずピヨ太プログラムはケーキを食べます。
お腹が空いていますからね。

分岐網羅8

次に、お昼寝をします。
眠いですからね。

分岐網羅9

これで

1.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がYes
2.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がNo
3.「眠い? == Yes」の判定がYes
4.「眠い? == Yes」の判定がNo


のうち

1.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がYes
3.「眠い? == Yes」の判定がYes


が確認できました。

分岐網羅10

次に、残りの

2.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がNo
4.「眠い? == Yes」の判定がNo


を確認します。

今度は、ピヨ太プログラムを、お腹がいっぱいで眠くもない状態にしました。

分岐網羅11

この状態でピヨ太プログラムを動かすと、ピヨ太プログラムはケーキを食べません。
お腹が空いていませんからね。

分岐網羅12

お昼寝もしません。
眠くないですからね。

分岐網羅13

これで

1.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がYes
2.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がNo
3.「眠い? == Yes」の判定がYes
4.「眠い? == Yes」の判定がNo


のうち

2.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がNo
4.「眠い? == Yes」の判定がNo


が確認できました。

分岐網羅14

先ほどのテストと合わせて

1.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がYes
2.「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の判定がNo
3.「眠い? == Yes」の判定がYes
4.「眠い? == Yes」の判定がNo


が、すべて確認できましたね。
これでテストは終わりです。

このような

すべての分岐(枝分かれの行き先)を網羅したらテストを終わりにしよう!

なテスト方針が分岐網羅です。

image piyo2

一言でまとめるよ

まぁ「分岐網羅」って単語が出てきたら「すべての枝分かれの行き先を確認できたらOK!なテスト方針なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク