單元測試針對程式模組,進行正確性檢驗的測試。其目的在於發現各模組內部可能存在的各種差錯。單元測試需要從程式的內部結構出發設計測試用例。多個模組可以平行地獨立進行單元測試。
①單元測試的內容
模組介面測試
:對通過被測模組的資料流進行測試。為此,對模組介面,包括參數列、呼叫子模組的引數、全程資料、檔案輸入/輸出操作都必須檢查。
區域性資料結構測試:設計測試用例檢查資料型別說明、初始化、預設值等方面的問題,還要查清全程資料對模組的影響。
路徑測試:選擇適當的測試用例,對模組中重要的執行路徑進行測試。對基本執行路徑和迴圈進行測試可以發現大量路徑錯誤。
錯誤處理測試:檢查模組的錯誤處理功能是否包含有錯誤或缺陷。例如,是否拒絕不合理的輸入;出錯的描述是否難以理解、是否對錯誤定位有誤、是否出錯原因報告有誤、是否對錯誤條件的處理不正確;在對錯誤處理之前錯誤條件是否已經引起系統的干預等。
邊界測試:要特別注意資料流、控制流中剛好等於、大於或小於確定的比較值時出錯的可能性。對這些地方要仔細地選擇測試用例,認真加以測試。
此外,如果對模組執行時間有要求的話,還要專門進行關鍵路徑測試,以確定最壞情況下和平均意義下影響模組執行時間的因素。這類資訊對進行效能評價是十分有用的。
②單元測試的步驟
通常單元測試在編碼階段進行。在源程式**編制完成,經過評審和驗證,確認沒有語法錯誤之後,就開始進行單元測試的測試用例設計。利用設計文件,設計可以驗證程式功能、找出程式錯誤的多個測試用例。對於每一組輸入,應有預期的正確結果。
模組並不是乙個獨立的程式,在考慮測試模組時,同時要考慮它和外界的聯絡,用一些輔助模組去模擬與被測模組相聯絡的其它模組。這些輔助模組分為兩種:
驅動模組:相當於被測模組的主程式。它接收測試資料,把這些資料傳送給被測模組,最後輸出實測結果。
樁模組:用以代替被測模組呼叫的子模組。樁模組可以做少量的資料操作,不需要把子模組所有功能都帶進來,但不允許什麼事情也不做。
被測模組、與它相關的驅動模組及樁模組共同構成了乙個「測試環境」,見圖1。
圖1單元測試的測試環境
如果乙個模組要完成多種功能,且以程式包或物件類的形式出現,例如ada中的包,modula中的模組,c++中的類。這時可以將這個模組看成由幾個小程式組成。對其中的每個小程式先進行單元測試要做的工作,對關鍵模組還要做效能測試。對支援某些標準規程的程式,更要著手進行互聯測試。有人把這種情況特別稱為模組測試,以區別單元測試。
白盒測試例項 單元測試的步驟
白盒測試 與黑盒測試 的過程和方法是有一些區別的。單元測試 的步驟 1 理解需求和設計 理解設計是很重要的,特別是要搞清楚被測試模組在整個軟體中所處的位置,這對測試的內容將會有很大的影響。需要記住的乙個原則就是 好的設計,各模組只負責完成自己的事情,層次與分工是很明確的。在單元測試的時候,可以不用測...
單元測試與Junit
1,軟體的生命週期 需求,分析,開發,測試,維護。維護的成本最高。測試做好了可以降低維護成本。2,測試技術分類 1 按規模分類 2 按方法分類 3,junit 隨著系統規模的逐漸增大,每次修改完 都要重新啟動系統進行系統及測試十分耗時,junit可以通過測試類對系統中的單個方法進行測試,而不需要執行...
斷言與單元測試
using system using system.collections.generic using system.linq using system.text using microsoft.visualstudio.testtools.unittesting 路徑 c windows micr...