后兩個公式的優點是,它們更容易理解和使甩。事實上,控制流圖沒有必要構建成使用第三個公式。因為程序流程圖或源代碼列表中的決策數是可以數得到的,并且可以被用來代替公式中的o。
這三個公式應用于單個程序模型。得到總體程序復雜度的一個方法就是基于單個模型復雜度(減去多余節點)的總和。多余節點出現在高級模塊中,比如主線模塊,如果被調用的模塊是作為上級模塊的一部分聯機調用,那么高級模塊將被子圖代替。 ,
公式如下 , , ,
G=G+2一。(N—1)式中,G表示總體程序復雜度;G表示單個模塊復雜鏖;N是程序中的模
塊數。 、
每個模塊中的c值表示了在一個給定程序單元中獨立路徑的最大數目的上限。如果一個控韶惜徑集構建成等于C,那么用來測試這些路徑的測試胃例將充分測試模塊并構戚測試用餓的基礎集。這個基礎集并不需要測試程序段中的所有可能路徑,而是一個子集,所有其他路徑都可以由這個子集虛構出來。 ,
一旦秩數已知,那么獨立路徑就可%列舉出來。要列舉出基本路徑集
需按如下步驟:
1)用惟一的字母或數字標志所有節點。
2)從人口節點開始,使用最左邊的路徑遍歷整個網絡,直到出口節點。列出包含在路徑中的所有節點,并在圖上顯示出經過的邊。
3)沿原路返回直到遇到這樣一個節點,該節點有一條或多條與它相連的未被標志的邊。從人口節點開始,沿原路徑到該節點(有未被標志的邊),使用最左邊的未被標記的邊到出口節點。
4)一旦新路徑橫斷了先前的路徑,則沿后來的路徑到出口節點。
當不存在未標記的邊時,基本路徑集就完成了。其中,路徑總數必須等于c。如果路徑數不等于c,那么模塊就設計得不好,并且過于復雜。最好重新設計這樣的模塊。
當構建測試用例時為具有被測試條件的決策節點做注釋,并標上真和假分支路徑,這樣做是非常有幫助的。一個測試用例至少可以測試每條獨立路徑。測試用例的基礎集也必須至少測試每一個條件分支一次。一個測試用例就是一個輸人數據記錄,它為每個數據字段包含一個有效值或無效值。圖3—6說明了這種技術。
文章來源于領測軟件測試網 http://www.kjueaiud.com/