1. 語句覆蓋就是設計若干個測試用例,運行所測程序,使得每一可執行語句至少執行一次。
2. 判定覆蓋就是設計若干個測試用例,運行所測程序,使得程序中每個判斷的取真分支和取假分支至少經歷一次。
3. 條件覆蓋就是設計若干個測試用例,運行所測程序,使得程序中每個判斷的每個條件的可能取值至少執行一次。
4. 判定--條件覆蓋就是設計足夠的測試用例,使得判斷中每個條件的所有可能取值至少執行一次,同時每個判斷的所有可能判斷結果也至少執行一次。
5. 條件組合覆蓋就是設計足夠的測試用例,運行所測程序,使得每個判斷的所有可能的條件取值組合至少執行一次。
6. 路徑測試就是設計足夠的測試用例,覆蓋程序中所有可能的路徑。
每一種覆蓋方法都有其優缺點,這6種覆蓋方法關系,如圖1:
圖1
通常在設計測試用例時應該根據代碼模塊的復雜度,選擇覆蓋方法。一般的代碼的復雜度與測試用例設計的復雜度成正比。因此,設計人員必須做到模塊或方法功能的單一性、高內聚性,使得方法或函數代碼盡可能的簡單;這樣將可大大提高測試用例設計的容易度,提高測試用例的覆蓋程度。
二、基本路徑法
基本路徑測試法是在程序控制流圖的基礎上,通過分析控制構造的環路復雜性,導出基本可執行路徑集合,從而設計測試用例的方法。設計出的測試用例要保證在測試中程序的每個可執行語句至少執行一次?;韭窂綔y試法包括以下5個方面:
1. 程序的控制流圖:描述程序控制流的一種圖示方法。
2. 程序環境復雜性:McCabe復雜性度量;從程序的環路復雜性可導出程序基本路徑集合中的獨立路徑條數,這是確定程序中每個可執行語句至少執行依次所必須的測試用例數目的上界。
3. 導出測試用例。
4. 準備測試用例,確?;韭窂郊械拿恳粭l路徑的執行。
5. 圖形矩陣:是在基本路徑測試中起輔助作用的軟件工具,利用它可以實現自動地確定一個基本路徑集。
另外,對于測試用例的選擇除了滿足所選擇的覆蓋程度(或覆蓋標準)外還需要盡可能的采用邊界值分析法、錯誤推測法等常用地設計方法。采用邊界值分析法設計合理的輸入條件與不合理的輸入條件;條件邊界測試用例應該包括輸入參數的邊界與條件邊界(if,while,for,switch ,SQL Where子句等)。錯誤推測法,列舉出程序中所有可能的錯誤和容易發生錯誤的特殊情況,根據它們選擇測試用例;在編碼、單元測試階段可以發現很多常見的錯誤和疑似錯誤,對于這些錯誤應該作重點測試,并設計相應的測試用例。
4.1.3 單元測試計劃表格
在設計測試用例時可以參考如下表格,擬定對每個類(或模塊或包)的測試計劃。表1,是對每個類(或模塊或包)作測試計劃的表頭,它指明本測試計劃是針對那個模塊及相關文件的。表2是針對表1指定模塊測試用例而對應的子表,每個測試用例可以擁有一個子表;單元測試結果子表留作執行測試用例時根據實際結果填寫。
子系統名. PackageName. JavaClassName
單元測試計劃 |
|
標識 |
格式: “子系統名. jsp_filename(含目錄中間用\分開即可)” 或者 “子系統名. PackageName. JavaClassName” |
組件功能項 | 如:組件完成 “新增貼子”的功能 |
針對概要/詳細設計文件名 | 如:1.1版本公告部分詳細設計說明書 |
物理文件名 |
jsp_filename(含目錄); packageName. JavaClassName |
表1
單元測試子項001
下面表格為針對上面表格“子系統名. PackageName. JavaClassName”而對應的子表,每個測試用例用一張子表:
原文轉自:http://www.anti-gravitydesign.com