3.パス網羅の種類
ホワイトボックス・テストの代表がパス網羅で、パス網羅はホワイトボックス・テストの王様です。パス網羅にもいろいろありますが、代表がC0、C1、C2の3種類でしょう(*3)。前回(猫でも使えるソフトウェアのテスト網羅(1):基本のC0パス・カバレッジ)の表を以下に再掲します。
表.1 パス・カバレッジの詳細 | ||
---|---|---|
パス・カバレッジ | 詳細 | 達成難度 |
C0(命令網羅) | 全命令語を最低一回はテストする | 容易 |
C1(分岐網羅) | 条件文の結果が「真」、「偽」になる両方をテストする | そこそこ |
C2(複合条件網羅) | 条件文の「真」と「偽」の組み合わせをテストする | 非常に困難 |
三者の網羅の違いを図1の具体的なパスで示します。
C0パス・カバレッジは、命令語だけを網羅(実行)すればよく、図の命令語(図中のマル印)に色がつけばよいので、図1 では、「P1・P3」の1本を実行すれば「網羅率100%」となります。
C1パス・カバレッジは、分岐の網羅で、図の全ての「矢印」に色をつけることになります。図1では、「P1・P3」と「P2・P4」(あるいは、「P1・P4」と「P2・P3」)の2本を実行すれば「C1網羅率100%」です。
C2パス・カバレッジは、分岐条件の全組み合わせを網羅しますので、図の条件文Aと条件文B、全ての組み合わせを網羅せねばなりません。図1では、「P1・P3」「P1・P4」「P2・P3」「P2・P4」の4本を実行しないと「C2網羅率100%」になりません。
カバレッジに必要な時間(および、コスト)は、この例では、C0を1とすると、C1が2倍、C2は4倍になります。C0網羅でさえ100%網羅はものすごく大変なのに、C1さらにはC2カバレッジ実行の面倒さは推して知るべしです。
Copyright © ITmedia, Inc. All Rights Reserved.