軟體開發與專案管理

a、b、c 的真偽可彼此獨立決定。對於處理「if (a) { S1; } if (b) { S2; } if (c) { S3; }」,要滿足分支涵蓋(所有判斷的真與偽至少各執行一次)所需的最少測試案例數為下列何者?

  1. A1
  2. B2
  3. C8
查看答案與解析

正確答案:B. 2

3個判斷都必須各走過真與偽兩邊。以(a、b、c 全為真)與(全為偽)這2個測試案例,每個判斷的真與偽各執行一次,因此最少為2個。只用1個(全為真)也能執行 S1~S3 的所有敘述,滿足敘述涵蓋,但偽側的分支(什麼都不做直接往下的路徑)沒有被執行。8是測試真偽組合 2³ = 8種全部的數量。

  • A. 全為真的1次能滿足敘述涵蓋,但各判斷的偽側分支沒有被執行。
  • B. 正確。以全為真與全為偽的2次,每個判斷的真與偽各走過一次。
  • C. 這是測試真偽組合 2³ = 8種全部的數量,分支涵蓋不需要那麼多。
練習這個領域 前往領域頁面

相關計算工具

軟體開發與專案管理的其他題目

  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 中,兩位開發人員在不同分支各自修改了同一檔案的同一行,然後將一個分支合併到另一個分支。此時會發生的情況,下列何者適當?