軟體測試 - 路徑測試



軟體測試包含兩個主要步驟,即測試用例設計和測試用例執行。測試用例設計階段由測試計劃和測試策略的準備驅動。軟體路徑測試是用於設計測試用例的方法之一。

什麼是軟體路徑測試?

軟體路徑測試是一種用於測試用例準備的方法。在這種技術中,生成程式原始碼的控制流圖以計算一組線性無關路徑。此外,測量程式碼的圈複雜度以獲取線性無關路徑的數量,最後根據每條路徑建立測試用例。

軟體路徑測試用於獲得程式碼的完整分支覆蓋率,但它是在不觸及控制流圖的每條可能路徑的情況下完成的。程式碼的圈複雜度指導軟體路徑測試過程。

軟體路徑測試過程

軟體路徑測試的過程如下所示:

步驟 1 - 建立程式原始碼的控制流圖,其中需要識別所有可執行路徑。

讓我們考慮以下程式碼塊。

IF K = 580
   THEN IF L > M
   THEN K = L
ELSE K = M
   END IF
END IF
PRINT K

程式碼的控制流圖如下所示:

Software Path Testing

步驟 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 - 為上述步驟中計算的集合中的每條路徑開發一個測試用例。

軟體路徑測試有哪些技術?

軟體路徑測試的技術如下所示:

  • 控制流圖 - 使用節點和邊將完整的程式碼塊轉換為控制流圖。
  • 判定到判定路徑 - 將控制流圖拆分為多個判定到判定路徑,最後組合到特定的節點中。
  • 獨立路徑 - 獨立路徑是從判定到判定路徑圖中生成的路徑,無法使用不同的方法從其他路徑生成。

軟體路徑測試的優點

軟體路徑測試的優點如下所示:

  • 軟體路徑測試可以防止建立冗餘測試用例。
  • 軟體路徑測試驗證程式原始碼的邏輯。
  • 軟體路徑測試是一種有效且高效的測試用例設計技術。

軟體路徑測試的缺點

軟體路徑測試的缺點如下所示:

  • 參與軟體路徑測試的測試人員應該經驗豐富,並且應該具備技術技能和程式設計知識。
  • 隨著程式原始碼複雜度的增加,測試用例的數量也會增加。
  • 如果原始碼的複雜度非常高,則很難想出一個測試路徑。
  • 某些測試路徑可能不會考慮程式原始碼中給出的所有條件。

結論

本教程對軟體路徑測試進行了全面概述。我們首先描述了什麼是軟體路徑測試,軟體路徑測試的過程,軟體路徑測試的技術,軟體路徑測試的優點以及軟體路徑測試的缺點。這使您對軟體路徑測試有了深入的瞭解。明智的做法是不斷練習您學到的知識,並探索與軟體測試相關的其他知識,以加深您的理解並拓寬您的視野。

廣告