3. 基本路徑覆蓋
(1) 概述
l 在程序控制流圖的基礎上,通過分析程序控制流圖的環路復雜性,導出基本可執行路徑的集合,然后據此設計測試用例
l 設計出的測試用例要保證在測試中程序的每一條可執行語句至少執行一次
(2) 程序控制流圖
l 控制流圖是描述程序控制流的一種方式
l 圖形符號:圓圈代表一個結點 表示一個或多個無分支的語句或源程序語句
l 邊和點圈定的部分叫做區域。當對區域計數時,圖形外的一個部分也應記為一個區域
l 判斷語句中的條件為復合條件時,即條件表達式由一個或多個邏輯運算符連接的邏輯表達式(a and b),則需要改變復合條件的判斷為一系列只有單個條件的嵌套的判斷
圖形符號圖所示
(1) 概述
l 在程序控制流圖的基礎上,通過分析程序控制流圖的環路復雜性,導出基本可執行路徑的集合,然后據此設計測試用例
l 設計出的測試用例要保證在測試中程序的每一條可執行語句至少執行一次
(2) 程序控制流圖
l 控制流圖是描述程序控制流的一種方式
l 圖形符號:圓圈代表一個結點 表示一個或多個無分支的語句或源程序語句
l 邊和點圈定的部分叫做區域。當對區域計數時,圖形外的一個部分也應記為一個區域
l 判斷語句中的條件為復合條件時,即條件表達式由一個或多個邏輯運算符連接的邏輯表達式(a and b),則需要改變復合條件的判斷為一系列只有單個條件的嵌套的判斷
圖形符號圖所示
(3) 程序環路復雜性
l 程序的環路復雜性即McCabe復雜性度量,簡單的定義為控制流圖的區域數
l 從程序的環路復雜性可導出程序基本路徑集合中的獨立路徑條數,這是確保程序中每個可執行語句至少執行一次所必須的測試用例數目的上界
l 獨立路徑:包括一組以前沒有處理的語句或條件的一條路徑
l 通常環路復雜性可用以下三種方法求得:
v 將環路復雜性定義為控制流圖中的區域數。
v 設E為控制流圖的邊數,N為圖的結點數,則定義環路復雜性為 V(G)=E-N+2。
v 若設P為控制流圖中的判定結點數,則有 V(G)=P+1。
(4) 基本路徑測試步驟
l 以詳細設計或源代碼為基礎,導出程序的控制流圖
l 計算得到控制流圖G的環路復雜性v(g)
l 確定線性無關的路徑的基本集
l 生成測試用例,確保基本路徑集中每條路徑的執行
l 程序的環路復雜性即McCabe復雜性度量,簡單的定義為控制流圖的區域數
l 從程序的環路復雜性可導出程序基本路徑集合中的獨立路徑條數,這是確保程序中每個可執行語句至少執行一次所必須的測試用例數目的上界
l 獨立路徑:包括一組以前沒有處理的語句或條件的一條路徑
l 通常環路復雜性可用以下三種方法求得:
v 將環路復雜性定義為控制流圖中的區域數。
v 設E為控制流圖的邊數,N為圖的結點數,則定義環路復雜性為 V(G)=E-N+2。
v 若設P為控制流圖中的判定結點數,則有 V(G)=P+1。
(4) 基本路徑測試步驟
l 以詳細設計或源代碼為基礎,導出程序的控制流圖
l 計算得到控制流圖G的環路復雜性v(g)
l 確定線性無關的路徑的基本集
l 生成測試用例,確保基本路徑集中每條路徑的執行
轉自:https://blog.csdn.net/hhb200766/article/details/4220923