語句覆蓋

語句覆蓋

語句覆蓋(StatementCoverage)又稱行覆蓋(LineCoverage),段覆蓋(SegmentCoverage),基本塊覆蓋(BasicBlockCoverage),這是最常用也是最常見的一種覆蓋方式,就是度量被測代碼中每個可執行語句是否被執行到了。這裡說的是“可執行語句”,因此就不會包括像C++的頭檔案聲明,代碼注釋,空行,等等。非常好理解,只統計能夠執行的代碼被執行了多少行。需要注意的是,單獨一行的花括弧 也常常被統計進去。語句覆蓋常常被人指責為“最弱的覆蓋”,它只管覆蓋代碼中的執行語句,卻不考慮各種分支的組合等等。假如只要求達到語句覆蓋,那么換來的確實測試效果不明顯,很難更多地發現代碼中的問題。

基本信息

簡介

語句覆蓋語句覆蓋
“語句覆蓋”是一個比較弱的測試標準,它的含義是:選擇足夠的測試用例,使得程式中每個語句至少都能被執行一次。

舉例

我們看下面的被測試代碼:

int foo(int a, int b)
{
return a / b;
}

假如我們的測試人員編寫如下測試案例:

TeseCase: a = 10, b = 5

測試人員的測試結果會告訴你,他的代碼覆蓋率達到了100%,並且所有測試案例都通過了。然而遺憾的是,我們的語句覆蓋率達到了所謂的100%,但是卻沒有發現最簡單的Bug,比如,當我讓b=0時,會拋出一個除零異常。

簡言之,語句覆蓋,就是設計若干個測試用例,運行被測程式,使得每一可執行語句至少執行一次。這裡的“若干個”,意味著使用測試用例越少越好。語句覆蓋率的公式可以表示如下:

語句覆蓋率=被評價到的語句數量/可執行的語句總數 x 100%。

相關詞條

相關搜尋

熱門詞條

聯絡我們