單元測試

單元測試中,所謂單元是如何劃分

單元測試的對象一般是軟件設計的最小邏輯單元,單元的劃分在面向過程的結構化程序中通常是函數或子過程,在面向對象的程序中能夠是類或類的成員函數。數據結構

軟件開發中,爲什麼要進行單元測試

進行單元測試,主要是爲了在開發的過程當中發現錯誤,發現錯誤越早,成本就越低,一樣值得考慮的是,在單元測試中發現問題也比較容易,修正問題更容易,將軟件開發的過程當中,發現越晚,修復成本越高;檢查代碼是否符合設計和規範,這有利於未來代碼的維護ide

單元測試的目標

目標:單元模塊被正確編碼
信息可否正確地流入和流出單元
在單元工做過程當中,其內部數據可否保持其完整性,包括內部數據的形式,內容及相互關係不發生錯誤,全局變量在單元中的處理和影響
爲限制數據加工而設置的邊界處,可否正確工做
單元的運行可否作到知足特定的邏輯覆蓋函數

單元測試的任務

1).檢查每一條獨立執行路徑的測試,並保證每條語句被至少執行一次:
路經測試也稱爲覆蓋測試。在單元測試中,最主要的測試是針對路徑的測試。測試用例必須可以發現因爲計算錯誤、不正確的斷定或不正常的控制流而產生的錯誤單元測試

1.誤解或用錯了算符優先級
2.混合類型運算
3.變量初值錯誤
4.精度不夠
5.表達式符號錯誤
6.其它

2).檢查局部數據結構完整性:
必須測試其內部的數據可否保持完整性,包括內部數據的內容、形式及相互關係不發生錯誤測試

1.不適合或不相容的類型說明
2.變量無初值
3.變量初始化或默認值有錯
4.不正確的變量名或歷來未被使用過
5.出現上溢或下溢和地址異常
6.其它

3).檢查模塊接口是否正確:
檢查進出程序單元的數據流是否正確。對模塊接口數據流的測試必須在任何其餘測試以前進行,由於若是不能確保數據正確的輸入和輸出的話,全部的測試都是沒有意義的編碼

1.輸入的實際參數與形式參數是否一致(個數、屬性、量綱)
2.調用其餘模塊的實際參數與被調模塊的形參是否一致(個數、屬性、量綱)
3.全程變量的定義在各模塊是否一致
4.外部輸入、輸出
5.文件、緩衝區、錯誤處理
6.其它

4).檢查臨界數據處理的正確性:
目的是檢測在數據邊界處模塊可否正常工做,邊界測試是單元測試的一個關鍵任務設計

1.普通合法數據的處理
2.普通非法數據的處理
3.邊界值內合法邊界數據的處理
4.邊界值外非法邊界數據的處理
5.其它

5).預設的各類出錯處理是否正確有效:
良好的設計應該預先估計到投入運行後可能發生的錯誤,並給出相應的處理措施,使得用戶不至於一籌莫展對象

1.輸出的出錯信息難以理解
2.記錄的錯誤與實際不相符
3.異常處理不當
4.未提供足夠的定位出錯的信息
5.其它

6).內存分析(內存泄漏也會致使系統崩潰)接口

單元的靜態測試

三步曲內存

1.互查
2.走查
3.評審
相關文章
相關標籤/搜索