單元測試任務包括:1 模組接口測試;2 模組局部數據結構測試;3 模組邊界條件測試;4 模組中所有獨立執行通路測試;5 模組的各條錯誤處理通路測試。
模組接口測試,局部數據結構,其他,
模組接口測試
模組接口測試是單元測試的基礎。只有在數據能正確流入、流出模組的前提下,其他測試才有意義。測試接口正確與否應該考慮下列因素:
6調用其他模組時所給實際參數的量綱是否與被調模組的形參量綱一致;
7 調用預定義函式時所用參數的個數、屬性和次序是否正確;
8 是否存在與當前入口點無關的參數引用;
9 是否修改了唯讀型參數;
10 對全程變數的定義各模組是否一致;
11是否把某些約束作為參數傳遞。
如果模組內包括外部輸入輸出,還應該考慮下列因素:
1 檔案屬性是否正確;
2 OPEN/CLOSE語句是否正確;
3 格式說明與輸入輸出語句是否匹配;
4緩衝區大小與記錄長度是否匹配;
5檔案使用前是否已經打開;
6是否處理了檔案尾;
7是否處理了輸入/輸出錯誤;
8輸出信息中是否有文字性錯誤;
局部數據結構
檢查局部數據結構是為了保證臨時存儲在模組內的數據在程式執行過程中完整、正確。局部數據結構往往是錯誤的根源,應仔細設計測試用例,力求發現下面幾類錯誤:
1 不合適或不相容的類型說明;
2變數無初值;
3變數初始化或省缺值有錯;
4不正確的變數名(拼錯或不正確地截斷);
5出現上溢、下溢和地址異常。
其他
除了局部數據結構外,如果可能,單元測試時還應該查清全局數據(例如FORTRAN的公用區)對模組的影響。
在模組中應對每一條獨立執行路徑進行測試,單元測試的基本任務是保證模組中每條語句至少執行一次。此時設計測試用例是為了發現因錯誤計算、不正確的比較和不適當的控制流造成的錯誤。此時基本路徑測試和循環測試是最常用且最有效的測試技術。計算中常見的錯誤包括:
1 誤解或用錯了算符優先權;
2混合類型運算;
3變數初值錯;
4精度不夠;
5表達式符號錯。
1不同數據類型的對象之間進行比較;
2錯誤地使用邏輯運算符或優先權;
3因計算機表示的局限性,期望理論上相等而實際上不相等的兩個量相等;
4比較運算或變數出錯;
5循環終止條件或不可能出現;
6疊代發散時不能退出;
7錯誤地修改了循環變數。
一個好的設計應能預見各種出錯條件,並預設各種出錯處理通路,出錯處理通路同樣需要認真測試,測試應著重檢查下列問題: