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

条件網羅率

pointこの用語のポイント

pointテスト全体に対して、どれくらいの確認が終わったか?だよ

pointテスト方針は条件網羅だよ

スポンサーリンク

簡単に書くよ

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

「条件によって分岐する処理が出てきたとき、それぞれの条件のYes/Noを全部1回は確認するぜ!」になるように設定してやるテスト(条件網羅でやるテスト)における「テストを全部やると、これだけ確認できるはずだよ。それに対して今はこれだけの確認が終わってるよ」な割合のこと
です。


image piyo

詳しく書くよ

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

条件網羅は「すべての条件のYes/Noが確認できればテストはOKだよね?」なテスト方針です。
「条件」とか言われても、よく分からない人は

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

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

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

条件網羅率

ピヨ太プログラムは

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


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

条件網羅率2

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

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

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


条件網羅率3

ピヨ太プログラムにおける枝分かれの行き先が変わる要素(条件)

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


の2つです。
それぞれの条件ごとにYesの場合とNoの場合があるので、

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


の4パターンあります。

条件網羅率4

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

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


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

条件網羅率5

例えば

1.お腹が空いた? → Yes

のテストと

2.お腹が空いた? → No

のテストと

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


のテストと
※(プログラミング言語によっては)「お腹が空いた? → Yes」の条件を満した時点で「(お腹が空いた? == Yes) or (嫌なことがあった? == Yes)」の条件判定が終わります。「嫌なことがあった?」がYesでもNoでも全体としてYesになるからです。よって「嫌なことがあった?」の確認をするためには「お腹が空いた? → No」である必要があります……が、よく分からない人は気にしなくてOKです。

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


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

条件網羅率6

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

なお、今回は分かりやすくするために条件をバラしました。
実際には1回のテストで複数項目を確認するのが一般的です。
例えば

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


の条件設定をしてからピヨ太プログラムを動かすことで

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


の2つをまとめて確認したりします。

以上を踏まえて

「条件網羅でテストをやってるんだけどさ~。何割くらい確認が終わったかな?」を何となく数字で表したやつ

が「条件網羅率」です。

ピヨ太プログラムを例にとると、条件網羅で確認することは

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


の4パターンです。

当たり前ですが、最初の時点では、何も確認できていません。
条件網羅率は0%です。

条件網羅率7

次にピヨ太プログラムを

1.お腹が空いた? → Yes

の条件に設定してテストをやりました。

条件網羅率8

このテストにより

1.お腹が空いた? → Yes

の条件で期待した通りに動くことを確認できました。

これで条件網羅率は25%です。
全部で4つ確認するつもりです。
そのうちの1つが確認できました。
4分の1終わった計算です。

条件網羅率9

次にピヨ太プログラムを

2.お腹が空いた? → No

の条件に設定してテストをやりました。

条件網羅率10

このテストにより

2.お腹が空いた? → No

の条件で期待した通りに動くことを確認できました。

これで条件網羅率は50%です。
全部で4つ確認するつもりです。
そのうちの2つ確認できました。
半分終わった計算です。

条件網羅率11

次にピヨ太プログラムを

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


の条件に設定してテストをやりました。

条件網羅率12

このテストにより

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


の条件で期待した通りに動くことを確認できました。

これで条件網羅率は75%です。
全部で4つ確認するつもりです。
そのうちの3つ確認できました。
4分の3終わった計算です。

条件網羅率13

次にピヨ太プログラムを

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


の条件に設定してテストをやりました。

条件網羅率14

このテストにより

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


の条件で期待した通りに動くことを確認できました。

これで条件網羅率は100%です。
全部で4つ確認するつもりです。
そのうちの4つとも確認できました。
全部終わった計算です。

条件網羅率15

このような「条件網羅における確認の消化」が条件網羅率です。


image piyo2

一言でまとめるよ

まぁ「条件網羅率」って単語が出てきたら「すべての条件のYes/Noを確認できたらOK!な方針でやっているテストにおける、確認が終わった部分の割合なんだな~」と お考えください。

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

おまけ

■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
わかばちゃんとつくって、壊して、直して学ぶ NewSQL入門