語句覆蓋的定義:
語句覆蓋就是設計若干個測試用例,使被測試程序中的每條可執行語句至少執行一次。比如說我們測試用例裏面有10個語句,那麼這10個語句都要被測試到。
語句覆蓋率:
語句覆蓋率=至少被被執行一次的語句數量/可執行的語句總數
eg:案例代碼中有10條可執行語句,測試用例執行9條,則語句覆蓋率就爲90%。
測試實例:
以linux下shell編程爲例:
輸入以下代碼,進行測試:
#!/bin/bash
function yuju(){
echo “請輸入第一個數字:”
read a
echo “請輸入第二個數字:”
read b
return $(($a/$b))
}
yuju
echo “商是$?”
我們設置兩個簡單的測試用例:a=4 b=2 和a=9 b=3
我們對用例進行執行,我們的語句覆蓋率爲:2/2=100%,但是卻沒有發現Bug,比如當我讓B=0時,返回結果出現異常,如下圖:
缺點:
由上可知,這種測試方法僅僅針對程序邏輯中顯式存在的語句,但對於隱藏的條件和可能到達的隱式邏輯分支,是無法測試的。