測試覆蓋率


覆蓋率是用來度量測試完整性的一個手段。覆蓋率是測試技術有效性的一個度量。

計算公式:覆蓋率=(至少被執行一次的item數)/item的總數

覆蓋率按照測試方法大體上可以划分為三類:

1)白盒覆蓋率:也叫代碼覆蓋率或結構化覆蓋率。白盒覆蓋率中最常見的是邏輯覆蓋率。

     邏輯覆蓋率包括:語句覆蓋(可執行的語句);

                                  判定覆蓋(判定結果);

                                  條件覆蓋(每個條件分為true、false);

                                  判定條件覆蓋(將判定和條件覆蓋的分子、分母分別相加);

                                  條件組合覆蓋(將每組判定結果全排列后相加);

                                  路徑覆蓋。

     其他覆蓋如指令塊覆蓋、判定路徑覆蓋等。

     例:

     

     針對上圖程序,執行測試用例(A=3,B=0,X=1)分別計算這種情況下的語句覆蓋率、判定覆蓋率、條件覆蓋率、判定條件覆蓋率、條件組合覆蓋率和路徑覆蓋率。

     語句覆蓋率:1/2;

     判定覆蓋率:2/4;

     條件覆蓋率:4/8;

     判定條件覆蓋率:6/12;

     條件組合覆蓋率:2/8;

     路徑覆蓋率:1/4;

小結:

每種覆蓋率度量的時候都有其局限性,因此要把各種覆蓋率組合起來對測試進行度量。

各種結構測試方法都不能保證程序的正確性,但是測試的目的並非要證明程序的正確性,而是要盡可能找出程序中的錯誤。

 

2)灰盒覆蓋率:一般指函數覆蓋、接口覆蓋。

3)黑盒覆蓋率:主要是功能覆蓋率。

     功能覆蓋率中最常見的是需求覆蓋,其含義是通過設計一定的測試用例,要求每個需求點都被測試到。

 

測試用例設計不能一味追求覆蓋率,因為測試成本會隨覆蓋率的增加而增加。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM