ウカマル応用情報技術者ログイン

令和3年度 春期 応用情報技術者 問48

テクノロジ系

あるプログラムについて,流れ図で示される部分に関するテストを,命令網羅で実施する場合,最小のテストケース数は幾つか。ここで,各判定条件は流れ図に示された部分の先行する命令の結果から影響を受けないものとする。

図

図の内容(文字)
上から順に三つの判定(ひし形)が直列につながっている。 1番目の判定:左・下・右の三方向に分岐し,それぞれ処理(箱)が一つずつある(計3個)。三つの経路は判定の下で合流する。 2番目の判定:左・右の二方向に分岐し,それぞれ処理(箱)が一つずつある(計2個)。二つの経路は判定の下で合流する。 3番目の判定:左・下・右の三方向に分岐し,それぞれ処理(箱)が一つずつある(計3個)。三つの経路は合流して終わる。
選択肢
正解と解説

正解 ア

命令網羅では全命令を1回以上実行すればよく、1回の実行で各判定から1つずつ処理を通れます。分岐の最も多い判定に合わせて、3ケースで済みます。

命令網羅(ステートメントカバレッジ)は、すべての命令を少なくとも1回実行するテストです。1つのテストケースは、3つの判定でそれぞれ1つずつ処理(箱)を通ります。1番目と3番目の判定は3方向、2番目の判定は2方向に分岐します。各判定の条件は互いに影響しないので、どの組合せでも選べます。たとえば(左, 左, 左)、(下, 右, 下)、(右, 左, 右)の3ケースで、8個の処理をすべて実行できます。最小のテストケース数は、最も分岐の多い判定の分岐数と同じ3です。

イ:6は判定ごとの分岐数を足したり掛けたりした値です。1つのテストケースで3つの判定の処理を同時に通れるので、6ケースは必要ありません。

ウ:8は処理(箱)の総数です。1つのテストケースで複数の処理を実行できるので、処理ごとに1ケースを用意する必要はありません。

エ:18は3×2×3で、すべての経路の組合せを通す場合の数です。これは経路網羅の考え方で、命令網羅ではありません。

出典:令和3年度 春期 応用情報技術者試験 問48

全年度から出題。10問で実力を判定します。登録不要。

出典:令和3年度 春期 応用情報技術者試験 問48(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方