軟體測試 - 路徑測試
軟體測試包含兩個主要步驟,即測試用例設計和測試用例執行。測試用例設計階段由測試計劃和測試策略的準備驅動。軟體路徑測試是用於設計測試用例的方法之一。
什麼是軟體路徑測試?
軟體路徑測試是一種用於測試用例準備的方法。在這種技術中,生成程式原始碼的控制流圖以計算一組線性無關路徑。此外,測量程式碼的圈複雜度以獲取線性無關路徑的數量,最後根據每條路徑建立測試用例。
軟體路徑測試用於獲得程式碼的完整分支覆蓋率,但它是在不觸及控制流圖的每條可能路徑的情況下完成的。程式碼的圈複雜度指導軟體路徑測試過程。
軟體路徑測試過程
軟體路徑測試的過程如下所示:
步驟 1 - 建立程式原始碼的控制流圖,其中需要識別所有可執行路徑。
讓我們考慮以下程式碼塊。
IF K = 580 THEN IF L > M THEN K = L ELSE K = M END IF END IF PRINT K
程式碼的控制流圖如下所示:

步驟 2 - 使用以下公式計算相同程式碼的圈複雜度:
圈複雜度由 V(G) = E - N + 2 * P 表示。其中,E 是邊的總數,N 是節點的總數,P 是圖中連線元件的總數。
在步驟 1 中顯示的控制流圖中,有七個節點 (N) 由藍色圓圈表示。請注意,程式碼的行總數等於節點的總數。有八條邊 (E) 以紅色表示,並且由於只有一個方法,圖中連線元件 (P) 的總數為 1。因此,根據公式,
V(G) = E - N + 2 * P = 8 - 7 + 2 * 1 = 3.
步驟 3 - 根據控制流圖建立所有路徑的集合,集合的基數等於測量的圈複雜度。
步驟 4 - 為上述步驟中計算的集合中的每條路徑開發一個測試用例。
軟體路徑測試有哪些技術?
軟體路徑測試的技術如下所示:
- 控制流圖 - 使用節點和邊將完整的程式碼塊轉換為控制流圖。
- 判定到判定路徑 - 將控制流圖拆分為多個判定到判定路徑,最後組合到特定的節點中。
- 獨立路徑 - 獨立路徑是從判定到判定路徑圖中生成的路徑,無法使用不同的方法從其他路徑生成。
軟體路徑測試的優點
軟體路徑測試的優點如下所示:
- 軟體路徑測試可以防止建立冗餘測試用例。
- 軟體路徑測試驗證程式原始碼的邏輯。
- 軟體路徑測試是一種有效且高效的測試用例設計技術。
軟體路徑測試的缺點
軟體路徑測試的缺點如下所示:
- 參與軟體路徑測試的測試人員應該經驗豐富,並且應該具備技術技能和程式設計知識。
- 隨著程式原始碼複雜度的增加,測試用例的數量也會增加。
- 如果原始碼的複雜度非常高,則很難想出一個測試路徑。
- 某些測試路徑可能不會考慮程式原始碼中給出的所有條件。
結論
本教程對軟體路徑測試進行了全面概述。我們首先描述了什麼是軟體路徑測試,軟體路徑測試的過程,軟體路徑測試的技術,軟體路徑測試的優點以及軟體路徑測試的缺點。這使您對軟體路徑測試有了深入的瞭解。明智的做法是不斷練習您學到的知識,並探索與軟體測試相關的其他知識,以加深您的理解並拓寬您的視野。