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

C2(条件網羅)

pointこの用語のポイント

pointテストの方針だよ

pointすべての条件のYes/Noを1回 確認できればOKだよ

スポンサーリンク

簡単に書くよ

C2(条件網羅)(読:ジョウケンモウラ)とは

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

「条件によって分岐する処理が出てきたとき、それぞれの条件のYes/Noを全部1回は確認するぜ!」になるようにテストを設定すること
です。


image piyo

詳しく書くよ

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

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

条件網羅

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

以上を踏まえて

条件分岐な処理に対して「すべての条件のYes/Noが確認できればテストはOKだよね?」なテスト方針

が「条件網羅」です。
条件網羅は「C2」と表現されることも あります。

「条件」とか言われても、よく分からない人は

「ここの値が変わったら処理の行き先が変わるかもね」な要素

と解釈してください。
「ここの値が変わったら処理の行き先が変わるかもね」な要素すべてに対して、あっちに行く場合とこっちに行く場合を最低1回は確認するのが条件網羅です。

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

条件網羅2

ピヨ太プログラムは

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


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

条件網羅3

次に

1.眠い

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

条件網羅4

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

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

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

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


条件網羅5

ここで「処理が枝分かれするための条件」に注目してください。

ピヨ太プログラムで出てくる条件(枝分かれの行き先が変わる要素)

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


の3つです。

条件網羅6

それぞれの条件は、YesかNoになります。
つまり、それぞれの判定結果が取り得る値は

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


の6パターンです。

条件網羅7

この6パターンを少なくとも1回は確認できるようにテストするのが「条件網羅」です。

例えば、ピヨ太プログラムを

1.お腹が空いた
2.嫌なことはない
3.眠い


状態にして動かします。

条件網羅8

そうすると

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


のうち

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


の3パターンが確認できます。

条件網羅9

※実際には「お腹が空いた? → Yes」の条件を満した時点で(プログラミング言語によっては)「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の条件判定が終わるので「嫌なことがあった? → No」の確認は取れていなかったりしますが、そーゆー難しいことが気になるだけの知識がある人は他のところで勉強してください。

次に、ピヨ太プログラムを

1.お腹いっぱい
2.嫌なことがあった
3.眠くない


状態にして動かします。

条件網羅10

そうすると

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


のうち

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


の3パターンが確認できます。

条件網羅11

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

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


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

このような

すべての条件(枝分かれの行き先が変わる要素)網羅したらテストを終わりにしよう!

なテスト方針が条件網羅です。


image piyo2

一言でまとめるよ

まぁ「条件網羅」って単語が出てきたら「『すべての条件のYes/Noを確認できたらOK!』なテスト方針なんだな~」と お考えください。

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

おまけ



書籍画像
わわわ説明術コラム
宣伝だよ
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問