平成30年春期試験問題 午前問49
問49解説へ
プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(decision coverage)によって設定した。このテストデータを複数条件網羅(multiple condition coverage)による設定に変更したとき,加えるべきテストデータのうち,適切なものはどれか。ここで,( )で囲んだ部分は,一組みのテストデータを表すものとする。・判定条件網羅によるテストデータ
(A=4,B=1),(A=5,B=0)
(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=4,B=1)→No
- (A=5,B=0)→Yes
このテストデータを複数条件網羅にする場合は、複数ある判定条件の可能な結果の組合せを網羅することになるので、
- A→真,B→真
- A→真,B→偽
- A→偽,B→真
- A→偽,B→偽
A=4→偽,B=1→偽
A=5→偽,B=0→真
なので、残る2つの組み合わせ(A→真,B→真 と A→真,B→偽)を満たすテストデータが答えです。判定条件を考えると、A=5→偽,B=0→真
A→真,B→真…A>6,B=0 //(1)
A→真,B→偽…A>6,B≠0 //(2)
というテストデータの条件がわかるので、選択肢のテストデータを当てはめていくと「(A=7,B=0),(A=8,B=2)」が適切ということになります。よって「エ」が正解です。A→真,B→偽…A>6,B≠0 //(2)
A=7→真,B=0→真 //(1)A>6,B=0を満たす
A=8→真,B=2→偽 //(2)A>6,B≠0を満たす
A=8→真,B=2→偽 //(2)A>6,B≠0を満たす
広告