カテゴリ: |
2025-04-24 (Thu)
|
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
カテゴリ:【FE】基本情報技術者 |
2012-09-25 (Tue)
|
プログラムのホワイトボックステストのテストケース設計で、テストカバレッジの話が出てきます。命令網羅・分岐網羅・条件網羅とか、C0網羅、C1網羅、C2網羅とかの用語で出てくるアレです。
ところが、文献やWebサイトによって、その内容がまちまちになっています。例えば、
という部分があるとき、条件網羅のテストケースはどうなるでしょう。
(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” (プログラマの直感)なんて書いてあるので、命令網羅でさえありません。
用語の定義がぶれている以上、試験問題には使わないほうがいいのかなと思います。最近の情報処理技術者試験では使われていないかも?
ところが、文献や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
コメント
|
プロフィール
|
HN:
Keiji
性別:
非公開
カレンダー
|
カテゴリー
|
アーカイブ
|
最新コメント
|
ブログ内検索
|
カウンター
|
アクセス解析
|