2 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個贊
語句覆蓋是指選擇足夠的測試用例,使得運(yùn)行這些測試用例時,被測程序的每一個語句至少執(zhí)行一次,其覆蓋標(biāo)準(zhǔn)無法發(fā)現(xiàn)判定中邏輯運(yùn)算的錯誤;路徑覆蓋是每條可能執(zhí)行到的路徑至少執(zhí)行一次;if A and B then Action1 if C or D then Action2 語句覆蓋,只需要讓程序中的語句都執(zhí)行一遍即可 。上例中只需設(shè)計測試用例使得A=true B=true C=true 即可。路徑覆蓋:要求覆蓋程序中所有可能的路徑。所以可以設(shè)計測試用例滿足下列條件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false(3)A=true,B=true,C=false,D=false(4)A=false,B=false,C=true,D=true。

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個贊
語句覆蓋(StatementCoverage) 又稱行覆蓋(LineCoverage),段覆蓋(SegmentCoverage),基本塊覆蓋(BasicBlockCoverage),這是最常用也是最常見的一種覆蓋方式,就是度量被測代碼中每個可執(zhí)行語句是否被執(zhí)行到了。這里說的是“可執(zhí)行語句”,因此就不會包括像C++的頭文件聲明,代碼注釋,空行,等等。非常好理解,只統(tǒng)計能夠執(zhí)行的代碼被執(zhí)行了多少行。需要注意的是,單獨(dú)一行的花括號{} 也常常被統(tǒng)計進(jìn)去。語句覆蓋常常被人指責(zé)為“最弱的覆蓋”,它只管覆蓋代碼中的執(zhí)行語句,卻不考慮各種分支的組合等等。假如只要求達(dá)到語句覆蓋,那么換來的確實(shí)測試效果不明顯,很難更多地發(fā)現(xiàn)代碼中的問題。
所謂判定覆蓋,就是設(shè)計若干個測試用例,運(yùn)行被測程序,使得程序中每個判定條件的取真分支和取假分支至少評價一次。又稱為分支覆蓋。
添加回答
舉報