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

テストカバレージ

pointこの用語のポイント

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

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

スポンサーリンク

簡単に書くよ

テストカバレージ(英:test coverage)とは

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

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


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「カバレッジ」と「カバレージ」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

カバレッジは「カバーしている(した)範囲」をカッコ付けて言った表現です。

テストカバレージ

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

テストカバレージ2

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

テストカバレージ3

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

テストカバレージ4

カバレージは「カバレッジ」の別の言い方です。

テストカバレージ5

そもそもが英語の「coverage」をカタカナ読みしているだけです。
「カバレッジ」でも「カバレージ」でも間違いとは言えません。

テストカバレージ6

とはいえ、よく見かけるのは「カバレッジ」の方です。
こだわりが なければ「カバレッジ」と表現しておいた方が無難だと思います。

以上を踏まえて

テストにおける「全部で、これだけ確認するよ」に対する「これだけ確認できたよ」の割合

が「テストカバレージ」です。

テストカバレージ7

テストカバレッジ」とも呼ばれます……というか、個人的には「テストカバレッジ」という言い方の方が馴染みがあります。

テストカバレージ8

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

テストカバレージ9

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

テストカバレージ10

確認が終わった範囲、言い方を変えると

確認が終わった割合

がテストカバレージです。

テストカバレージ11

例えば、そうですね。
ここにピヨ太プログラムが ありました。

テストカバレージ12

ピヨ太プログラムは

1.お腹が空いた
2.嫌なことがあった


のどちらかの条件を満たすと、ケーキを食べます。

テストカバレージ13

そんな役立たずなプログラムです。

ピヨ太プログラムの処理を、もう少しプログラムっぽく書くと以下のようになります。

if((お腹が空いた? == Yes) or (嫌なことがあった? == Yes)){
  ケーキを食べる
}


テストカバレージ14

このピヨ太プログラムに対して「処理が枝分かれしたときの行き先を全部1回は確認するぜ!」な方針でテストをやることにしました。
具体的には、ピヨ太プログラムが

1.ケーキを食べる
2.ケーキを食べない


の2つのパターンを、それぞれ確認します。

テストカバレージ15

最初の時点では何も確認できていません。
テストカバレージは0%です。

テストカバレージ16

次にピヨ太プログラムを

1.お腹が空いた? → Yes

の条件に設定してテストをやりました。

テストカバレージ17

このテストにより

1.ケーキを食べる

分岐に入ったときの処理に問題がないことを確認できました。

テストカバレージ18

これでテストカバレージは50%です。
全部で2つ確認するつもりです。
そのうちの1つが確認できました。
半分終わった計算です。

テストカバレージ19

次にピヨ太プログラムを

1.お腹が空いた? → No
2.嫌なことがあった? → No


の条件に設定してテストをやりました。

テストカバレージ20

このテストにより

2.ケーキを食べない

分岐に入ったときの処理に問題がないことを確認できました。

テストカバレージ21

これでテストカバレージは100%です。
全部で2つ確認するつもりです。
そのうちの2つとも確認できました。
全部終わった計算です。

テストカバレージ22

なお、何をもって「全部」と見なすかはケース・バイ・ケースです。
テストの方針や、やり方によります。

今回の例では「枝分かれの行き先」に注目してテストをやりました。
ピヨ太プログラムが

1.ケーキを食べる
2.ケーキを食べない


の2つを確認できれば全部です。
テストカバレージ100%になります。

もし、テストを「枝分かれする要素(条件)」に注目してやったら、どうでしょう。

ピヨ太プログラムにおける枝分かれする要素は

1.お腹が空いた?
2.嫌なことがあった?


の2つです。
それぞれYes/Noのどちらかになるので、

1.お腹が空いた? → Yes
2.お腹が空いた? → No
3.嫌なことがあった? → Yes
4.嫌なことがあった? → No


の4つが考えられます。

この4つを確認することを「全部」とした場合、先ほどのテストでは足りません。
先ほどのテストでは「ケーキを食べる」ルートの

1.お腹が空いた? → Yes

と「ケーキを食べない」ルートの

2.お腹が空いた? → No
4.嫌なことがあった? → No


しかやっていないからです。

3.嫌なことがあった? → Yes

の確認が取れていません。

「枝分かれの行き先」に注目した場合は、テストカバレージが100%(2つ確認する予定の2つ)になりました。
「枝分かれする要素(条件)」に注目した場合は、テストカバレージが75%(4つ確認する予定の3つ)にしかなりませんでした。

やったのは同じテスト内容なのにです。

このように、どのような観点でテストをやるかによって「全部」が変わります。
一応、頭の片隅にでも置いておいてあげてください。


image piyo2

一言でまとめるよ

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

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

おまけ

■訳してみるよ

「test(テスト)」はカタカナで「テスト」で分かりますよね。
「coverage(カバレージ)」の意味は「適用範囲」とかです。
何となく くっつけると

テストの適用範囲

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
つくって、壊して、直して学ぶ Git&GitHub 入門
マンガでわかるITパスポート