軟件測試技術(shù)基礎學(xué)習之測試覆蓋率 軟件測試
在測試方法中粗略的介紹了幾種測試方法。其中,白盒測試的動(dòng)態(tài)分析方法中提到邏輯覆蓋率測試有:語(yǔ)句覆蓋、分支覆蓋/判定覆蓋、條件覆蓋、條件—判定覆蓋和路徑覆蓋。這里將詳細闡述邏輯覆蓋率測試。
準備知識:
可執行語(yǔ)句:可執行的一項操作;
真、假分支:Ture、False
操作數(Opreand)、操作符(Operator):
操作數:常量(整數、十六進(jìn)制數、八進(jìn)制數、實(shí)數、字符、字符串)、變量(簡(jiǎn)單類(lèi)型、數組類(lèi)型、記錄類(lèi)型、指針類(lèi)型、聯(lián)合等);
操作符:?jiǎn)我徊僮鞣、二進(jìn)制操作符、條件操作符、賦值操作符等。
覆蓋率
概念:覆蓋率是度量測試完整性的一個(gè)手段,是測試有效性的一個(gè)度量。
計算公式:
覆蓋率=(至少被執行一次的item數)/item總數
目的:評估測試的有效性,找出弱點(diǎn),有目的的補充用例。
缺點(diǎn):測試成本隨著(zhù)覆蓋率的提高而增加。(在一般的測試中有個(gè)指標)
分類(lèi):
● 邏輯覆蓋率(Logical Coverage),也叫代碼覆蓋率(Code Coverage)或結構化覆蓋率,屬于白盒測試的范疇。
○ 語(yǔ)句覆蓋(Statement Coverage)率:程序中可執行語(yǔ)句被測試的比例。
◆ 語(yǔ)句覆蓋率=(至少被執行一次的可執行語(yǔ)句的數量)/(可執行語(yǔ)句的總數)
◆ 它最簡(jiǎn)單的覆蓋,適合用于自動(dòng)化測試;
◆ 幾乎所有的測試都能實(shí)現語(yǔ)句覆蓋率100%,所以它不是測試完整性好的度量。
○ 判定覆蓋(Decision Coverage)率/分支覆蓋(Branch Coverage)率:程序中真、假分支被測試占的比例。
◆ 判定覆蓋率=(判定結果被評價(jià)的次數)/(判定結果的總數)
◆ 它直接針對代碼,容易被理解,實(shí)現判定覆蓋率100%是可能的;
◆ 優(yōu)于語(yǔ)句覆蓋,但對于復合條件,兩個(gè)或多個(gè)條件項的組合可能導致只有特定的分支被測到。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/