軟體開發與專案管理

temp 與 err 的值可彼此獨立決定。對於處理「if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); }」,要滿足敘述涵蓋(所有敘述至少執行一次)所需的最少測試案例數為下列何者?

  1. A2
  2. B3
  3. C4
查看答案與解析

正確答案:A. 2

敘述有 fan = HIGH、fan = LOW、log() 這3個。fan = HIGH 與 fan = LOW 在一次執行中只會走到其中之一,因此至少需要2次;例如以(temp > 80、err 為真)與(temp ≤ 80、err 為偽)這2個測試案例,就能執行全部3個敘述。3是建立與敘述數量相同的測試案例的情況,4則是測試2個條件真偽所有組合(路徑)的數量。敘述涵蓋是最弱的涵蓋基準,例如即使沒有走過第二個 if 的偽側(什麼都不做的路徑)也能滿足。

  • A. 正確。要走過 if 與 else 兩邊需要2次,log() 可在其中任一次一起執行。
  • B. 這是依敘述數量建立測試案例的情況。一個測試案例可以執行多個敘述,所以可以更少。
  • C. 這是測試所有真偽組合(路徑)的數量,敘述涵蓋不需要那麼多。
練習這個領域 前往領域頁面

相關計算工具

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

  1. a、b、c 的真偽可彼此獨立決定。對於處理「if (a) { S1; } if (b) { S2; } if (c) { S3; }」,要滿足分支涵蓋(所有判斷的真與偽至少各執行一次)所需的最少測試案例數為下列何者?
  2. 對於判斷「A 且 B」(A 與 B 是可彼此獨立決定真偽的條件),執行了測試案例(A = 真、B = 偽)與(A = 偽、B = 真)這2個。關於涵蓋基準,下列何者正確?
  3. 在由下而上測試中,為了代替尚未完成的上層模組,呼叫受測的下層模組、傳入測試資料並接收結果而製作的是下列何者?
  4. 在測試工程中,以測試時間(或已執行的測試案例數)為橫軸、以發現缺陷的累計件數為縱軸,畫出可靠度成長曲線。當曲線仍持續上升、看不出趨於飽和(持平)時,下列判斷何者最適當?
  5. 在規模25 k行(2萬5,000行)韌體的整合測試中,發現了30件缺陷。依組織過去的實績,此工程發現缺陷的參考值為每1 k行2~4件。對此結果的評估,下列何者最適當?