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

整数だけが入力される欄で、1以上100以下の値を受け付け、それ以外はエラーにする。同値分割で入力を分けたときの、同値クラスの数(有効同値クラスと無効同値クラスの合計)はどれか。

  1. A1つ
  2. B2つ
  3. C3つ
答えと解説を見る

正解:C. 3つ

同値分割では、プログラムが同じように扱うはずの入力の集まり(同値クラス)に分け、各クラスから代表の値を1つずつ選んでテストします。この欄では、受け付ける1〜100の有効同値クラスが1つ、0以下と101以上の無効同値クラスが2つで、合計3つです。代表の値として例えば50、−5、150を選べば、3回のテストで各クラスを確かめられます。無効同値クラスを小さい側と大きい側に分けるのは、プログラムがそれぞれを別の判定(下限の確認と上限の確認)で処理するためです。

  • A. 有効同値クラスだけを数えた場合です。エラーになるはずの無効な入力もテストする必要があります。
  • B. 無効同値クラスを1つにまとめた場合です。0以下と101以上は別の判定で弾かれるので、別のクラスにします。
  • C. 正しい。有効同値クラスが1つ(1〜100)、無効同値クラスが2つ(0以下、101以上)です。
この分野を解く 分野ページへ

関連する計算ツール

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

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

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

  1. 入場料金を年齢(0以上の整数)で決めるプログラムがあり、0〜17歳は子供料金、18〜64歳は一般料金、65歳以上はシニア料金とする。料金区分が変わる境目を確かめるために、境界値分析で選ぶテストの値の組合せとして、最も適切なものはどれか。
  2. 仕様は「温度が85 ℃以上なら警告を出す」だが、ファームウェアには誤って「if (t > 85)」と書かれていた。温度 t は整数とする。次のテストの値のうち、この誤りを見つけられるものはどれか。
  3. temp と err の値は互いに独立に決められるものとする。次の処理「if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); }」で、命令網羅(すべての命令を少なくとも1回実行する)を満たすのに必要な最小のテストケースの数はどれか。
  4. a、b、c の真偽は互いに独立に決められるものとする。次の処理「if (a) { S1; } if (b) { S2; } if (c) { S3; }」で、分岐網羅(すべての判定の真と偽を少なくとも1回ずつ実行する)を満たすのに必要な最小のテストケースの数はどれか。
  5. 判定「A かつ B」(A と B は互いに独立に真偽を決められる条件)に対して、テストケース(A = 真、B = 偽)と(A = 偽、B = 真)の2つを実行した。網羅の基準について、正しいものはどれか。