詳述白盒測試的邏輯覆蓋法的條件組合覆蓋及其優缺點

概念:

設計足夠多的測試用例,使被測程序中每個判定的所有可能的條件取值組合至少執行一次。

與其他覆蓋的關係:

顯然,滿足“條件組合覆蓋”的測試用例是一定滿足語句覆蓋、判定覆蓋、條件覆蓋和條件判定覆蓋的。

條件覆蓋率:

條件覆蓋率=條件組合至少出現一次的數量/條件組合的總數
eg:

在這裏插入圖片描述
以上爲例,案例代碼中有判定兩個(x>0&&y>0)(magic<0)判定,條件三個(x>0)(y>0) (magic<0) ,判定(x>0&&y>0)條件組合爲4個,判定(magic<0)條件組合爲2個。假如設計測試用例執行了5個條件組合,條件組合覆蓋率爲5/(4+2)≈83%。

測試用例:

依照上圖:我們要想覆蓋率爲百分之百
判定條件如下:

  1. if(x>0&&y>0)判定:記爲P1
  2. if(magic<0)判定:記爲P2
  3. x>0:記爲C1
  4. y>0:記爲C2
  5. magic<0:記爲C3
    測試用例設計
    在這裏插入圖片描述
    從上表我們可看到C1C2滿足了這四種組合,而C3只可滿足真假兩種組合就行,以上測試用例滿足了100%的條件覆蓋率。

優缺點:

優點:
多重條件覆蓋準則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準則。
缺點:
1.線性地增加了測試用例的數量。
2 可能不會覆蓋所有的路徑,例如上圖的abdf路徑就沒有執行。

參考:https://www.bilibili.com/video/BV1wE411379A?from=search&seid=14475425139925644892

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章