• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本情報技術者試験の過去問について)

基本情報技術者試験の過去問について

このQ&Aのポイント
  • 基本情報技術者試験の過去問について
  • 基本情報技術者試験の過去問について、特に問4の設問2について質問があります。
  • 問4の設問2では、正常値について戻り値を求める4つの計算式が正しいかどうか確認するデータについて説明してください。また、設問1のブラックボックステストのデータとの違いについても教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

問題文の流れ図は,次の(a)~(f)の6種類の命令のうちいずれか1つだけを最後に実行して処理を終了する。 (a) 510+120×係数→戻り値 (b) 750+60×(係数-2)→戻り値 (c) 基準値+160×係数→戻り値 (d) 基準値+160×(係数+2)÷2→戻り値 (e) -2→戻り値 (f) -1→戻り値 設問2・解答群ウでは「正常値については」とあるので,地域コード・重量が範囲外である場合の戻り値(e)と(f)はこの文章の範囲外。つまり「戻り値を求める4種類の計算式」とは(a)~(d)の4つ。 ということで,(a)(b)(c)(d)をそれぞれ通るような分岐の組合せは次の4つ。 (a)'「地域コード=1」が真,かつ,「係数<2」が真 (b)'「地域コード=1」が真,かつ,「係数<2」が偽 (c)'「地域コード=1」が偽,かつ,「係数<2」が真 (d)'「地域コード=1」が偽,かつ,「係数<2」が偽 ただし,(c)'と(d)'においては地域コードが2 or 3 or 4の場合で基準値が異なるので,それぞれの場合をテストしないと「計算式が正しいかどうかを確認」することはできない。 >この問題の場合ではどのようなデータになるのか、 >例をしめしていただけないでしょうか。 ということで,最終的な解答は,次の8つのテストデータです。 (a)' 地域コード=1,かつ,係数<2(重量<4.0) (b)' 地域コード=1,かつ,係数≧2(重量≧4.0) (c1)' 地域コード=2,かつ,係数<2(重量<4.0) (c2)' 地域コード=3,かつ,係数<2(重量<4.0) (c3)' 地域コード=4,かつ,係数<2(重量<4.0) (d1)' 地域コード=2,かつ,係数≧2(重量≧4.0) (d2)' 地域コード=3,かつ,係数≧2(重量≧4.0) (d3)' 地域コード=4,かつ,係数≧2(重量≧4.0)

noname#173931
質問者

お礼

お礼が遅れてしまい申し訳ありません 何度か回答していただきありがとうございます。 網羅の種類を解説していただき良い復習の機会になりました。 他の自分の質問で他の方の回答していただいた通り、 ブラックボックスは利用者向け、ホワイトボックスは プログラマ向け、 どちらかというと、こういう分け方もできるとわかり、 前より意味がわかったような気がします。 貴重な時間をさいての回答、ありがとうございました。

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

●命令網羅 次のコードにおいて「a=1 が真」のテストケース1つをテストすればよいもの。 「a=1 が偽」の場合は実行すべき命令がないので,その経路は網羅しなくてよい。 if (a == 1) {   命令; } ●分岐網羅(判定条件網羅) 次のコードにおいて「a=1」と「a≠1」のテストケース2つをテストするもの。 「a≠1」の経路(else句側)がない場合もある場合も,else句側はテストする。 if (a == 1) {   命令; } すべての分岐を網羅することが目的であり,条件式の複雑さは問わない。 例えば次のコードにおいては,次のテストケース2例をテストすればよい。   ・a=1 かつ b=1 …判定条件全体として真   ・a=1 かつ b≠1 …判定条件全体として偽 if ((a == 1 && b == 1)) {   命令; } ●条件網羅 個々の条件式の真偽をすべてテストで網羅する。 例えば次のコードにおいては,次のテストケース2例をテストすればよい。   ・a=1 かつ b≠1 …判定条件全体として偽   ・a≠1 かつ b=1 …判定条件全体として偽 if ((a == 1 && b == 1)) {   命令; } 分岐としてはどちらも偽の方向に流れるが, 「個々の条件式の真偽」としては「a=1 と a≠1」「b=1 と b≠1」と そのすべてを網羅しているので条件網羅である。 ●判定条件/条件網羅 分岐網羅(判定条件網羅)であり,かつ,条件網羅であるもの。 次のテストケース3例をテストすればこれを満たす。   ・a=1 かつ b=1   ・a=1 かつ b≠1   ・a≠1 かつ b=1 ●複数条件網羅 個々の条件式の真偽の「すべての組合せ」をテストで網羅する。 次のテストケース4例をテストすればこれを満たす。   ・a=1 かつ b=1 …判定条件全体として真   ・a=1 かつ b≠1 …判定条件全体として偽   ・a≠1 かつ b=1 …判定条件全体として偽   ・a≠1 かつ b≠1 …判定条件全体として偽

関連するQ&A