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

仕様は「温度が85 ℃以上なら警告を出す」だが、ファームウェアには誤って「if (t > 85)」と書かれていた。温度 t は整数とする。次のテストの値のうち、この誤りを見つけられるものはどれか。

  1. A84 ℃
  2. B85 ℃
  3. C86 ℃
答えと解説を見る

正解:B. 85 ℃

仕様では85 ℃で警告を出すべきですが、t > 85 は t = 85 のとき偽になるので、85 ℃を与えたときだけ仕様と実装の結果が食い違います。84 ℃ではどちらも警告なし、86 ℃ではどちらも警告ありとなり、誤りは見えません。このように境目そのものの値を含めて試すのが境界値分析の考え方です。比較演算子の取り違えは、ファームウェアのしきい値の判定でよく起こる誤りです。

  • A. 仕様でも実装でも警告を出さないので、結果が一致して誤りは見えません。
  • B. 正しい。仕様では警告を出し、実装では出さないので、誤りが見つかります。
  • C. 仕様でも実装でも警告を出すので、結果が一致して誤りは見えません。
この分野を解く 分野ページへ

関連する計算ツール

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

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

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

  1. temp と err の値は互いに独立に決められるものとする。次の処理「if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); }」で、命令網羅(すべての命令を少なくとも1回実行する)を満たすのに必要な最小のテストケースの数はどれか。
  2. a、b、c の真偽は互いに独立に決められるものとする。次の処理「if (a) { S1; } if (b) { S2; } if (c) { S3; }」で、分岐網羅(すべての判定の真と偽を少なくとも1回ずつ実行する)を満たすのに必要な最小のテストケースの数はどれか。
  3. 判定「A かつ B」(A と B は互いに独立に真偽を決められる条件)に対して、テストケース(A = 真、B = 偽)と(A = 偽、B = 真)の2つを実行した。網羅の基準について、正しいものはどれか。
  4. ボトムアップテストで、まだできていない上位モジュールの代わりに、テストの対象の下位モジュールを呼び出してテストデータを渡し、結果を受け取るために作るものはどれか。
  5. テストの工程で、テストの時間(またはテストケースの消化数)を横軸に、見つかった不具合の累積件数を縦軸にとった信頼度成長曲線を描いた。曲線がまだ右上がりのままで、飽和する(横ばいになる)様子が見えないときの判断として、最も適切なものはどれか。