1. 對模塊內所有獨立的執行路徑至少測試一次;
2. 對所有的邏輯判定,取“真”與“假”的兩種情況都至少執行一次;
3. 在循環的邊界和運行界限內執行循環體;
4. 測試內部數據的有效性等等。
單元白盒跟蹤測試,通常需要做如下三項工作:
1. 設計測試用例;
2. 設計測試類模塊;
3. 跟蹤調試。
4.1 測試用例設計
通常動態執行跟蹤調試是在編碼階段進行的。在對源程序作靜態人工檢查之后就可以開始進行單元測試的測試用例設計。利用設計文檔,設計可以驗證程序功能、找出程序錯誤的多個測試用例。
4.1.1 測試用例的設計基本原則
設計測試用例基本的原則是:
1. 一個好的測試用例在于能夠發現至今沒有發現的錯誤;
2. 測試用例應由測試輸入數據和與之對應的預期輸出結果這兩部分組成;
3. 在測試用例設計時,應當包含合理的輸入條件和不合理的輸入條件。
4.1.2 白盒測試的測試用例設計
白盒測試測試用例一般采用邏輯覆蓋法和基本路徑法進行設計。
一、邏輯覆蓋法
邏輯覆蓋是以程序內部的邏輯結構為基礎的測試用例設計技術,這一方法要求測試人員對程序的邏輯結構有清楚的了解。邏輯覆蓋可分為:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋與路徑覆蓋。
1. 語句覆蓋就是設計若干個測試用例,運行所測程序,使得每一可執行語句至少執行一次。
2. 判定覆蓋就是設計若干個測試用例,運行所測程序,使得程序中每個判斷的取真分支和取假分支至少經歷一次。
3. 條件覆蓋就是設計若干個測試用例,運行所測程序,使得程序中每個判斷的每個條件的可能取值至少執行一次。
4. 判定--條件覆蓋就是設計足夠的測試用例,使得判斷中每個條件的所有可能取值至少執行一次,同時每個判斷的所有可能判斷結果也至少執行一次。
5. 條件組合覆蓋就是設計足夠的測試用例,運行所測程序,使得每個判斷的所有可能的條件取值組合至少執行一次。
6. 路徑測試就是設計足夠的測試用例,覆蓋程序中所有可能的路徑。
每一種覆蓋方法都有其優缺點,這6種覆蓋方法關系,如圖1:
通常在設計測試用例時應該根據代碼模塊的復雜度,選擇覆蓋方法。一般的代碼的復雜度與測試用例設計的復雜度成正比。因此,設計人員必須做到模塊或方法功能 的單一性、高內聚性,使得方法或函數代碼盡可能的簡單;這樣將可大大提高測試用例設計的容易度,提高測試用例的覆蓋程度。
本文出自 51CTO.COM技術博客
文章來源于領測軟件測試網 http://www.kjueaiud.com/