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

ステートメントカバレッジ

pointこの用語のポイント

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

pointテスト方針は命令網羅だよ

point命令網羅そのものを意図している場合もあるよ

スポンサーリンク

簡単に書くよ

ステートメントカバレッジ(英:statement coverage)とは

「命令網羅率」のこと。
用語の中身としては

「全部の処理を1回は通りやがれ!」になるように設定してやるテスト(命令網羅でやるテスト)における「テストを全部やると、これだけ確認できるはずだよ。それに対して今はこれだけの確認が終わってるよ」な割合のこと
です。
あるいは

命令網羅(「すべての処理を通ったらOK!」なテスト方針)のこと
を意図している場合も あります。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

カバレッジテストカバレッジ
命令網羅
命令網羅率


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

カバレッジテストカバレッジは「全部で、これだけ確認するよ」に対する「これだけ確認できたよ」の割合です。

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

ステートメントカバレッジ

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

ステートメントカバレッジ2

確認が終わった範囲、言い方を変えると、確認が終わった割合がテストカバレッジです。
日本語で「網羅率」と表現されたりもします。

ステートメントカバレッジ3

ちなみに「カバレッジ」自体の意味は「カバーしている(した)範囲」です。
日本語だと「影響範囲」とか「適用範囲」が近いですかね。

命令網羅は「全部の処理を通ればテストはOKだよね?」なテスト方針です。

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

ステートメントカバレッジ4

ピヨ太プログラムは

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


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

ステートメントカバレッジ5

次に

1.眠い

の条件を満たすと、お昼寝をします。

ステートメントカバレッジ6

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

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

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

if(眠い? == Yes){
  お昼寝をする
}


ステートメントカバレッジ7

ここで「処理」に注目してください。

ピヨ太プログラムがやるかもしれない処理は

1.ケーキを食べる
2.お昼寝をする


の2つです。

ステートメントカバレッジ8

この2つの処理が少なくとも1回は実行されるようにテストするのが「命令網羅」です。

例えば、ピヨ太プログラムを お腹が空いて眠い状態にします。

ステートメントカバレッジ9

そうすると、まずピヨ太プログラムはケーキを食べます。
お腹が空いていますからね。

ステートメントカバレッジ10

次に、お昼寝をします。
眠いですからね。

ステートメントカバレッジ11

おっと、全部の処理が1回は実行されました。

ステートメントカバレッジ12

これでテストは終わりです。

このような

すべての命令(処理)網羅したらテストを終わりにしよう!

なテスト方針が命令網羅です。

命令網羅率は「命令網羅でテストをやってるんだけどさ~。何割くらい確認が終わったかな?」を何となく数字で表したものです。

ピヨ太プログラムを例にとると、命令網羅で確認することは

1.ケーキを食べる
2.お昼寝をする


の2つの処理です。
そのうち1つの確認が取れていれば、命令網羅率は50%になります。

ステートメントカバレッジ13

以上を踏まえて

命令網羅率をカッコ付けて横文字にしたの

が「ステートメントカバレッジ」です。
ステートメントカバレッジと命令網羅率は同じものだと解釈して かまいません。

ステートメントカバレッジ14

あるいは「率」の付いていない「命令網羅」そのものを意図してステートメントカバレッジと表現する人もいます。

ステートメントカバレッジ15

どちらを意図しているかは文脈から判断してください。

なお、私自身は

命令網羅 = ステートメントカバレッジ

と判断しています。
カバレッジ(テストカバレッジ)の意図するところが「これだけ確認できたよ」な割合だからです。

・カバレッジ(テストカバレッジ):確認済みの割合
・命令網羅:テスト方針
・命令網羅率:確認済みの割合
・ステートメントカバレッジ:確認済みの割合


と解釈しています。


image piyo2

一言でまとめるよ

まぁ「ステートメントカバレッジ」って単語が出てきたら「すべての処理を通ったらOK!な方針でやっているテストにおける、確認が終わった部分の割合なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「statement(ステートメント)」の意味は「陳述」とか「声明」とか「供述」とか「計算書」とか「(事業の)報告書」とかです。
「coverage(カバレッジ)」の意味は「適用範囲」とかです。
何となく くっつけると

なんちゃらの適用範囲

となります。

「statement(ステートメント)」をどんな日本語に訳せば良いか分かりませんでした。
ゴメンなさい。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
インフルエンサー六法 活動開始から情報発信、収益化までに潜むトラブル対策50
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
ソフトウェア開発現場の「失敗」集めてみた。 42の失敗事例で学ぶチーム開発のうまい進めかた