コード網羅率
コード網羅率の測定にはいくつかの手法があり、主なものとしては以下のような手法がある。
文網羅 - ソースコードの各文がテストで実行されたかどうかで判断する。
分岐網羅 - 制御構造上の分岐でそれぞれの分岐方向がテストされたかどうかで判断する。
条件網羅 - 分岐条件の各項で真と偽の両方がテストされたかどうかで判断する。
経路網羅 - 対象コードの考えられる全ての経路についてテストで実行されたかどうかで判断する。
入口/出口網羅 - 存在する全ての関数呼び出しがテストで実行されたかどうかで判断する。
インフラなどの重要なアプリケーションでは、何らかの形でコード網羅率 100% のテストを実施したことを示すよう要求されることが多い。
上で列挙した手法は相互に関係している。例えば経路網羅は、分岐網羅、文網羅、入口/出口網羅を含んでいる。文網羅は分岐網羅を含まない。以下のC言語のコードを考える。
この関数 "foo" を引数 "bar = -1" で呼び出すと、文網羅は達成される。