白盒測試過程中、6種覆蓋方法覆蓋強度由弱到強的順序依次是:
語句覆蓋
判定邏輯覆蓋
條件邏輯覆蓋
判定邏輯條件覆蓋
條件組合覆蓋
路徑覆蓋
例:
if(a&&b)
{
c=a+b;
}
else
{
c=a-b;
}
1.語句覆蓋:
語句覆蓋就是每個語句至少被執(zhí)行一次倡蝙。
2.判定條件覆蓋
每個判斷的分支取真分支和取假分支至少經(jīng)歷一次
只需要a為真b為真或是a/b中有一個為真九串,一個為假即可這兩種情況。
3.條件邏輯覆蓋
使得判定的每個條件都需要至少滿足一次寺鸥。
比如上面:a如false和true猪钮。b取false和true兩種情況。
4.判斷邏輯條件覆蓋
使得每個判斷取到可能的結果胆建,并且判斷中的每個條件也要取到可能的結果烤低。判斷和條件都必須滿足。
即if/else兩個判斷都要執(zhí)行到笆载,if中的條件a取false和true拂玻,b取false和b取true。
5.條件組合判斷
即每個判定中條件的各種取值組合至少出現(xiàn)一次宰译。
比如上面的if為真的條件中:
a為真檐蚜,b為真 一組
a為真,b為假 二組
a為假沿侈,b為真 三組
a為假闯第,b為假 四組kaolv
6.路徑覆蓋
執(zhí)行所有可能執(zhí)行的路徑。
總結:
路徑覆蓋肯定包含判定覆蓋缀拭,與條件沒有直接關系咳短。
判定套件覆蓋一定包含判定覆蓋和條件覆蓋。
條件判定并不等同于判定覆蓋蛛淋。一個關注條件的真假咙好,一個關注判定的分支。