🎸

C1カバレッジ DevOps, マイクロサービスにおけるQAに関するキーワード解説

2024/04/26に公開

C1カバレッジとは

※C1カバレッジはブランチカバレッジと同義です。

C1カバレッジ、またはブランチカバレッジ(条件カバレッジとも呼ばれることがあります)は、ソフトウェアテストのカバレッジ指標の一つで、プログラム内の全ての可能な分岐(if文、ループなどの条件分岐を含む)が少なくとも一度は実行されるかどうかを測定します。このカバレッジの目的は、プログラムの論理的なパスを全て検証し、条件分岐に関連するバグや問題を発見することにあります。

DevOpsとマイクロサービス時代のQA: 高品質なソフトウェアを目指してに出てくるキーワードを解説しています。

サンプルコード

def user_message(age):
    if age >= 18:
        return "You are an adult."
    else:
        return "You are a minor."

# テストケース
def test_user_message():
    assert user_message(20) == "You are an adult."
    assert user_message(17) == "You are a minor."

具体的には、C1カバレッジは各分岐点で可能な両方の結果(真と偽)がテストによって引き起こされることを保証します。例えば、if文がある場合、if文の条件がtrueにもfalseにもなるようなテストケースを準備する必要があります。これにより、プログラムの各分岐が意図した通りに機能するか、または予期せぬ挙動を示すかを確認できます。

上記サンプルで言うと、age=20はif文の条件がtrueであることを検証し、age=17はif文の条件がfalseであることを検証しています。

C1カバレッジを高めることは、プログラムのロジックに潜在的な欠陥がないことをより確実にする一歩となります。ただし、完全なC1カバレッジがあっても、プログラムがバグフリーであることを完全に保証するものではありません。なぜなら、C1カバレッジはパスの網羅性を測定するものであり、全ての入力値やプログラムの状態の組み合わせをテストするわけではないからです。それでも、C1カバレッジはソフトウェアテストの重要な側面であり、品質保証のプロセスで広く使用されています。

Discussion