更新:2024/12/16
分岐網羅とは?ゆるーくわかりやすく解説


はるか
分岐網羅って知ってる?

ふゅか
うん!ソフトウェアテストの一つだよね。全部の分岐を少なくとも1回はテストする方法でしょ!
1. 分岐網羅の要点
分岐網羅とは・・・
- すべての分岐を少なくとも1回はテストする
- C1とも呼ばれる
- ホワイトボックステストの一つ
- 英語だと、Branch Coverage
2. 分岐網羅とは?
分岐網羅(ぶんきもうら)は、ソフトウェアテストであるホワイトボックステストの一つです。プログラム中の条件分岐がすべて網羅されるようにテストケースを設計・実行することを指します。
2.1. 条件分岐
プログラムの条件分岐は、「if文」や「switch文」のように、コードの実行パスを分岐させる部分を指します。例えば、次のような条件があるとします
if (A > 10):
print("Aは10より大きい")
else:
print("Aは10以下")
条件 A > 10
が真(True)になる場合と偽(False)になる場合の2つの分岐が存在するので、二つの場合をチェックします。
2.2. 英語から推測すると
「英語から推測すると」という観点で「分岐網羅」を解釈すると、英語では “Branch Coverage” と表現されます。この用語は、ソフトウェアテストの分野で広く使われています。
“Branch” は「枝」や「分岐」を意味し、ここではプログラムの条件による分岐を指します。
“Coverage” は「覆う」「カバーする」という意味で、プログラム内のすべての分岐を網羅的にテストすることを意味します。
つまり、Branch Coverage とは、「条件分岐が真(True)と偽(False)の両方を少なくとも1回ずつテストすること」と解釈できます。
3. 分岐網羅の例
ラーメンの注文を例にして考えてみましょう。この店では、ラーメンまたは定食かどうかを選択できます。また、ラーメンの味を味噌、醤油かどうか選択できます。また、大盛かどうかを選択できます。
ここで、「たれを用意する」と「定食を用意する」、「量を6倍にする」という特別な命令を分岐で行います。
ラーメンか定食かどうか
- 醤油 or 味噌
- 定食
大盛は二つの分岐があるので
- 大盛
- 普通
分岐網羅はそれぞれの分岐を必ず1回は実行するという手法です。例では、味噌ラーメン大盛と定食を注文しています。

はるか
味噌か醤油、大盛か普通。これが分岐。

ふゅか
あ!味噌ラーメン大盛と醤油ラーメン普通を選べば、全部の条件をテストできるってことだね!

はるか
そう。これが分岐網羅のイメージ。
PR