详述白盒测试的逻辑覆盖法的条件判定覆盖及其优缺点
條件判定覆蓋的定義:
設(shè)計(jì)足夠多的測(cè)試用例,使被測(cè)程序中每個(gè)判定的每個(gè)條件的所有可能取值(真假)至少執(zhí)行一次,并且每個(gè)判定的所有可能(真假)分支也至少執(zhí)行一次 。通俗來(lái)講,就是條件和判定覆蓋的升華!
與判定覆蓋、語(yǔ)句覆蓋的關(guān)系:
滿(mǎn)足判定覆蓋就一定能夠滿(mǎn)足語(yǔ)句覆蓋,滿(mǎn)足條件判定覆蓋就一定能夠滿(mǎn)足判定覆蓋,語(yǔ)句覆蓋及其條件覆蓋,所以,條件判定覆蓋是語(yǔ)句覆蓋、條件覆蓋、判定覆蓋及條件判定覆蓋中最全面的覆蓋。
條件判定覆蓋率:
條件判定覆蓋率=每個(gè)判定真假值和條件真假值至少出現(xiàn)一次/判定結(jié)果的總數(shù)和條件結(jié)果的總數(shù)
eg: 案例代碼中有判定3個(gè),條件3個(gè),則條件結(jié)果就有6個(gè)(每個(gè)條件結(jié)果有兩個(gè)真假值),判定結(jié)果就有6個(gè)(因?yàn)槊總€(gè)判定結(jié)果有兩個(gè)真假值),假如測(cè)試用例執(zhí)行了5個(gè)條件結(jié)果,6個(gè)判定結(jié)果,則判定覆蓋率就為(5+6)/(6+6)≈92%。
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關(guān)注!
歡迎關(guān)注微信公眾號(hào):寶藏女孩的成長(zhǎng)日記
如有轉(zhuǎn)載,請(qǐng)注明出處(如不注明,盜者必究)
測(cè)試實(shí)例:
我們來(lái)說(shuō)一個(gè)最簡(jiǎn)單的例子:
判定如下:
x>1 && y>1
則滿(mǎn)足條件判斷覆蓋的用例需要滿(mǎn)足:
a. 判定為真
b. 判定為假
c. x>1
d. x<=1
e. y>1
f. y<=1
我們根據(jù)以上用例取得數(shù)據(jù)為:x=2 y=2 滿(mǎn)足以上的ace x=2 y=0滿(mǎn)足以上的bcf x=0 y=2 滿(mǎn)足以上的bde x=0 y=0滿(mǎn)足以上的 bdf 。
以java為例,我們可以用下面的代碼進(jìn)行驗(yàn)證:
當(dāng)我們執(zhí)行ace路徑時(shí)得到正確答案:
當(dāng)我們執(zhí)行另外三條路徑時(shí):
我們分別執(zhí)行了這四條路徑,每個(gè)判定的真假,每個(gè)條件的真假,可得測(cè)試覆蓋率為100%。
優(yōu)缺點(diǎn):
優(yōu)點(diǎn):判定/條件覆蓋滿(mǎn)足判定覆蓋準(zhǔn)則和條件覆蓋準(zhǔn)則,彌補(bǔ)了二者的不足。
缺點(diǎn):判定/條件覆蓋準(zhǔn)則的缺點(diǎn)是未考慮條件的邏輯情況,以上為例,我們將if (x>1 && y>1)改寫(xiě)為if (x>1 || y>1),在xy都取22和00的情況下,所得結(jié)果是一樣的。
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關(guān)注!
歡迎關(guān)注微信公眾號(hào):寶藏女孩的成長(zhǎng)日記
如有轉(zhuǎn)載,請(qǐng)注明出處(如不注明,盜者必究)
總結(jié)
以上是生活随笔為你收集整理的详述白盒测试的逻辑覆盖法的条件判定覆盖及其优缺点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [连载型] Neutron 系列 (15
- 下一篇: RT-Thread中如何预编译一个.c文