控制流測試是一種白盒測試下的測試技術。該技術的目的是通過控制結構確定語句或程式指令的執行順序。程式的控制結構用於開發程式的測試用例。在該技術中,測試者選擇大程式的特定部分來設定測試路徑。它主要用於單元測試。測試用例由程式的控制圖表示。
控制流圖由節點,邊緣,決策節點,結節點形成,以指定所有可能的執行路徑。
控制流程圖中的節點用於建立過程路徑。它代表了接下來程式的程式順序,測試人員可以確定程式的發生順序。
我們在下面的範例中可以看到第一個節點表示啟動過程,下一個過程是在賦值後分配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,則列印「你沒有投票資格」。
此方案的程式如上所述,控制流程圖是為測試目的而設計的。
在控制流圖中,start
,age
,qualified
,not eligible
和stop
是節點,n> = 18
是決定哪個部分(if或else)將根據給定值執行的決策節點。符合條件的節點和不符合條件的節點的連線在停止節點上。
通過程式的流程圖設計測試用例,以確定執行路徑是否正確。所有節點,連線點,邊緣和決策都是設計測試用例的基本部分。