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

コンディションカバレッジ

pointこの用語のポイント

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

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

point条件網羅そのものを意図している場合もあるよ

スポンサーリンク

簡単に書くよ

コンディションカバレッジ(英:condition coverage)とは

「条件網羅率」のこと。
用語の中身としては

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

条件網羅(「すべての条件のYes/Noを確認できたらOK!」なテスト方針)のこと
を意図している場合も あります。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

カバレッジテストカバレッジ
条件網羅
条件網羅率


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

カバレッジテストカバレッジは「全部で、これだけ確認するよ」に対する「これだけ確認できたよ」の割合です。

テスト全体で、これくらいの確認をします。

コンディションカバレッジ

そのうち、これくらいの確認が終わりました。

コンディションカバレッジ2

確認が終わった範囲、言い方を変えると、確認が終わった割合がテストカバレッジです。
日本語で「網羅率」と表現されたりもします。

コンディションカバレッジ3

ちなみに「カバレッジ」自体の意味は「カバーしている(した)範囲」です。
日本語だと「影響範囲」とか「適用範囲」が近いですかね。

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

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

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

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

コンディションカバレッジ4

ピヨ太プログラムは

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


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

コンディションカバレッジ5

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

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

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


コンディションカバレッジ6

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

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


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

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


の4パターンあります。

コンディションカバレッジ7

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

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


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

コンディションカバレッジ8

例えば

1.お腹が空いた? → Yes

のテストと

2.お腹が空いた? → No

のテストと

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


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

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


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

コンディションカバレッジ9

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

このような

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

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

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

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


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

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


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

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

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

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


の4パターンです。
そのうち2パターンの確認が取れていれば、条件網羅率は50%になります。

コンディションカバレッジ10

以上を踏まえて

条件網羅率をカッコ付けて……かどうかは知りませんが横文字にしたの

が「コンディションカバレッジ」です。
コンディションカバレッジと条件網羅率は同じものだと解釈して かまいません。

コンディションカバレッジ11

あるいは「率」の付いていない「条件網羅」そのものを意図してコンディションカバレッジと表現する人もいます。

コンディションカバレッジ12

どちらを意図しているかは文脈から判断してください。

なお、私自身は

条件網羅 = コンディションカバレッジ

と判断しています。
カバレッジ(テストカバレッジ)の意図するところが「これだけ確認できたよ」な割合だからです。

・カバレッジ(テストカバレッジ):確認済みの割合
・条件網羅:テスト方針
・条件網羅率:確認済みの割合
・コンディションカバレッジ:確認済みの割合


と解釈しています。


image piyo2

一言でまとめるよ

まぁ「コンディションカバレッジ」って単語が出てきたら「すべての条件のYes/Noを確認できたらOK!な方針でやっているテストにおける、確認が終わった部分の割合なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「condition(コンディション)」の意味は「状態」とか「状況」とか「様子」とか「様相」とか「条件」とかです。
「coverage(カバレッジ)」の意味は「適用範囲」とかです。
何となく くっつけると

条件の適用範囲

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
AI用語図鑑 ビジネス・開発・試験対策に使える厳選キーワード256
「定年力」の鍛え方 老後の毎日を最高にする方法