C2(複合条件網羅)
テストの方針だよ
条件の組み合わせを、すべて確認できればOKだよ
簡単に書くよ
C2(複合条件網羅)(読:フクゴウジョウケンモウラ)とは
「どれくらい、しっかりテストする?」の方針のひとつ
であり
「条件によって分岐する処理が出てきたとき、取り得るすべてのパターンを確認するぜ!」になるようにテストを設定すること
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「条件分岐処理」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
条件分岐処理は「これだったら、あれをして。これじゃなかったら、それをして」のように、条件を満たすかどうかでプログラムさんにやらせることを変える命令です。
少しプログラミングよりな説明をすると、if文とか、switch文とかを使って書く処理です。
一般的なプログラムでは、途中で処理が条件分岐することも少なくありません。
以上を踏まえて
条件分岐な処理に対して「取り得るパターンを、すべて確認できればテストはOKだよね?」なテスト方針
が「複合条件網羅」です。
たまに「C2」と表現されることも あります。
※正確には「条件網羅」と呼ばれる方針を指す呼び名が「C2」です。複合条件網羅は条件網羅の仲間なので、同じように「C2」と表現しているのでしょう。
「条件」とか言われても、よく分からない人は
「ここの値が変わったら処理の行き先が変わるかもね」な要素
と解釈してください。
「ここの値が変わったら処理の行き先が変わるかもね」な要素が複数ある場合に、すべての組み合わせパターンを最低1回は確認するのが複合条件網羅です。
例えば、そうですね。
ここにピヨ太プログラムが ありました。
ピヨ太プログラムは
1.お腹が空いた
2.嫌なことがあった
のどちらかの条件を満たすと、ケーキを食べます。
そんな役立たずなプログラムです。
ピヨ太プログラムの処理を、もう少しプログラムっぽく書くと以下のようになります。
if((お腹が空いた? == Yes) or (嫌なことがあった? == Yes)){
ケーキを食べる
}
ここで「処理が枝分かれするための条件」に注目してください。
ピヨ太プログラムで出てくる条件(枝分かれの行き先が変わる要素)は
1.お腹が空いた?
2.嫌なことがあった?
の2つです。
それぞれの条件は、YesかNoになります。
つまり、条件の組み合わせは
1.お腹が空いた? → Yes、嫌なことがあった? → Yes
2.お腹が空いた? → Yes、嫌なことがあった? → No
3.お腹が空いた? → No、嫌なことがあった? → Yes
4.お腹が空いた? → No、嫌なことがあった? → No
の4パターン考えられます。
この4パターン全部を確認できるようにテストするのが「複合条件網羅」です。
ピヨ太プログラムを
1.お腹が空いた? → Yes
2.嫌なことがあった? → Yes
にして動かすテストと
1.お腹が空いた? → Yes
2.嫌なことがあった? → No
にして動かすテストと
1.お腹が空いた? → No
2.嫌なことがあった? → Yes
にして動かすテストと
1.お腹が空いた? → No
2.嫌なことがあった? → No
にして動かすテストをやれば複合条件網羅になります。
難しく考える必要は ありません。
「複合条件」と書いてあると難しく見えますけどね。
意図するところは「条件の組み合わせ」です。
すべての複合条件(枝分かれの行き先が変わる要素の組み合わせ)を網羅したらテストを終わりにしよう!
なテスト方針が複合条件網羅です。
一言でまとめるよ
まぁ「複合条件網羅」って単語が出てきたら「『枝分かれ条件の組み合わせパターンを、すべて確認できたらOK!』なテスト方針なんだな~」と お考えください。






