基本情報技術者平成30年春期 午前問49

問49

プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(decision coverage)によって設定した。このテストデータを複数条件網羅(multiple condition coverage)による設定に変更したとき,加えるべきテストデータのうち,適切なものはどれか。ここで,( )で囲んだ部分は,一組みのテストデータを表すものとする。
49.png/image-size:147×173
・判定条件網羅によるテストデータ
  (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)
  • [出題歴]
  • 基本情報技術者 H20春期 問48
  • ソフトウェア開発技術者 H18春期 問46

分類

テクノロジ系 » システム開発技術 » ソフトウェア構築

正解

解説

ホワイトボックステストにおける網羅性のレベルである「判定条件網羅」とは、プログラム中の判定条件で結果が真となる場合、偽となる場合を少なくとも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を満たす
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop