開始是單元測試,集中對用源代碼實現的每一個程序單元進行測試,檢查各個程序模塊是否正確的實現了規定的功能。
組裝測試是把已經測試過的模塊組裝起來,主要對與設計相關的軟件體系結構的構造進行測試。
確認測試則是要檢查已實現的軟件是否滿足了需求規格說明書中確定了的各種需求,以及軟件配置是否完全,正確。
系統測試,是把已經經過確認的軟件納入實際運行環境中,與其他的系統成份組合在一起進行測試。
單元測試(Unit Testing)
單元測試又稱模塊測試,是針對軟件設計的最小單位---程序模塊,進行正確性檢驗的測試
工作。其目的在于發現各模塊內部可能存在的各種差錯。
單元測試需要從程序的內部結構出發設計
測試用例。多個模塊可以平行的獨立進行單元測試。
1、單元測試的內容
在單元測試時,測試者需要依據詳細設計說明書和源程序清單,了解該模塊的I/O條件和模塊的邏輯結構,主要采用
白盒測試的測試用例,輔之以
黑盒測試的測試用例,使之對任何合理的輸入和不合理的輸入,都能鑒別和響應。
在單元測試的開始,應對通過被測模塊的數據流進行測試。測試項目包括:
u 調用本模塊的輸入參數是否正確
u 本模塊調用子模塊時輸入給子模塊的參數是否正確
u 全局量的定義在各模塊中是否一致
在做內外存交換時要考慮:
u 文件屬性是否正確
u OPEN與CLOSE語句是否正確
u 緩沖區容量與記錄長度是否匹配
u 在進行讀寫操作前是否打開了文件
u 在街上文件處理時是否關閉了文件
u 正文書寫/輸入錯誤
u I/O錯誤是否檢查并做了處理
(2)局部數據結構測試
u 不正確或不一致的數據類型說明
u 使用尚未賦值或尚未初始化的變量
u 錯誤的初始值或錯誤的缺省值
u 變量名拼寫錯或書寫錯
u 不一致的數據類型
u 全局數據對模塊的影響
(3)路徑測試
u 選擇適當的測試用例,對模塊中重要的執行路徑進行測試
u 應當設計測試用例查找由于錯誤的計算,不正確的比較或不正常的控制流而導致的錯誤
u 對基本執行路徑和循環進行測試可以發現大量的路徑錯誤
(4)錯誤處理測試
u 出錯的描述是否難以理解
u 出錯的描述是否能夠對錯誤定位
u 顯示的錯誤與實際的錯誤是否相符
u 對錯誤條件的處理正確與否
u 在對錯誤進行處理之前,錯誤條件是否已經引起系統的干預等
(5)邊界測試
u 注意數據流,控制流中剛好等于,大于或小于確定的比較值時出錯的可能性。對這些地方要仔細的選擇測試用例,認真的加以測試。
u 如果對模塊運行時間有要求的話,還要專門進行關鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運行時間的因素。
2、 單元測試的步驟
模塊并不是一個獨立的程序,在考慮測試模塊時,同時要考慮它和外界的聯系,用一些輔助模塊與被測模塊相聯系的其他模塊。
u 驅動模塊(driver)
u 樁模塊(stub)-----存根模塊
n 如果一個模塊要完成多種功能,可以將這個模塊看成由幾個小程序組成。必須對其中每個小程序先進行單元測試要做的工作,對關鍵模塊還要做性能測試。
n 對支持某些標準規程的程序,更要著手進行互聯測試。有人把這種情況特別成為模塊測試,以區別單元測試。