SAシステムアーキテクト試験 午前Ⅱ
令和3年度春期 システムアーキテクト 午前Ⅱ 問7
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題

選択肢
- ア(A = 1,B = 1),(A = 7,B = 1)
- イ(A = 4,B = 0),(A = 8,B = 1)
- ウ(A = 4,B = 1),(A = 6,B = 1)
- エ(A = 7,B = 1),(A = 1,B = 0)
解き方のヒントを見る
網羅基準とテストケースの対応を確かめる
指定された網羅基準が流れ図の何を網羅対象としているかを自分の言葉で確認し、各テストケースが流れ図のどこを通るかを実際にたどって、要求を満たすかを照合する姿勢が大切です。
この問題で問われていること
問題が求めているのは、指定された基準を満たすテストケースの組合せです。基準の対象となる要素を流れ図から漏れなく洗い出し、各ケースで実際にどれが通過・成立するかを一つずつ記録していくことに観点を絞りましょう。
視点
ホワイトボックステストの網羅基準は、プログラムの内部構造のうち「どの要素を対象に網羅を考えるか」によって区別されます。基準の名称だけで判断せず、その基準が何を対象にしているかを確認してから、流れ図と各テストケースの入力値を照らし合わせることが検討の土台になります。入力値を流れ図に当てはめて、実際にどの経路を通るかを自分の手でたどる作業を省略しないことが重要です。
確認ポイント
- 指定された網羅基準が、流れ図のどの要素を網羅の対象としているかを自分の言葉で説明できるか
- 流れ図にある対象要素を漏れなく書き出し、それぞれに印を付けられる形に整理したか
- 各テストケースの入力値を流れ図に当てはめて実際にたどり、どの対象要素が満たされたかを記録して照合したか
正解と解説を見る
正解
ア
解説
流れ図の判定は「A > 6 or B = 0」であり,判定条件網羅では,この式が真となるYes分岐と偽となるNo分岐を少なくとも一度ずつ実行する。アは両方の分岐を通る。
理由
判定式「A > 6 or B = 0」が真ならYes側の処理2へ進み,偽ならNo側を通って処理2を実行せずに合流する。したがって,テストケースには真と偽の両方の判定結果が必要です。
比較
アでは,(A = 1,B = 1)が判定式を偽にし,(A = 7,B = 1)が真にするため,No分岐とYes分岐をそれぞれ実行できる。他の組合せは判定結果が同じになる。
選択肢ア(正解)
これは正解だよ。1組目の(A = 1,B = 1)ではA > 6もB = 0も成立せず,判定結果は偽となる。2組目の(A = 7,B = 1)ではA > 6が成立し,判定結果は真となるため,No分岐とYes分岐の両方を実行できる。
選択肢イ
これは不正解だよ。(A = 4,B = 0)はB = 0が成立するため判定結果が真となり,(A = 8,B = 1)もA > 6が成立して真となる。2組ともYes分岐に進むので,No分岐を網羅できない。
選択肢ウ
これは不正解だよ。(A = 4,B = 1)ではA > 6もB = 0も成立せず,判定結果は偽となる。(A = 6,B = 1)も,Aは6であり6より大きくないため偽となり,Yes分岐を実行できない。
選択肢エ
これは不正解だよ。(A = 7,B = 1)ではA > 6が成立し,(A = 1,B = 0)ではB = 0が成立するため,どちらも判定結果は真となる。したがってYes分岐だけとなり,No分岐を網羅できない。
学習のポイント
論理和を含む判定式の真偽と,分岐網羅に必要なテストケースの組合せを確認する。
出典:独立行政法人 情報処理推進機構(IPA)令和3年度春期 システムアーキテクト試験 午前Ⅱ 問7(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針