1. 模塊接口測試:模塊接口測試是單元測試的基礎。只有在數據能正確流入、流出模塊的前提下,其他測試才有意義。模塊接口測試也是集成測試的重點,這里進行的測試主要是為后面打好基礎。測試接口正確與否應該考慮下列因素:-輸入的實際參數與形式參數的個數是否相同;-輸入的實際參數與形式參數的屬性是否匹配;-輸入的實際參數與形式參數的量綱是否一致;-調用其他模塊時所給實際參數的個數是否與被調模塊的形參個數相同;-調用其他模塊時所給實際參數的屬性是否與被調模塊的形參屬性匹配;-調用其他模塊時所給實際參數的量綱是否與被調模塊的形參量綱一致;-調用預定義函數時所用參數的個數、屬性和次序是否正確;-是否存在與當前入口點無關的參數引用;-是否修改了只讀型參數;-對全程變量的定義各模塊是否一致;-是否把某些約束作為參數傳遞。如果模塊功能包括外部輸入輸出,還應該考慮下列因素:-文件屬性是否正確;-OPEN/CLOSE語句是否正確;-格式說明與輸入輸出語句是否匹配;-緩沖區大小與記錄長度是否匹配;-文件使用前是否已經打開;-是否處理了文件尾;-是否處理了輸入/輸出錯誤;-輸出信息中是否有文字性錯誤。-局部數據結構測試;-邊界條件測試;-模塊中所有獨立執行通路測試;
2. 局部數據結構測試:檢查局部數據結構是為了保證臨時存儲在模塊內的數據在程序執行過程中完整、正確,局部功能是整個功能運行的基礎。重點是一些函數是否正確執行,內部是否運行正確。局部數據結構往往是錯誤的根源,應仔細設計測試用例,力求發現下面幾類錯誤:-不合適或不相容的類型說明;-變量無初值;-變量初始化或省缺值有錯;-不正確的變量名(拼錯或不正確地截斷);-出現上溢、下溢和地址異常。
3. 邊界條件測試:邊界條件測試是單元測試中最重要的一項任務。眾所周知,軟件經常在邊界上失效,采用邊界值分析技術,針對邊界值及其左、右設計測試用例,很有可能發現新的錯誤。邊界條件測試是一項基礎測試,也是后面系統測試中的功能測試的重點,邊界測試執行的較好,可以大大提高程序健壯性。
4. 模塊中所有獨立路徑測試:在模塊中應對每一條獨立執行路徑進行測試,單元測試的基本任務是保證模塊中每條語句至少執行一次。測試目的主要是為了發現因錯誤計算、不正確的比較和不適當的控制流造成的錯誤。具體做法就是程序員逐條調試語句。常見的錯誤包括:-誤解或用錯了算符優先級;-混合類型運算;-變量初值錯;-精度不夠;-表達式符號錯。
5. 比較判斷與控制流常常緊密相關,測試時注意下列錯誤:-不同數據類型的對象之間進行比較;-錯誤地使用邏輯運算符或優先級;-因計算機表示的局限性,期望理論上相等而實際上不相等的兩個量相等;-比較運算或變量出錯;-循環終止條件或不可能出現;-迭代發散時不能退出;-錯誤地修改了循環變量。模塊的各條錯誤處理通路測試:程序在遇到異常情況時不應該退出,好的程序應能預見各種出錯條件,並預設各種出錯處理通路。如果用戶不按照正常操作,程序就退出或者停止工作,實際上也是一種缺陷,因此單元測試要測試各種錯誤處理路徑。一般這種測試着重檢查下列問題:-輸出的出錯信息難以理解;-記錄的錯誤與實際遇到的錯誤不相符;-在程序自定義的出錯處理段運行之前,系統已介入;-異常處理不當;-錯誤陳述中未能提供足夠的定位出錯信息。