當程式中的判定個數多於一個時, 形成的分支結構可以分為兩類:嵌套型分支結構和串連型分支結構。
(1)測試用例數目
對於嵌套類分支類型, 若有n個判定語句, 則存在n+1條不同的路徑, 需要n+1個測試用例覆蓋它的每一條路徑。 對於串連型分支結構, 若有n個判定路徑, 則有2的n次方條路徑, 因此有2的n次方個測試用例覆蓋它的每一條路徑。
(2)減少測試用例數目的方法
①正交實驗設計法
採用正交實驗設計法, 抽取部分路徑進行測試, 由於抽樣服從均勻分佈, 因此, 在假定各條路徑的重要性相同, 或暫不明確各條路徑的重要性的情況下可以做到均勻抽樣。
②加權法
如果明確了各條路徑的重要性, 還可以採取加權的辦法, 篩選掉部分路徑, 再採用如下的措施進行抽樣。 具體步驟如下:設串連型分支結構中有n個判定語句, 計算滿足關係式n+1
基本路徑測試是在程式控制流圖的基礎上, 通過分析控制構造的環路複雜性, 匯出基本的可執行路徑集合, 從而設計出測試用例的方法。 設計出的測試用例要保證在測試中, 程式的每條可執行語句至少要執行一次。
程式的圈複雜度是對程式邏輯結構做的一種定量度量。 在進行基本路徑測試時, 程式的圈複雜度給出了程式基本路徑集合中的獨立路徑條數, 這是確保程式中每條可執行語句至少執行一次所必需的測試用例數目的上界。
控制流圖的圈複雜度=控制流中邊數-節點數+2
獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。 從控制流圖看, 一條獨立路徑是至少包括一條在其他獨立路徑中從未有過的邊的路徑。