code coverageとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > code coverageの意味・解説 

コード網羅率

(code coverage から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/08 18:40 UTC 版)

ナビゲーションに移動 検索に移動

コード網羅率(コードもうらりつ、: Code coverageコードカバレッジ)は、ソフトウェアテストで用いられる尺度の1つである。プログラムソースコードがテストされた割合を意味する。この場合のテストはコードを見ながら行うもので、ホワイトボックステストに分類される。

コード網羅率は体系的なソフトウェアテストのための技法として最初に生み出されたものの1つである。1963年の Communications of the ACM にある Miller と Maloney の論文に言及されているのが最初である。

手法

コード網羅率の測定にはいくつかの手法があり、主なものとしては以下のような手法がある。

  • 文網羅 - ソースコードの各文がテストで実行されたかどうかで判断する。
  • 分岐網羅 - 制御構造上の分岐でそれぞれの分岐方向がテストされたかどうかで判断する。
  • 条件網羅 - 分岐条件の各項で真と偽の両方がテストされたかどうかで判断する。
  • 経路網羅 - 対象コードの考えられる全ての経路についてテストで実行されたかどうかで判断する。
  • 入口/出口網羅 - 存在する全ての関数呼び出しがテストで実行されたかどうかで判断する。

インフラなどの重要なアプリケーションでは、何らかの形でコード網羅率 100% のテストを実施したことを示すよう要求されることが多い。

上で列挙した手法は相互に関係している。例えば経路網羅は、分岐網羅、文網羅、入口/出口網羅を含んでいる。文網羅は分岐網羅を含まない。以下のC言語のコードを考える。

void foo(int bar)
{
   printf("This is "); 
   if (bar < 0)
   {
      printf("not ");
   }
   printf("a positive integer.\n");
   return;
}

この関数 "foo" を引数 "bar = -1" で呼び出すと、文網羅は達成される。しかし、分岐網羅は達成されていない。

完全な経路網羅は実際には現実的でないし、不可能とされる。n 個の判断が行われるモジュールでは、最大 2n 個の経路が理論上存在する。ループがあれば無限の経路が存在することもある。また、タイミングに依存するような条件分岐では、テストではそのような条件を生成できないことがある。しかし、テスト不可能な経路を特定する汎用のアルゴリズムは存在しないことがわかっている(チューリングマシンの停止問題と等価であることが示されている)。実用的な経路網羅の手法としては、ループ回数が異なるだけの経路を経路クラスとしてひとまとめにして、経路クラスを網羅するようにする。

一般に、一連のテストを実行してから、その結果を分析してコード網羅率を算出し、必要に応じてテストを修正して再試行する。このようなテスト作成の最終的な目的は、コードの修正時のバグ作りこみを防ぐ回帰テストの作成にある。

コード網羅率は一般に百分率で表される。ただし、手法によって同じテストでも数字が変わってくるので注意が必要である。

関連項目

外部リンク


「Code coverage」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「code coverage」の関連用語

code coverageのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



code coverageのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのコード網羅率 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS