ソフトウェア開発とプロジェクト管理

入場料金を年齢(0以上の整数)で決めるプログラムがあり、0〜17歳は子供料金、18〜64歳は一般料金、65歳以上はシニア料金とする。料金区分が変わる境目を確かめるために、境界値分析で選ぶテストの値の組合せとして、最も適切なものはどれか。

  1. A10、40、90
  2. B17、18、64、65
  3. C18、65
答えと解説を見る

正解:B. 17、18、64、65

境界値分析では、不具合が同値クラスの境目に集まりやすいことから、境目のすぐ両側の値をテストします。子供料金と一般料金の境目では17と18、一般料金とシニア料金の境目では64と65を選ぶので、17、18、64、65の4つになります。条件の「<」と「<=」の書き間違えのような誤りは、境目の片側だけを試しても見つからないことがあります。10、40、90は各区分の代表の値を選ぶ同値分割の値で、境目の誤りは確かめられません。

  • A. 各区分から代表を1つずつ選ぶ同値分割の値で、境目の扱いは確かめられません。
  • B. 正しい。2つの境目のそれぞれで、すぐ両側の値を試します。
  • C. 新しい区分の最初の値だけです。例えば子供料金の条件を「17歳未満」と書き間違えても、18歳では正しく一般料金になるので見つかりません。
この分野を解く 分野ページへ

関連する計算ツール

ソフトウェア開発とプロジェクト管理の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

ソフトウェア開発とプロジェクト管理のほかの問題

  1. 仕様は「温度が85 ℃以上なら警告を出す」だが、ファームウェアには誤って「if (t > 85)」と書かれていた。温度 t は整数とする。次のテストの値のうち、この誤りを見つけられるものはどれか。
  2. temp と err の値は互いに独立に決められるものとする。次の処理「if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); }」で、命令網羅(すべての命令を少なくとも1回実行する)を満たすのに必要な最小のテストケースの数はどれか。
  3. a、b、c の真偽は互いに独立に決められるものとする。次の処理「if (a) { S1; } if (b) { S2; } if (c) { S3; }」で、分岐網羅(すべての判定の真と偽を少なくとも1回ずつ実行する)を満たすのに必要な最小のテストケースの数はどれか。
  4. 判定「A かつ B」(A と B は互いに独立に真偽を決められる条件)に対して、テストケース(A = 真、B = 偽)と(A = 偽、B = 真)の2つを実行した。網羅の基準について、正しいものはどれか。
  5. ボトムアップテストで、まだできていない上位モジュールの代わりに、テストの対象の下位モジュールを呼び出してテストデータを渡し、結果を受け取るために作るものはどれか。