構建之法 學習筆記04
阿新 • • 發佈:2017-05-05
部分 使用 用戶 != 工作 應該 覆蓋率 錯誤處理 必須
關於軟件工程的一些基本概念和技術
單元測試
絕大部分軟件都是由多人合作完成的,大家的工作互相有依賴關系。最典型的的例子就是,某人負責的模板的功能被其他人調用。
軟件的額很多錯誤都是來源於程序員對模塊功能的誤解、疏忽或不了解模塊的變化。單元測試可以有效的解決這些問題。
用VSTS寫單元測試
許多應用程序中都會用到“用戶”這一類型,用戶的標識通常是一個郵件地址。
創建單元測試含糊的主要步驟是:
1.設置數據(一個假想的正確的E-mail地址)
2.使用被測試類型的功能(用E-mail地址來創建一個User類的實體)
3.比較實際結果和預期的結果(Assert.IsTure(target!=null);)
需要註意的地方:
單元測試應該在最基本的功能/參數上驗證程序的正確性。
單元測試必須有最熟悉代碼的人(程序的作者)來寫。代碼的作者最了解代碼的目的、特點和實現的局限性。
單元測試過後,機器狀態不變,這樣就可以不斷的運行單元測試。
單元測試要快(一個測試的運行時間是幾秒鐘,而不是幾分鐘)。快,才能保證效率。
單元測試應該產生可重復、一致的結果。
獨立性——單元測試的運行/通過/失敗不依賴於別的測試,可以人為構造數據,以保證單元測試的獨立性。
單元測試應該覆蓋所有的代碼路徑,包括錯誤處理路徑。100%的代碼覆蓋率並不等於100%的正確性。
單元測試應該集成到自動測試的框架中。把單元測試自動化,這樣單元測試的錯誤就能被及時發現。
單元測試必須和代碼一起進行版本保護。
構建之法 學習筆記04