3.1 軟件設計說明導出的測試
測試用例通過根據相關的軟件設計說明文檔進行設計。每個測試用例測試設計說明中一項或多項陳述。通常為被測單元設計說明的一系列陳述建立一系列對應的設計用例。
例1:考慮下面計算實數平方根的函數的設計說明:
輸入:實數
輸出:實數
處理:當輸入0或大于0時,返回輸入數的平方根;當輸入小于0時,顯示:“Square root
error - illegal negative input",并返回0;庫函數Print_Line用于顯示出錯信息。
設計說明有3個陳述,可以2個測試用例來對應。
Test Case 1:輸入4,返回2。 //執行第一個陳述
Test Case 2:輸入-10,返回0,顯示“Square root error - illegal negative input”//對應第二個和第三個陳述
設計說明導出的測試用例提供了與被測單元設計說明陳述序列很好的對應關系,增強了測試說明的可讀性和可維護性。但有軟件設計說明導出測試是正面的測試用例設計技術。軟件設計說明導出的測試應該用負面測試用例進行補充,以提供一個完整的單元測試說明。
設計說明導出的測試設計技術還可用于安全分析、保密分析、軟件冒險分析和其他給單元設計的其他補充文檔。
3.2 基本路徑測試
基本路徑測試是一種白盒測試技術。測試用例設計者導出一個過程設計的邏輯復雜性測度,并使用改測度作為指南來定義執行路徑的基本集,從該基本集導出的測試用例保證對程序中的每一條執行語句至少執行一次。
基本路徑測試的方法步驟如下:
3.2.1 畫出控制流圖
C/C++語句中的控制語句表示如下:
圖中的每一個圓稱為流圖的節點,代表一條或多條語句。流圖中的箭頭稱為邊或連接,
代表控制流。
任何過程設計都要被翻譯成控制流圖。如下面的C 函數:
void Sort(int iRecordNum,int iType)
0 {
1 int x=0;
2 int y=0;
3 while (iRecordNum--)
4 {
5 if(0= =iType)
6 x=y+2;
7 else
8 if(1= =iType)
9 x=y+10;
10 else
11 x=y+20;
12 }
13 }
文章來源于領測軟件測試網 http://www.kjueaiud.com/