読み方 : じょうけんもうら

条件網羅 【C2】 condition coverage / コンディションカバレッジ

概要

条件網羅(C2)とは、ソフトウェアテストにおける網羅性の水準の一つで、対象プログラム中に含まれる条件分岐について、個々の条件が真あるい偽になる場合を少なくとも一回は含むこと。すべての条件のうちテストされた割合を「条件網羅率」という。

解説 プログラムの内部構造に基づいてテスト方針を決める「ホワイトボックステスト」の網羅性を表すレベルの一つで、複数の条件を組み合わせた条件分岐がある場合に、個々の条件の真偽に着目する。

例えば、if(A or B) という複合的な条件がある場合、Aが真の場合と偽の場合、Bが真の場合と偽の場合のすべてが含まれるようにする。すなわち、(A,B)=(真,真)(偽,偽)の2ケース、あるいは、(A,B)=(真,偽)(偽,真)の2ケースのどちらかをテストすれば網羅できる。

網羅性の水準としては他に「命令網羅」(C0)や「分岐網羅」(C1)などがあり、条件網羅はこれらより多数のテストケースが必要だが網羅性も高くなる。分岐網羅命令網羅を包含するという関係にあるが、条件網羅は必ずしもこれらを含んだり含まれたりするとは限らない。

複合条件網羅 (MCC:Multiple Condition Coverage)

プログラム中の条件分岐に複数の条件の組み合わせがある場合に、そのすべての組み合わせを網羅することを複合条件網羅という。

条件網羅では個々の条件について真と偽の両方が含まれていれば別の条件との組み合わせは関知しないが、複合条件網羅では条件の真偽のすべての組み合わせをテストする必要がある。if(A or B) という2つの条件を組み合わせた分岐の場合、(A,B)=(真,真)(偽,偽)(真,偽)(偽,真)の4ケースが必要となる。

複数条件網羅

「複数条件網羅」という用語は、一般的には複合条件網羅の同義語として、一つの条件分岐に含まれる複数条件のすべての真偽の組み合わせを網羅することを意味する場合が多い。

一方、複合条件網羅とは異なるとする立場もあり、その場合は、プログラム中の複数の条件分岐の真偽のすべての組み合わせを網羅するという意味に解釈することが多い。例えば、テストするプログラム中に条件分岐がXとYの2つ含まれている場合に、(X,Y)=(真,真)(偽,偽)(真,偽)(偽,真)のすべての組み合わせを網羅する。ただし、分岐が入れ子(ネスト)状になっておりXの結果によってYへ到達するか変わる場合にはこの限りではない。

(2021.5.14更新)

他の用語辞典による「条件網羅」の解説 (外部サイト)

資格試験などの「条件網羅」の出題履歴

▼ 基本情報技術者試験
令7修6 問37】 プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(decision coverage)によって設定した。
令4修1 問47】 流れ図において,分岐網羅を満たし,かつ,条件網羅を満たすテストデータの組みはどれか。
テストデータ
xy
22
12
12
00
12
11
01
12
01
02
令3修1 問48】 プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(decision coverage)によって設定した。
令1修7 問48】 プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(decision coverage)によって設定した。
平30春 問49】 プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(decision coverage)によって設定した。
平27春 問50】 図の構造をもつプログラムに対して,ホワイトボックステストのテストケースを設計するとき,少なくとも実施しなければならないテストケース数が最大になるテスト技法はどれか。
平26修6 問48】 次の流れ図において,判定条件網羅(分岐網羅)を満たす最少のテストケースはどれか。
平25修12 問50】 プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(分岐網羅)によって設定した。このテストデータを複数条件網羅による設定に変更したとき,加えるべきテストデータのうち,適切なものはどれか。
平24修7 問52】 次の流れ図に対して判定条件網羅(分岐網羅)を最も少ない件数で満たせる,テストケースはどれか。
平23修7 問51】 プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(分岐網羅)によって設定した。このテストデータを複数条件網羅による設定に変更したとき,加えるべきテストデータのうち,適切なものはどれか。
平21修7 問48】 次の流れ図において,判定条件網羅(分岐網羅)を満たす最少のテストケースはどれか。