「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

コードカバレッジ

pointこの用語のポイント

point全体に対して、どれくらいの確認が終わったか?だよ

point何を「全体」と見なすかはケース・バイ・ケースだよ

point人によって微妙に解釈が違ったりもするよ

スポンサーリンク

簡単に書くよ

コードカバレッジ(英:code coverage)とは

「テストカバレッジ」のこと。
用語の中身としては

「テストを全部やると、これだけ確認できるはずだよ。それに対して今はこれだけの確認が終わってるよ」な割合のこと
です。

あるいは

「ソースコード(人間語で書いたプログラムの元ネタ)全体で100行あるよ。それに対して50行分の確認が終わってるから、50%の確認が終わったね!」のような、ソースコード全体に対する確認が終わった割合のこと
です。


image piyo

詳しく書くよ

コード」+「カバレッジ」で「コードカバレッジ」です。

コードカバレッジ

今回 登場する「コード」は「ソースコード」の省略表現です。

コードカバレッジ2

ソースコードは「人間語で書いたプログラムの元ネタ」です。
人間語で書いた元ネタをコンピュータさんが分かる形に翻訳コンパイルすることで実際に動くプログラムになります。

コードカバレッジ3

カバレッジは「あ~、こいつはね。全体に対して、これくらいをカバーしているよ(したよ)」的なことをカッコ付けて言った表現です。

コードカバレッジ4

全体は、これくらいです。

コードカバレッジ5

ピヨ太君は、これくらいカバーしています。

コードカバレッジ6

ピヨ太君のカバーしている範囲がピヨ太君のカバレッジです。

コードカバレッジ7

以上を踏まえて、ソースコード全体に対する何かがカバーしている範囲がコードカバレッジです。

一体、何がカバーしている範囲なのでしょうね?

ズバリ!
テストにおける確認です。

ソースコードに対する「確認が終わった範囲(割合)

がコードカバレッジです。

テスト全体で、これくらいの確認をします。

コードカバレッジ8

そのうち、これくらいの確認が終わりました。

コードカバレッジ9

確認が終わった部分の割合がコードカバレッジです。

コードカバレッジ10

例えば、そうですね。
テストで100項目確認するとしましょう。
そのうち30項目の確認が終わりました。
その場合のコードカバレッジは30%です。

コードカバレッジ11

なお、コードカバレッジは「テストカバレッジカバレッジ」や「網羅率」と表現されることも あります。
気が向いたら、覚えてあげてください。

……というのが、一番広く解釈した場合のコードカバレッジの説明です。

いろいろ調べてみたのですが、人によっては微妙に解釈の仕方が違うっぽくてですね。

中には「(確認する項目の数ではなく)ソースコードの量に対する確認が終わった割合」を意図して「コードカバレッジ」と表現している人がいました。

例えば、そうですね。
100行のソースコードが ありました。
そのうち30行目までの確認事項を確認し終わりました。
その場合のコードカバレッジは30%です。

コードカバレッジ12

さらに、そこから派生したのか「命令網羅率」を意図して「コードカバレッジ」と表現している人もいました。

おっと、これは大変です。
「命令網羅率」とかいう小難しい漢字が満載の単語が出てきました。

さくっと説明しておきますね。
命令網羅は「全部の処理を通ればテストはOKだよね?」なテスト方針です。
プログラムというのは、いろいろな「処理」をします。
その処理を少なくとも1回は通るようにテストをするのが命令網羅です。
※詳細は、用語「命令網羅」の説明を ご覧ください。

コードカバレッジ13

命令網羅率は「命令網羅でテストをやってるんだけどさ~。何割くらい確認が終わったかな?」を何となく数字で表したものです。
命令網羅における確認の消化」と言えますかね。
処理(命令)が2つあって、そのうちの1つを確認できれば命令網羅率は50%です。

コードカバレッジ14

確かにプログラムというのは処理の集まりです。
「ソースコードに書いてあるのは処理」と言えます。
だから「命令網羅率」を意図して「コードカバレッジ」と表現したのでしょう。

とはいえ、個人的な印象では「テストにおける確認が終わった部分の割合(=テストカバレッジ)」を意図して「コードカバレッジ」と表現している人が多いように感じます。
基本的には、その解釈で問題ないはずです。

もしも「コードカバレッジ」と「テストカバレッジ」が一緒に出てきたら要注意です。
「こいつは、どんな意味で『コードカバレッジ』という用語を使っているのかな?」を考えてあげてください。


image piyo2

一言でまとめるよ

まぁ「コードカバレッジ」って単語が出てきたら「テストにおける確認が終わった部分の割合なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像001
書籍画像078

おまけ

■訳してみるよ

「code(コード)」は今回は「source code(ソースコード)」の略です。
「source code(ソースコード)」はIT用語の「ソースコード」です。
「source(ソース)」の意味は「源」とか「起源」とか「根源」とかです。
「code(コード)」の意味は「記号」とか「暗号」とか「符号」とか「コード」とかです。
「coverage(カバレッジ)」の意味は「適用範囲」とかです。
何となく くっつけると

源の記号の適用範囲

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
ウォーターサーバーのキャッチコピーを100本考える方法
サイバー忍者入門 忍者・スパイ・軍隊・ハッカーに学ぶ フルスタック・ハッキング