如何根據程序流程圖畫出控制流程圖?
在將程序流程圖簡化成控制流圖時,應注意:
在選擇或多分支結構中,分支的匯聚處應有一個匯聚結點。
邊和結點圈定的區域叫做區域,當對區域計數時,圖形外的區域也應記為一個區域。
如下頁圖所示
如果判斷中的條件表達式是由一個或多個邏輯運算符 (OR, AND, NAND, NOR) 連接的復合條件表達式,則需要改為一系列只有單條件的嵌套的判斷。
例如:
1 if a or b
2 x
3 else
4 y
對應的邏輯為:
獨立路徑:至少沿一條新的邊移動的路徑
基本路徑測試法的步驟:
第一步:畫出控制流圖
流程圖用來描述程序控制結構?蓪⒘鞒虉D映射到一個相應的流圖(假設流程圖的菱形決定框中不包含復合條件)。在流圖中,每一個圓,稱為流圖的結點,代表一個或多個語句。一個處理方框序列和一個菱形決測框可被映射為一個結點,流圖中的箭頭,稱為邊或連接,代表控制流,類似于流程圖中的箭頭。一條邊必須終止于一個結點,即使該結點并不代表任何語句(例如:if-else-then結構)。由邊和結點限定的范圍稱為區域。計算區域時應包括圖外部的范圍。
畫出其程序流程圖和對應的控制流圖如下
第二步:計算圈復雜度
圈復雜度是一種為程序邏輯復雜性提供定量測度的軟件度量,將該度量用于計算程序的基本的獨立路徑數目,為確保所有語句至少執行一次的測試數量的上界。獨立路徑必須包含一條在定義之前不曾用到的邊。
有以下三種方法計算圈復雜度:
文章來源于領測軟件測試網 http://www.kjueaiud.com/