テストカバレッジ 【test coverage】 コードカバレッジ / code coverage / コードカバー率 / コード網羅率
プログラムの構造を前提として行われるホワイトボックステストで用いられる考え方で、プログラムを構成するコード全体のうち、テスト済みのコードの割合を表す。コードの何を数えるのかによっていくつかの測定手法に分かれる。
ソースコードを構成する個々の命令や文(statement)に着目し、なるべく多くの文をテストする考え方を「文網羅」「命令網羅」(statement coverage)という。制御構文による分岐に着目し、なるべく多くの分岐をテストする考え方を「分岐網羅」(branch coverage)あるいは「判定条件網羅」(decision coverage)という。
コード中に含まれる条件判定に着目し、なるべく多くの条件について真(true)の場合と偽(false)の場合をテストする考え方を「条件網羅」(condition coverage)という。複合的な条件式がある場合に、条件の真偽の組み合わせをなるべく多くテストする考え方を「複合条件網羅」(multiple condition coverage)という。
テストカバレッジが100%に近づくようにテストケースを作成することで漏れや抜けの少ない高品質なテストを実施できるが、すべてのカバレッジが100%だからといって不具合のないプログラムであるとは言えない。
例えば、機能の実装に漏れがあるといった場合にはカバレッジの割合を高めることでこれを検知することはできない。また、条件分岐の記述に誤りがあり到達不能コード(デッドコード)が生じている場合など、欠陥自体が原因となってカバレッジを高められない状況が発生することがある。
(2022.7.13更新)