ベース選出カバレッジ(ベースチョイスカバレッジ、Base Choice Coverage、BCC)は、組み合わせテストのカバレッジの一種です。有用なカバレッジ基準ですが、執筆時点で日本語情報が少なかったため、情報をまとめます。
ベース選出カバレッジとは
ベース選出カバレッジは、組み合わせテストにおいて、パラメータにベースとなる重要な値がある場合に適用します。このベースとなる値は、最も重要な値、ハッピーパスの値、デフォルトとして選ぶべき値が該当します。
ベース選出カバレッジ100%の組み合わせは、このベースの値を基準に、次のように作成します。
- 各パラメータからベースを選出した組み合わせを作る。この組み合わせをベースカバレッジアイテムと呼ぶ
- ベースカバレッジアイテムのうち、一つのパラメータについて、値を非ベース値に置き換えて組み合わせを作る。この作業をすべてのパラメータの値を網羅するまで繰り返して、組み合わせを作る
ベース選出カバレッジは、上記で作成したすべての組み合わせのうち、テストで網羅できた組み合わせの割合を示します。
ベース選出カバレッジの具体例
原則論ですとわかりにくいため、具体例で解説します。次のパラメータと値を持つ仕様があるとします。
- 題材:写真加工アプリの加工選択機能
- テスト対象が持つパラメータと値は次の通り:
- フィルタ:標準、モノクロ、ドラマチック
- 彩度:標準、強調
- 明るさ:標準、-10%、+10%
この仕様でのベース値は、パラメータごとに「フィルタ:標準」「彩度:標準」「明るさ:標準」とします。
この場合、ベースカバレッジアイテムとする組み合わせは以下になります。
- フィルタ:標準、彩度:標準、明るさ:標準
そして、このベースカバレッジアイテムを基本に、その他の組み合わせを作ります。具体的に、ベースカバレッジアイテムの値の一つをベース以外の値に置き換えて組み合わせを作ります。これを全値を網羅するまで繰り返します。今回の題材の場合、作られる組み合わせは以下になります。
- フィルタ:モノクロ、彩度:標準、明るさ:標準
- フィルタ:ドラマティック、彩度:標準、明るさ:標準
- フィルタ:標準、彩度:強調、明るさ:標準
- フィルタ:標準、彩度:標準、明るさ:-10%
- フィルタ:標準、彩度:標準、明るさ:+10%
これら、ベースカバレッジアイテムと、その他の組み合わせを合わせた6つの組み合わせが、ベース選出カバレッジ100%の組み合わせです。
仮にテスト設計で6つの組み合わせのうち2つの組み合わせを網羅できたら、ベース選出カバレッジは33.3%になります。
複数ベース選出カバレッジ(Multiple Base Choice Coverage:MBCC)
ベース選出カバレッジの拡張に、複数ベース選出カバレッジがあります。
複数ベース選出カバレッジは、一つのパラメータが複数のベース値を取る場合に適用するカバレッジです。この場合、ベース値の全組み合わせをベースカバレッジアイテムとし、そのベースカバレッジアイテムの値を非ベース値に一つ一つ変えて、100%組み合わせを作ります。
他の組み合わせテスト技法との比較
全組み合わせカバレッジ(All Combinations Coverage:ACoC)と比べると、複数ベース選出カバレッジ、ベース選出カバレッジ100%網羅は、非ベース値についての組み合わせカバレッジが少なくなります。
1ワイズカバレッジ、各値選択カバレッジ(Each Choice Coverage:ECC)と比べると、ベース値に関わる組み合わせが厚くなります。
ペアワイズカバレッジ(Pair-Wise Coverage:PWC)と比べると、ベース値に関わるペアは網羅されるものの、それ以外の2値網羅はカバレッジが低くなります。
上記の特徴から、全網羅は困難であるものの、ベース値がありそれを中心に網羅したい場合に、ベース選出カバレッジは有力な選択になります。