軟件測試培訓第27天
編寫單元測試用例的方法
一、 單元測試的概念
單元通俗的說就是指一個實現簡單功能的函數。單元測試就是只用一組特定的輸入(測試用例)測試函數是否功能正常,並且返回了正確的輸出。
測試的覆蓋種類
1.語句覆蓋:語句覆蓋就是設計若幹個測試用例,運行被測試程序,使得每一條可執行語句至少執行一次。
2.判定覆蓋(也叫分支覆蓋):設計若幹個測試用例,運行所測程序,使程序中每個判斷的取真分支和取假分支至少執行一次。
3.條件覆蓋:設計足夠的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次。
4.判定——條件覆蓋:設計足夠的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次,並且每個可能的判斷結果也至少執行一次。
5.條件組合測試:設計足夠的測試用例,運行所測程序,使程序中每個判斷的所有條件取值組合至少執行一次。
6.路徑測試:設計足夠的測試用例,運行所測程序,要覆蓋程序中所有可能的路徑。
用例的設計方案主要的有下面幾種:條件測試,基本路徑測試,循環測試。通過上面的方法可以實現測試用例對程序的邏輯覆蓋,和路徑覆蓋。
二、開始測試前的準備
在開始測試時,要先聲明一下,無論你設計多少測試用例,無論你的測試方案多麽完美,都不可能完全100%的發現所有BUG,我們所需要做的是用最少的資源,做最多測試檢查,尋找一個平衡點保證程序的正確性。窮舉測試是不可能的。所以現在進行單元測試我選用的是現在一般用的比較多的基本路徑測試法。
三、開始測試
基本路徑測試法:設計出的測試用例要保證每一個基本獨立路徑至少要執行一次。
函數說明 :
當i_flag=0;返回 i_count+100
當i_flag=1;返回 i_count *10
否則 返回 i_count *20
輸入參數: int i_count
int i_flag
輸出參數: int i_return
代碼:
1 int Test(int i_count, int i_flag)
2 {
3 int i_temp = 0;
4 while (i_count>0)
5 {
6 if (0 == i_flag)
7 {
8 i_temp = i_count + 100;
9 break;
10 }
11 else
12 {
13 if (1 == i_flag)
14 {
15 i_temp = i_temp + 10;
16 }
17 else
18 {
19 i_temp = i_temp + 20;
20 }
21 }
22 i_count--;
23 }
24 return i_temp;
25 }
軟件測試培訓第27天