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

分岐網羅(C1)

pointこの用語のポイント

pointテストの方針だよ

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

スポンサーリンク

簡単に書くよ

分岐網羅(C1)(読:ブンキモウラ)とは

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

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


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「条件分岐処理」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

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

分岐網羅

一般的なプログラムでは、途中で処理が条件分岐することも少なくありません。

以上を踏まえて

条件分岐な処理に対して「全部の枝分かれの行き先が確認できればテストはOKだよね?」なテスト方針

が「分岐網羅」です。
判定条件網羅」や「C1」と表現されることも あります。
※厳密に考えれば「分岐網羅」と「判定条件網羅」は別の意味の用語です……多分。ただし、やることは同じです。「実質的に同じ」と解釈してください。なお、どうしても違いが気になる方は「「判定条件網羅」と「分岐網羅」の違い」を ご覧ください。

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

分岐網羅2

ピヨ太プログラムは

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


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

分岐網羅3

次に

1.眠い

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

分岐網羅4

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

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

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

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


分岐網羅5

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

ピヨ太プログラムで出てくる分岐は

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


の2つです。

分岐網羅6

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

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


の4つになります。

分岐網羅7

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

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

分岐網羅8

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

分岐網羅9

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

分岐網羅10

これで

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


のうち

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


が確認できました。

分岐網羅11

次に、残りの

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


を確認します。

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

分岐網羅12

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

分岐網羅13

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

分岐網羅14

これで

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


のうち

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


が確認できました。

分岐網羅15

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

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


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

このような

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

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


image piyo2

一言でまとめるよ

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

一番上に戻るよ
スポンサーリンク
書籍画像073
書籍画像060

おまけ

■違いの分かるピヨピヨ





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
タヌキとキツネ
あたえる人があたえられる