ブランチカバレッジ JSTQB Foundation Level新シラバスのキーワード解説!
ブランチカバレッジは、ソフトウェアテストで使用されるカバレッジ測定の一種で、ソースコード内のすべての制御フローブランチ(制御の遷移)がテストケースによって実行されるかどうかを測定します。主なポイントは以下の通りです。
-
ブランチとは ブランチは、プログラムの制御フローグラフの2つのノード間の遷移を指します。これには無条件の遷移(直列コード)と条件付きの遷移(if文やswitch文などの判定による)が含まれます。
-
ブランチテストの目的 ブランチテストの目的は、コード内の各ブランチを通過するテストケースを設計し、許容可能なレベルのブランチカバレッジを達成することです。
-
ブランチカバレッジの計算 ブランチカバレッジは、テストケースによって通過されたブランチの数を、コード内の総ブランチ数で割って計算されます。この値はパーセンテージで表されます。
-
100%ブランチカバレッジ ブランチカバレッジが100%になると、コード内のすべてのブランチがテストされていることを意味します。これには、すべての条件ブランチ(if文、switch文、ループ内の判定など)が含まれます。
-
ブランチカバレッジの限界 ブランチカバレッジが100%であっても、コード内の特定のパスを実行する必要があるような欠陥が見逃される可能性があります。また、ブランチカバレッジはステートメントカバレッジを包含しますが、ステートメントカバレッジ100%がブランチカバレッジ100%を意味するわけではありません。
ブランチカバレッジはソフトウェアの品質を評価するための重要な指標ですが、全ての欠陥を検出できるわけではないため、他のテスト技法やカバレッジ指標と組み合わせて使用することが推奨されます。
※説明上、100%という記載をしていますが、実際は100%を目指すのは費用対効果が低いので、適切なカバレッジ目標を立てることが重要です。
Discussion