針對上述問題又提出了另一種標準——「條件組合覆蓋」。它的含義是:執行足夠的例子,使得每個判定中條件的各種可能組合都至少出現一次。顯然,滿足「條件組合覆蓋」的測試用例是一定滿足「判定覆蓋」、「條件覆蓋」和「判定
/條件覆蓋」的。
再看圖6.4的程式,我們需要選擇適當的例子,使得下面
8種條件組合都能夠出現:1)
a>1, b=0
2)a>1, b¹0
3)a≤1, b=0 4)a
≤1, b≠0
5)a=2, x>1
6)a=2,x≤1
7)a≠2, x>1
8)a≠2, x≤1
必須注意到,5)
、6)、7)
、8)四種情況是第二個
if語句的條件組合,而
x的值在該語句之前是要經過計算的,所以還必須根據程式的邏輯推算出在程式的入口點
x的輸入值應是什麼。
下面四個例子可以使上述
8種條件組合至少出現一次:
①a=2
,b=0
,x=4使1)
、5)兩種情況出現;
②a=2
,b=1
,x=1使2)
、6)兩種情況出現;
x=2使3)、
7)兩種情況出現;
④a=1
,b=1
,x=1使4)
、8)兩種情況出現。
上面四個例子雖然滿足條件組合覆蓋,但並不能覆蓋程式中的每一條路徑,例如路徑
acd就沒有執行,因此,條件組合覆蓋標準仍然是不徹底。
什麼是條件組合覆蓋
遼陽裸土覆蓋網 遮陽網是採用聚苯板,經安裝後,遮陽用具可同時作用於不同建築物的其他窗戶。安裝前,要檢查設計圖紙 產品合格證書 圖紙會審記錄等有無遺漏,進行安裝並 牆面灰塵。目前,我國多數高層住宅都使用遮陽網。我們所知道的小型住宅只能安裝一段時間,根據工程要求不同,需要花費多長時間呢?因地制宜。根據效...
條件覆蓋,路徑覆蓋,語句覆蓋,分支覆蓋
語句覆蓋是指選擇足夠的測試用例,使得執行這些測試用例時,被測程式的每乙個語句至少執行一次,其覆蓋標準無法發現判定中邏輯運算的錯誤 判定覆蓋是指選擇足夠的測試用例,使得執行這些測試用例時,每個判定的所有可能結果至少出現一次,但若程式中的判定是有幾個條件聯合構成時,它未必能發現每個條件的錯誤 條件覆蓋是...
條件覆蓋,路徑覆蓋,語句覆蓋,分支覆蓋
語句覆蓋是指選擇足夠的測試用例,使得執行這些測試用例時,被測程式的每乙個語句至少執行一次,其覆蓋標準無法發現判定中邏輯運算的錯 誤 判定覆蓋是指選擇足夠的測試用例,使得執行這些測試用例時,每個判定的所有可能結果至少出現一次,但若程式中的判定是有幾個條件聯合構成時,它未必能 發現每個條件的錯誤 條件覆...