簡介
路徑覆蓋要求設計足夠多的測試用例,在白盒測試法中,覆蓋程度最高的就是路徑覆蓋,因為其覆蓋程式中所有可能的路徑。
對於比較簡單的小程式來說,實現路徑覆蓋是可能的,但是如果程式中出現了多個判斷和多個循環,可能的路徑數目將會急劇增長,以致實現路徑覆蓋是幾乎不可能的。
所以我們需要路徑分析,計算程式中的路徑數(複雜度)。
以下的公式:
V(G)=e-n+2
PS:其中e為邊數,n為結點數。
方法
在程式控制流圖的基礎上,通過分析控制構造的環路複雜性,導出基本可執行路徑集合,從而設計測試用例。包括以下4個步驟和一個工具方法:1.程式的控制流圖:描述程式控制流的一種圖示方法。
2.程式圈複雜度:McCabe複雜性度量。從程式的環路複雜性可導出程式基本路徑集合中的獨立路徑條數,這是確定程式中每個可執行語句至少執行一次所必須的測試用例數目的上界。
3.導出測試用例:根據圈複雜度和程式結構設計用例數據輸入和預期結果。
4.準備測試用例:確保基本路徑集中的每一條路徑的執行。