平成30年度 春期 基本情報技術者試験 午前 問49
テクノロジ/開発技術プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(decision coverage)によって設定した。このテストデータを複数条件網羅(multiple condition coverage)による設定に変更するとき,加えるべきテストデータのうち,適切なものはどれか。ここで,()で囲んだ部分は,一組みのテストデータを表すものとする。 〔流れ図〕 処理1を実行する。 次に,A>6 or B=0 を判定する。 Yesならば,処理2を実行してから,判定の前に戻る。 Noならば,そのまま判定の前に戻る。 ・判定条件網羅によるテストデータ (A=4,B=1),(A=5,B=0)
出典:平成30年度 春期 基本情報技術者試験 午前 問49
- ア(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)
正解:エ
解説
判定条件網羅は,判定(A>6 or B=0)全体の真偽を少なくとも1回ずつ満たせばよく,既存の(A=4,B=1)は真偽(偽,偽)で全体が偽,(A=5,B=0)は(偽,真)で全体が真となっています。複数条件網羅では,個々の条件(A>6とB=0)の真偽のすべての組合せ(真真,真偽,偽真,偽偽の4通り)を網羅する必要があり,既存データでは(偽,偽)と(偽,真)しかカバーされていないため,残る(真,真)と(真,偽)を満たすデータを追加する必要があります。(A=7,B=0)はA>6が真,B=0が真で(真,真)を,(A=8,B=2)はA>6が真,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>6とB=0がともに真(真,真),(A=8,B=2)でA>6が真・B=0が偽(真,偽)となり,不足していた二つの組合せを補えるため,複数条件網羅が達成できます。