令和3年度 春期 ITストラテジスト試験 システムアーキテクト試験 ネットワークスペシャリスト試験 ITサービスマネージャ試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問16

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

プログラムの流れ図
図の説明テキスト

プログラムの流れ図。上から下へ処理が進む。
3つの判定(ひし形)が直列に連結されている。

  • 1つ目の判定は左・中央・右の3方向に分岐し、それぞれに処理(長方形)が1つずつあり、下部で合流する。
  • 2つ目の判定は左右の2方向に分岐し、それぞれに処理(長方形)が1つずつあり、下部で合流する。
  • 3つ目の判定は左・中央・右の3方向に分岐し、それぞれに処理(長方形)が1つずつあり、下部で合流する。
    すべての図形(ひし形および長方形)の中は空欄であり、テキストや条件式などは記述されていない。
解答・解説

正解: ア. 3

命令網羅(ステートメントカバレッジ)とは、プログラム中のすべての命令を少なくとも1回は実行するようにテストケースを設計する手法です。

プログラムの流れ図を確認すると、3つの判定(ひし形)が直列に連結されており、それぞれ以下の構成になっています。

  • 1つ目の判定:3方向に分岐し、それぞれに処理(長方形)がある
  • 2つ目の判定:2方向に分岐し、それぞれに処理(長方形)がある
  • 3つ目の判定:3方向に分岐し、それぞれに処理(長方形)がある

命令網羅を満たすためには、図中のすべての処理(長方形)を少なくとも1回は通過する必要があります。

1回のテストケースを実行すると、上から下へ処理が進む過程で、各判定の分岐をそれぞれ1つずつ通過します。問題文に「各判定条件は流れ図に示された部分の先行する命令の結果から影響を受けない」とあるため、任意の経路を自由に組み合わせることが可能です。
したがって、すべての処理を網羅するための最小テストケース数は、各判定における分岐数のうち最大のものになります。

分岐数「3」「2」「3」の最大値である 3 が、必要な最小テストケース数となります。

各選択肢の解説

  • ア: 正解です。命令網羅を満たす最小テストケース数は 3 です。
  • イ: 誤りです。命令網羅では1回のテストケースで各判定の処理を1つずつ通過できるので、最も分岐の多い判定の分岐数(3)を超えるテストケースは要りません。
  • ウ: 誤りです。図中のすべての処理の合計数(3+2+3=83 + 2 + 3 = 8)を表していますが、1回のテストケースで各判定の処理を1つずつ通過できるため、不適切です。
  • エ: 誤りです。取り得るすべての経路の組み合わせを網羅する経路網羅(パスカバレッジ)を実施する場合のテストケース数(3×2×3=183 \times 2 \times 3 = 18)です。

Spineチーム