テストカバレッジとは
プログラムをどこまでちゃんと調べたかの点検率がテストカバレッジ
です。
コードを書いたとき、そのコードが正しく動くかどうかをテストします。
テストしていない部分があればバグの原因になる可能性がありますよね。
「テストカバレッジ」が高ければ高いほど、コード全体をしっかりテストしたということになります。ただ全部テストをしていると口数がかかりすぎてしまうので、ここをどうするかが大事です。
カバレッジの種類
カバレッジには、以下の4種類があります。
カバレッジ | どんなテストか | どこをテストしたか |
---|---|---|
C0 | 命令網羅(ステートメントカバレッジ/行カバレッジ) | コードの行が実行されたかどうか |
C1 | 分岐網羅(ブランチ・カバレッジ/条件カバレッジ) | 条件分岐のすべてのパスが実行されたかどうか |
C2 | 条件網羅(コンディション・カバレッジ/) | 条件内のすべての論理的なパスがテストされたかどうかを評価 |
MCC | 複合条件網羅(マルチコンディション・カバレッジ) | 個々の条件式の真偽を、全ての組み合わせ通りテスト |
関数カバレッジ
関数ごとにテストが実行されたかを測定します。これはC0やC1のように定義されるカバレッジではありませんが、関数が呼び出されたかどうかを確認するために使われるみたいです。
C2にしてもバグが出る
C2までやってもバグが出たりしますし、工数がかかってしまうリスクはあるので、
ただ単にC2までやればいい訳ではなさそうです。
E2Eテスト
ソフトウェアの全体的な動作を確認するためのテストです。
E2Eのテストは動作が重くなるデメリットはありますね。
テストカバレッジ資料