循環複雜度

循環複雜度  也稱爲條件複雜度或圈複雜度 ， 是一種軟體度量 ， 是由在1976年提出 ， 用來表示程式的複雜度 ， 其符號爲VG或是M 。 循環複雜度由程式的源代碼中量測線性獨立路徑的個數 。 此概念有些類似的量測文字複雜度的 ， 不過方法不完全相同 。 循環複雜度是由程式的控制流圖來計算 ： 有向圖的節點對應程式中個別的程式碼 ， 而若一個程式執行後會立刻執行另一程式碼 ， 會有邊連結二程式碼對應的節點 。 圈複雜度可應用在程式的子程序 、 模組 、 方法或類別 。 麥凱布首先提出一種稱爲 「 基礎路徑測試 」 （ Basis Path Testing ） 的軟體測試方式 ， 是測試程式中的每一線性獨立路徑 ， 此情形的測試用例個數即爲程式的循環複雜度 。 「 循環複雜度 」 的名稱有時會讓人誤解 ， 因爲此複雜度不只計算程式中的迴圈 （ 循環 ） 個數 。 循環複雜度是指程式的控制流圖中 ， 若將結束點到啓始點再增加一個邊時 ， 控制流圖中的圈 （ 幾個邊形成封閉路徑 ） 的個數 。