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

temp と err の値は互いに独立に決められるものとする。次の処理「if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); }」で、命令網羅(すべての命令を少なくとも1回実行する)を満たすのに必要な最小のテストケースの数はどれか。

  1. A2
  2. B3
  3. C4
答えと解説を見る

正解:A. 2

命令は fan = HIGH、fan = LOW、log() の3つです。fan = HIGH と fan = LOW は1回の実行では片方しか通らないので少なくとも2回が必要で、例えば(temp > 80、err が真)と(temp ≤ 80、err が偽)の2つのテストケースで、3つの命令をすべて実行できます。3は命令の数と同じだけテストケースを作った場合、4は2つの条件の真偽の組合せ(経路)をすべて試す場合の数です。命令網羅は最も弱い網羅の基準で、例えば2つ目の if の偽の側(何もしない経路)を通らなくても満たせます。

  • A. 正しい。if と else の両方を通すのに2回必要で、log() はそのどちらかで一緒に実行できます。
  • B. 命令の数だけテストケースを作った場合です。1つのテストケースで複数の命令を実行できるので、もっと少なくできます。
  • C. 条件の真偽の組合せ(経路)をすべて試す場合の数で、命令網羅にはそこまで必要ありません。
この分野を解く 分野ページへ

関連する計算ツール

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

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

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

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