http://puritama.exblog.jp/1402797/より転載
カバレージだとかの再考
C0カバレージについて、いろいろと、しかし、まったり考えていた。
私の基本はソフトウェアテスト技法(ボーリス・バイザー著)である。
これはテストのデパートとか、カタログとかいわれている本らしい。
といっても、私はテストのプロではない。しがないプログラマーである。
それはおいておいて、
C0カバレージについてだ。
この本の記述における
C1カバレージ、C2カバレージに該当する内容について見ていると、
ネット上でC0といっているのは100%ステートメントカバレージのことだ。
そしてC1カバレージはブランチカバレージのことである。
つまり、
バイザー : ネット(一般?)
C1 → C0 (ステートメントカバレージ)
C2 → C1 (ブランチカバレージ/セグメントカバレージ)
という関係である。
当然、バイザーもいっているように新規開発のプログラムに対するテストがC1(C0)を満たさないのは怠慢であり、犯罪だ。
だれかに”C0は必ず”と言われたら、馬鹿にするな!と(誇り高いプログラマーならば)怒るべきである。
結局、何がいいたいかというと、
C0だとかC1だとかいわれたら、
認識の違いが結局プロジェクトを頓挫させる原因の一つであるからには、面倒でも是非とも言葉で確認するべきだろう。
それって、ステートメントカバレージのことですよね?と。
これに答えられない相手は、口だけかよ!と心の中で笑おう。
補足:
ネットの記事の中にはC0がパスカバレージのケースもあるが、パスカバレージ100%はそもそも現実的に実現不可能であり、また、ここの検索ワードでは C0が多いという事実から、C0は実現可能なカバレージを表しているであろうと判断し、C0=ステートメントカバレージとしました。
