今日は、上手です。
> 小野です。
>
> >> Regarding [XP-jp:03606] Re: ソフトウェア品質指標についての考察;
> Shibukawa Yoshiki <yoshiki@....jp> adds:
>
> > 渋川です。詳しいご教授ありがとうございます。
> > なるほど、実行パスの定義が異なるんですね。
> >> ・C0: statement coverage
> >> 全ての命令が実行されるようにパスを設定します。
> >> この例なら、cond1 == cond2 == trueというパスが1つです。
> >> ・C1: branch coverage
> >> 分岐があったら、各分岐点の全分岐先へ実行が進むように
> >> パスを設定します。
>
> > ふむふむC0はC1に内包されるんですね。
>
> たしか違うはずです。
> C0 テストでは見つからないが、C1 なら見つかるバグと、
> C1 テストでは見つからないが C0 テストでは見つかるバグ
> があったはずです。前者は「分岐の一方がセルフループ」、後者は
> 「何処からも呼ばれないサブルーチン」だったと思います。
>
> ちょっと記憶があやふやなので、詳しい方はヘルプを..
手許にある「ソフトウェアテスト技法」ボリス・バイザー 日経BP出版センター
では
ステートメントテストP1=c0
ブランチテスト=P2=c1
となってますね。(P58〜)
C0はC1に含まれる、ようですが?
小野さんが、この辺りを深読みされてるのでしたら、私のコメントは外れですが
・・
#なお、この本はテスト技法の古典2位で、古典1は「ソフトウェア・テストの
技法」マイヤー、近代科学社です。P41〜P50位にこの議論があります。
(では)