SMITサービスマネージャ試験 午前Ⅰ

令和3年度春期 ITサービスマネージャ 午前Ⅰ 問16

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

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

選択肢

  1. ア
    3
  2. イ
    6
  3. ウ
    8
  4. エ
    18
解き方のヒントを見る

網羅基準の対象単位を見極める

ホワイトボックステストの網羅基準は、何を一度以上通過させれば満たされたとみなすかという対象単位が基準ごとに異なります。問題で指定された基準を正確に把握し、その対象単位を流れ図上で数える前に定義から確認することが出発点です。

この問題で問われていること

この問題で問われているのは、指定された網羅基準のもとで必要なテストケース数です。基準の名称と、それが要求する対象単位を自分の言葉で説明できるかを確かめ、その理解を流れ図の読み取りに結び付けられるかが焦点になります。

視点

網羅基準は、テストによってプログラムの内部構造をどの程度通過させたかを測る尺度です。基準によって注目する単位や厳しさが異なるため、同じ流れ図でも必要なケース数は変わり得ます。まず基準の定義を思い出し、1つのテストケースが複数の対象を同時に満たせるかという視点で整理すると、数え方の混乱を防げます。

確認ポイント

  • 問題で指定されている網羅基準の名称を正確に読み取ったか
  • その基準が何を網羅対象の単位としているか、定義に立ち返って説明できるか
  • 流れ図上のどの要素がその対象単位に当たるかを、基準の定義と照らして確認したか
正解と解説を見る

正解

ア

解説

流れ図の命令(処理の箱)は、上段3個、中段2個、下段3個の計8個です。1件のテストケースは各段で箱を1つずつ通ります。判定条件は互いに独立なので、分岐の選び方は自由に組み合わせられます。分岐が最も多い上段と下段の3分岐に合わせた3件で全命令を実行できるため、答えはアです。

理由

1件のテストケースでは、上段・中段・下段でそれぞれ1つずつ、合わせて3個の箱を実行します。上段と下段の3個の箱を全部実行するには、少なくとも3件が必要です。判定条件は独立なので、例えば次の3件で8個全ての命令を実行できます。テスト1は上段左・中段左・下段左、テスト2は上段中・中段右・下段中、テスト3は上段右・中段は左右どちらでもよい・下段右です。式で表すと、最小テストケース数=max(上段3件、 中段2件、 下段3件)=3件です。

比較

全経路を通す経路網羅の場合、必要なのは3通り×2通り×3通り=18通り、つまり18件です。命令網羅では各命令を1回実行すれば十分で、経路の組合せを全部試す必要はありません。また8は処理の箱の総数3個+2個+3個=8個と一致しますが、1件で3個の箱を続けて実行できるので、命令ごとに別々のケースを用意する必要はありません。

選択肢ア(正解)

これは正解だよ。処理の箱(命令)は上段3個、中段2個、下段3個の計8個あるよ。1件のテストは各段の箱を1つずつ通るよ。判定条件は独立だから、上段左・中段左・下段左、上段中・中段右・下段中、上段右・中段任意・下段右の3件で8個全部を実行できるんだ。上段と下段は3分岐あるので2件では足りず、最小はmax(3件, 2件, 3件)=3件になるよ。

選択肢イ

これは不正解だよ。6件でも全ての命令を実行することはできるけど、3件で8個の命令を全部実行できるから最小ではないよ。6という値は、例えば上段3通り×中段2通りの組合せ数や、上段3+下段3の分岐数の和と一致するね。ただ、この選択肢がどんな数え方を想定しているかは問題文からは断定できないよ。どちらにしても、命令網羅では分岐の組合せを試す必要はないんだ。

選択肢ウ

これは不正解だよ。8は流れ図の処理の箱(命令)の総数、3個+2個+3個=8個と一致するよ。命令1つにつき1件ずつテストを作ると考えれば8件になるね。でも1件のテストは各段の箱を1つずつ、合わせて3個の命令を続けて実行するから、命令ごとに別のケースを作る必要はないよ。3件で8個全ての命令を実行できるので、8件は最小ではないんだ。

選択肢エ

これは不正解だよ。18は上段3通り×中段2通り×下段3通り=18通りで、この流れ図の全経路数に当たるよ。全経路を通す経路網羅なら18件が必要だね。でも命令網羅は各命令を1回以上実行すれば十分で、経路の組合せを全部試す必要はないよ。3件で8個全ての命令を実行できるから、18件は最小ではないんだ。

学習のポイント

命令網羅・経路網羅それぞれで必要なテストケース数の違いを押さえましょう。流れ図の分岐数から最小ケース数を求められるようにすることが大切です。

出典:独立行政法人 情報処理推進機構(IPA)令和3年度春期 ITサービスマネージャ試験 午前Ⅰ 問16(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針