控制流程測試


控制流測試是一種白盒測試下的測試技術。該技術的目的是通過控制結構確定語句或程式指令的執行順序。程式的控制結構用於開發程式的測試用例。在該技術中,測試者選擇大程式的特定部分來設定測試路徑。它主要用於單元測試。測試用例由程式的控制圖表示。

控制流圖由節點,邊緣,決策節點,結節點形成,以指定所有可能的執行路徑。

用於控制流圖的符號

  • 節點
  • 邊緣
  • 決策節點
  • 連線節點

節點

控制流程圖中的節點用於建立過程路徑。它代表了接下來程式的程式順序,測試人員可以確定程式的發生順序。

我們在下面的範例中可以看到第一個節點表示啟動過程,下一個過程是在賦值後分配n的值,如果是18或更大的值,則根據n的值確定過程的下一個節點的決策節點 如果小於18不符合條件的程式執行,那麼它是合理的,程式將以其他方式執行。下一個節點是結節點,最後一個節點是停止節點以停止該過程。

邊緣

控制流圖中的邊用於連結節點的方向。在下面的範例中可以看到,所有箭頭都用於在適當的方向上連結節點。

決策節點

控制流程圖中的決策節點用於根據值確定過程的下一個節點。可以在下面的範例中看到決策節點根據n的值確定過程的下一個節點,如果它是18或大於18,那麼如果小於18,則合格的過程將執行,否則執行不合格的過程。

連線節點

控制流圖中的結點節點是至少三個鏈路相遇的點。

範例

public class VoteEligiblityAge{  

    public static void main(String []args){  
        int n=45;  
        if(n>=18)  
        {  
            System.out.println("你有投票資格。");  
        }else{  
           System.out.println("你沒有投票資格。");  
        }  
    }  
}

控制流程圖

控制流程圖

上面的例子顯示了投票年齡的資格標準,如果年齡是18歲或者超過18歲,那麼列印訊息「你有投票資格」,如果它少於18,則列印「你沒有投票資格」。

此方案的程式如上所述,控制流程圖是為測試目的而設計的。

在控制流圖中,startagequalifiednot eligiblestop是節點,n> = 18是決定哪個部分(if或else)將根據給定值執行的決策節點。符合條件的節點和不符合條件的節點的連線在停止節點上。

通過程式的流程圖設計測試用例,以確定執行路徑是否正確。所有節點,連線點,邊緣和決策都是設計測試用例的基本部分。