簡介
“語句覆蓋”是一個比較弱的測試標準,它的含義是:選擇足夠的測試用例,使得程式中每個語句至少都能被執行一次。舉例
我們看下面的被測試代碼:
int foo(int a, int b) { return a / b; } |
假如我們的測試人員編寫如下測試案例:
TeseCase: a = 10, b = 5 |
測試人員的測試結果會告訴你,他的代碼覆蓋率達到了100%,並且所有測試案例都通過了。然而遺憾的是,我們的語句覆蓋率達到了所謂的100%,但是卻沒有發現最簡單的Bug,比如,當我讓b=0時,會拋出一個除零異常。
簡言之,語句覆蓋,就是設計若干個測試用例,運行被測程式,使得每一可執行語句至少執行一次。這裡的“若干個”,意味著使用測試用例越少越好。語句覆蓋率的公式可以表示如下:
語句覆蓋率=被評價到的語句數量/可執行的語句總數 x 100%。