平成20年春期試験問題 午前問48

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(分岐網羅)によって設定した。このテストデータを複数条件網羅による設定に変更したとき,加えるべきテストデータのうち,適切なものはどれか。ここで,( )で囲んだ部分は,一組のテストデータを表すものとする。
48.png
・判定条件網羅(分岐網羅)によるテストデータ
  (A=4,B=1),(A=5,B=0)

  • (A=3,B=0),(A=7,B=2)
  • (A=3,B=2),(A=8,B=0)
  • (A=4,B=0),(A=8,B=0)
  • (A=7,B=0),(A=8,B=2)
正解 問題へ
分野:テクノロジ系
中分類:システム開発技術
小分類:ソフトウェア構築
解説
ホワイトボックステストにおける網羅性のレベルである「判定条件網羅」とは、プログラム中の判定条件で結果が真となる場合、偽となる場合を少なくとも1回は実行するようにテストケースを設計することです。

網羅性のレベルには判定条件網羅の他にも次のようなものあります。
命令網羅(網羅性:低い↑)
すべての命令を少なくとも1回は実行するテストケースを設計する。
分岐網羅(判定条件網羅)
判定条件の真偽を少なくとも1回は実行するテストケースを設計する。
条件網羅
判定条件が複数ある場合に、それぞれの条件が真・偽の場合を組み合わせたテストケースを設計する。
判定条件・条件網羅
判定条件網羅と条件網羅を組み合わせてテストケースを設計する。
複数条件網羅(網羅性:高↓)
判定条件のすべての可能な結果の組合せを網羅し、かつ、すべての命令を少なくとも1回は実行するようにテストケースを作成する。
図の分岐判定条件は「A>6 or B=0」なので、
  • (A=4,B=1)→No
  • (A=5,B=0)→Yes
で判定条件の真偽をそれぞれ1回は実行できます。(判定条件網羅)

このテストデータを複数条件網羅にする場合は、複数ある判定条件の可能な結果の組合せを網羅することになるので、
  • A→真,B→真
  • A→真,B→偽
  • A→偽,B→真
  • A→偽,B→偽
となる最低4つのテストデータを用意する必要があります。上記のテストデータ(A=4,B=1),(A=5,B=0)は、
A=4→偽,B=1→偽
A=5→偽,B=0→真
なので、残る2つの組み合わせ(A→真,B→真 と A→真,B→偽)を満たすテストデータが答えです。判定条件を考えると、
A→真,B→真…A>6,B=0 //(1)
A→真,B→偽…A>6,B≠0 //(2)
というテストデータの条件がわかるので、選択肢のテストデータを当てはめていくと「(A=7,B=0),(A=8,B=2)」が適切ということになります。よって「エ」が正解です。
A=7→真,B=0→真 //(1)A>6,B=0を満たす
A=8→真,B=2→偽 //(2)A>6,B≠0を満たす

この問題の出題歴


Pagetop