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

a、b、c の真偽は互いに独立に決められるものとする。次の処理「if (a) { S1; } if (b) { S2; } if (c) { S3; }」で、分岐網羅(すべての判定の真と偽を少なくとも1回ずつ実行する)を満たすのに必要な最小のテストケースの数はどれか。

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

正解:B. 2

3つの判定のそれぞれで、真と偽の両方を通す必要があります。(a、b、c がすべて真)と(すべて偽)の2つのテストケースで、各判定の真と偽が1回ずつ実行されるので、最小は2つです。1つ(すべて真)でも S1〜S3 のすべての命令は実行できるので命令網羅は満たせますが、偽の側の分岐(何もせずに次へ進む経路)が実行されません。8は真偽の組合せ 2³ = 8通りをすべて試す場合の数です。

  • A. すべて真の1回で命令網羅は満たせますが、各判定の偽の側の分岐が実行されません。
  • B. 正しい。すべて真とすべて偽の2回で、各判定の真と偽を1回ずつ通せます。
  • C. 真偽の組合せ 2³ = 8通りをすべて試す場合の数で、分岐網羅にはそこまで必要ありません。
この分野を解く 分野ページへ

関連する計算ツール

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

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

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

  1. 判定「A かつ B」(A と B は互いに独立に真偽を決められる条件)に対して、テストケース(A = 真、B = 偽)と(A = 偽、B = 真)の2つを実行した。網羅の基準について、正しいものはどれか。
  2. ボトムアップテストで、まだできていない上位モジュールの代わりに、テストの対象の下位モジュールを呼び出してテストデータを渡し、結果を受け取るために作るものはどれか。
  3. テストの工程で、テストの時間(またはテストケースの消化数)を横軸に、見つかった不具合の累積件数を縦軸にとった信頼度成長曲線を描いた。曲線がまだ右上がりのままで、飽和する(横ばいになる)様子が見えないときの判断として、最も適切なものはどれか。
  4. 規模が25 kステップ(2万5,000行)のファームウェアの結合テストで、不具合が30件見つかった。組織の過去の実績から、この工程で見つかる不具合の目安は1 kステップ当たり2〜4件とされている。この結果の評価として、最も適切なものはどれか。
  5. Gitで、2人の開発者が同じファイルの同じ行をそれぞれ別のブランチで書き換え、一方のブランチをもう一方にマージした。このとき起こることとして、適切なものはどれか。