テストカバレッジ【test coverage】コードカバレッジ

別名 : code coverageコードカバー率コード網羅率

概要

テストカバレッジとは、ソフトウェアテストの進捗を表す尺度の一つで、テスト対象のソースコードのうち、どの程度の割合のコードがテストされたかを表すもの。
テストカバレッジのイメージ画像

プログラムの構造を前提として行われるホワイトボックステストで用いられる考え方で、プログラムを構成するコード全体のうち、テスト済みのコードの割合を表す。コードの何を数えるのかによっていくつかの測定手法に分かれる。

ソースコードを構成する個々の命令や文(statement)に着目し、なるべく多くの文をテストする考え方を「文網羅」「命令網羅」(statement coverage)という。制御構文による分岐に着目し、なるべく多くの分岐をテストする考え方を「分岐網羅」(branch coverage)あるいは「判定条件網羅」(decision coverage)という。

コード中に含まれる条件判定に着目し、なるべく多くの条件について真(true)の場合と偽(false)の場合をテストする考え方を「条件網羅」(condition coverage)という。複合的な条件式がある場合に、条件の真偽の組み合わせをなるべく多くテストする考え方を「複合条件網羅」(multiple condition coverage)という。

テストカバレッジが100%に近づくようにテストケースを作成することで漏れや抜けの少ない高品質なテストを実施できるが、すべてのカバレッジが100%だからといって不具合のないプログラムであるとは言えない。

例えば、機能の実装に漏れがあるといった場合にはカバレッジの割合を高めることでこれを検知することはできない。また、条件分岐の記述に誤りがあり到達不能コードデッドコード)が生じている場合など、欠陥自体が原因となってカバレッジを高められない状況が発生することがある。

(2022.7.13更新)

他の用語辞典による「テストカバレッジ」の解説 (外部サイト)

資格試験などの「テストカバレッジ」の出題履歴

▼ ITパスポート試験
平22秋 問51】 システム開発プロジェクトにおいて、成果物の品質を評価するために使用する指標として、適切なものはどれか。
▼ 基本情報技術者試験
令6修12 問14】 ホワイトボックステストにおいて,プログラムの実行された部分の割合を測定するのに使うものはどれか。
令1修7 問19】 ホワイトボックステストにおいて,プログラムの実行された部分の割合を測定するのに使うものはどれか。
平25春 問22】 ホワイトボックステストにおいて,コード中のどれだけの割合の部分を実行できたかを評価するのに使うものはどれか。