キーワード
» 2011年11月07日 00時00分 公開

テストカバレッジ(てすとかばれっじ)情報システム用語事典

test coverage / カバレッジ / 網羅率 / 被覆率

[@IT情報マネジメント編集部,@IT]

 ソフトウェアテストにおいて、テスト対象となるソフトウェア全体のうち、テストした部分/しようとしている部分が占める割合のこと。一般にパーセンテージで表現される。

 カバレッジはテスト種類やテスト対象ごとにさまざまなものが考えられる。最も有名なものとして、プログラムコード(ロジック)をどれだけテストしたかを示すコードカバレッジ(構造カバレッジ)がある。そのほか、仕様書(要件)に対するテスト比を表す仕様カバレッジ(要件カバレッジ)、ユースケースに対するテスト比を示すユースケースカバレッジ、機能の組み合わせに対するテスト比は機能組み合わせカバレッジなどを考えることができる。

 上記のようにテスト項目が実際にどれだけ行われたかを示す実行カバレッジに加えて、行うべきテスト項目がテスト設計にどれだけ反映されているかを評価する設計カバレッジを考えることもできる。これはテスト設計の品質を測る指標となる。

 ソフトウェアテストは本来的にいえば網羅的に行われるべきものであって、その測定指標であるカバレッジはどのテストをどの程度行うべきか、そのテスト設計はどのように行うかを考える際の基準として重要な役割を果たす。別の言い方をすれば、さまざまなソフトウェア技法の特性をとらえるうえで、何のカバレッジを求めているのかを意識することが有効である。

 例えば、仕様カバレッジ(機能カバレッジ)が必要とされる場合はブラックボックステストが中心となり、コードカバレッジ(構造カバレッジ)を求めるホワイトボックステストは補完的な存在となる。機能保証が求められている場面でコードカバレッジ100%を達成しても、機能カバレッジを達成されていることの保証にならない。

 テストカバレッジの数値はしばしば独り歩きするが、カバレッジ指標を有効活用するには単に数字だけを見るのではなく、何を計測しているものなのかを見極めたうえで使い分けをしていくことが重要である。

参考文献

▼『ソフトウェアテスト実践ワークブック——効果的かつ効率的なテスト設計のために』 レックス・ブラック=著/成田光彰=訳/日経BP社/2007年1月(『Effective and Efficient Software Testing』の邦訳)

▼『基本から学ぶソフトウェアテスト——テストの「プロ」を目指す人のために』 セム・ケイナー、ジャック・フォーク、フン・クォック・グエン=著/テスト技術者交流会=訳/日経BP社/2001年11月(『Testing Computer Software, 2nd Edition』の邦訳)


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ