軟體開發與專案管理
對於判斷「A 且 B」(A 與 B 是可彼此獨立決定真偽的條件),執行了測試案例(A = 真、B = 偽)與(A = 偽、B = 真)這2個。關於涵蓋基準,下列何者正確?
- A滿足分支涵蓋,但不滿足條件涵蓋
- B同時滿足分支涵蓋與條件涵蓋
- C滿足條件涵蓋,但不滿足分支涵蓋
查看答案與解析
正確答案:C. 滿足條件涵蓋,但不滿足分支涵蓋
條件涵蓋要求判斷中的個別條件(A 與 B)各自至少取真與偽各一次。在2個測試案例中,A 與 B 都各取真與偽一次,因此滿足條件涵蓋。但「A 且 B」在兩個測試案例中都為偽,判斷為真的分支一次也沒有走過,因此不滿足分支涵蓋。只靠條件涵蓋無法保證分支涵蓋,因此會使用同時滿足兩者的判斷/條件涵蓋等基準。此外,這裡是以給予各條件的值來考量;若像 C 語言的 && 那樣左側為偽時不評估右側,也有只計算實際被評估之條件的看法。
- A. 判斷在兩個測試案例中都為偽,因此不滿足分支涵蓋。
- B. 沒有使判斷為真的測試案例,因此不滿足分支涵蓋。
- C. 正確。A 與 B 各取真與偽,但判斷「A 且 B」一次也沒有為真。