忍者ブログ
Calendar
<< 2024/09 >>
SMTWTFS
1234 567
891011 121314
15161718 192021
22232425 262728
2930
Recent Entry
Recent Comment
Category
357   356   355   354   353   352   351   350   349   348   347  
カテゴリ: | 2024-09-19 (Thu)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

 プログラムのホワイトボックステストのテストケース設計で、テストカバレッジの話が出てきます。命令網羅・分岐網羅・条件網羅とか、C0網羅、C1網羅、C2網羅とかの用語で出てくるアレです。

 ところが、文献やWebサイトによって、その内容がまちまちになっています。例えば、
 if ( a = 1 && b = 2) {
   処理1を実行;
 } else {
   処理2を実行;
 }
という部分があるとき、条件網羅のテストケースはどうなるでしょう。

 (a = 1, b = 2)をテストケースとして処理1が実行されることを確認するのは、異論ありません。

 処理2の部分はどうするべきか。(a = 0, b = 0)をテストケースにすればよいとする文献もあれば、(a = 1, b = 0), (a = 0, b = 1)もテストケースに加えるとしている文献もあります。

 もちろん、AND条件とOR条件を誤って ( a = 1 || b = 2 ) とプログラミングした場合、(a = 0, b = 0) だけではバグに気付かないので、テストそのものとしては(a = 1, b = 0), (a = 0, b = 1)も行うのがよいでしょう。

 テストカバレッジは、Edward F. Miller,Jr. により1970年代に提唱された概念です。しかし提唱者本人がC0とかC1とかの定義をたびたび変更したので、今日まで混乱を引きずっているようなのです。1977年の“Program Testing: Art Meets Theory” を見ると、C0は“Programmer's intuition” (プログラマの直感)なんて書いてあるので、命令網羅でさえありません。

 用語の定義がぶれている以上、試験問題には使わないほうがいいのかなと思います。最近の情報処理技術者試験では使われていないかも?
PR

コメント
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:
Keiji
性別:
非公開
カレンダー
08 2024/09 10
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
最新コメント
[11/25 ぷらら]
[08/29 User Unknown]
[08/29 User Unknown]
[08/29 二村]
[08/29 User Unknown]
ブログ内検索
カウンター
アクセス解析
Template & Icon by kura07 / Photo by Abundant Shine
Powered by [PR]
/ 忍者ブログ