詳述白盒測試邏輯覆蓋法的語句覆蓋及其缺點

語句覆蓋的定義:

語句覆蓋就是設計若干個測試用例,使被測試程序中的每條可執行語句至少執行一次。比如說我們測試用例裏面有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時,返回結果出現異常,如下圖:
在這裏插入圖片描述

缺點:

由上可知,這種測試方法僅僅針對程序邏輯中顯式存在的語句,但對於隱藏的條件和可能到達的隱式邏輯分支,是無法測試的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章