歡迎來到培訓(xùn)無憂網(wǎng)!
咨詢熱線 400-001-5729
2022-01-25 10:04:23|已瀏覽:581次

白盒覆蓋率(white-Box Coverage)
白盒覆蓋率中使用的最常見的就是邏輯覆蓋率(Logical Coverage ),也叫代碼覆蓋率(Code Coverage)或者結(jié)構(gòu)化覆蓋率(Structural Coverage),我們常見的邏輯覆蓋包括:語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。
1、語句覆蓋(Statement Coverage)
1)定義:在測試時,運(yùn)行被測程序后,程序中被執(zhí)行的可執(zhí)行語句的比率。
2)計算公式:語句覆蓋率=(至少被執(zhí)行一次的語句數(shù)量)/(可執(zhí)行的語句總數(shù))
3)100%語句覆蓋率含義:在測試時,首先設(shè)計若干個測試用例,然后運(yùn)行被測程序,使程序中的每個可執(zhí)行語句至少執(zhí)行一次。
4)特點:語句覆蓋可以檢驗每個可執(zhí)行語句,但是即使語句覆蓋率達(dá)到了100%,也會有缺陷發(fā)現(xiàn)不了,所以覆蓋率只是我們度量的手段。
2、判定覆蓋(Decision Coverage)/分支覆蓋率(Branch Coverage)
1)定義:在測試時,運(yùn)行被測程序后,程序中所有判斷語句的取真分支和取假分支被執(zhí)行到的比率。
2)計算公式:判定覆蓋率=(判定結(jié)果被評價的次數(shù))/(判定結(jié)果的總數(shù))
3)100%條件覆蓋率含義:在測試時,首先設(shè)計若干個測試用例,然后運(yùn)行測試程序,使得程序中每個判斷的取真分支和取假分支至少經(jīng)歷一次,即判斷的真假值均曾被滿足。
4)特點
(1)若判定覆蓋達(dá)到100%,則語句覆蓋必為100%。
(2)即使判定覆蓋率達(dá)到了100%,也會有缺陷發(fā)現(xiàn)不了。
3、條件覆蓋(Condition Coverage)
1)定義:在測試時,運(yùn)行被測程序后,程序中所有判斷語句中每個條件的可能取值(真值和假值)出現(xiàn)過的比率。
2)計算公式:條件覆蓋率=(條件操作數(shù)值至少被評價一次的數(shù)量)/(條件操作數(shù)值的總數(shù))
3)100%條件覆蓋率含義:在測試時,首先設(shè)計若干個測試用例,然后運(yùn)行被測試程序,要使每個判斷中每個條件的可能取值至少滿足一次。
4)特點:覆蓋條件的測試用例不一定覆蓋判定。
4、判定-條件覆蓋(Decision Condition Coverage)/分支條件覆蓋(Branch Condition Coverage)
1)定義:在測試時,運(yùn)行被測程序后,程序中所有判斷語句中每個條件的可能取值(真值和假值)和每個判斷本身的判定結(jié)果(為真為假)出現(xiàn)的比率。
2)計算公式:判定-條件覆蓋率=(條件操作數(shù)值或判定結(jié)果至少被評價一次的數(shù)量)/(條件操作數(shù)值的總數(shù)+判定結(jié)果的總數(shù))
3)100%判定-條件覆蓋率含義:設(shè)計足夠的測試用例,使得判斷中每個條件的所有可能取值至少執(zhí)行一次,同時每個判斷本身的所有可能結(jié)果至少執(zhí)行一次。換言之,即是要求各個判斷的所有的可能的取值組合至少執(zhí)行一次。
4)特點
(1)判定-條件覆蓋率實際上就是判定覆蓋率和條件覆蓋率的組合。
(2)采用判定-條件覆蓋,邏輯表達(dá)式中的錯誤不一定能夠查得出來。
5、條件組合覆蓋(Condition combination coverage)
1)定義:在測試時,運(yùn)行被測程序后,所有語句中原子條件所有的可能的取值結(jié)果組合出現(xiàn)過的比率。
2)計算公式:條件組合覆蓋率=(至少被執(zhí)行一次的條件組合)/(總的可能的條件組合數(shù))
3)100%條件組合覆蓋率含義:設(shè)計足夠的測試用例,使得判斷中條件的各種可能組合至少出現(xiàn)過一次。
4)特點:若條件組合覆蓋率為100%,則語句覆蓋率、判定覆蓋率、條件覆蓋率和判定-條件覆蓋率必為100%。
6、路徑覆蓋(Path Coverage)
1)定義:在測試時,運(yùn)行被測程序后,程序中所有可能的路徑被執(zhí)行的比率。
2)計算公式:路徑覆蓋率=(至少被執(zhí)行一次的路徑數(shù))/(總的路徑數(shù))
3)100%路徑覆蓋率含義:設(shè)計足夠的測試用例,要求覆蓋程序中所有可能的路徑。
4)特點
(1)路徑覆蓋比判定條件覆蓋更強(qiáng),但是不能包含判定條件覆蓋。
(2)若路徑覆蓋率為100%,則語句覆蓋率、判定覆蓋率必為100%。
小結(jié):邏輯覆蓋率可以作為軟件測試的一個度量,但是,即使達(dá)到了100%的邏輯覆蓋率,仍然無法保證程序的正確性。
注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-17881.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注軟件測試頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請試課。關(guān)注官方微信了解更多:150 3333 6050