在要求項目要盡量快地實現的時候,質量與開發進度上會出現一定的矛盾,最突出的就是單元測試代碼與邏輯實現代碼。
TDD (測試驅動開發)必然沒錯,但是使用不當會造成開發效率的下降。在敏捷開發實踐中,結合前輩經驗與自己的經驗,如下幾點是要關心的:
1. 為主要的、關鍵的邏輯組件,關鍵的邏輯方法進行測試驅動開發
這樣對設計、設計演化很有幫助
2. 邏輯類似的組件如果存在多個,優先編寫其中一種邏輯組件的測試代碼
實踐中可能會出現一些組件在邏輯上可能完成差不多的功能(例如類型轉換幫助類),可以先只編寫其中一種組件的 測試代碼以節省時間
3. 發現 Bug 時一定先編寫測試代碼進行 Debug
在測試和調試之間眾說紛紜,我的觀點是應該先編寫測試代碼找出這個 Bug
4. 關鍵 Utility、Infrastucture 類型的組件請編寫測試代碼
不要忽視了這些幫助類、基礎類的正確性和運行效率
5. 保持測試代碼與邏輯代碼同步
這里說的“同步”主要包括了測試方法和實現方法的同步;測試代碼注釋和邏輯代碼注釋的同步
6. 保證測試用例的獨立性
讓測試用例獨立的可執行,盡量不要依賴其他的測試用例。
這樣才能讓 TDD 與設計保持良好的協作
7. Mock 是必不可少的
使用 Mock 可以讓接口的設計得到快速驗證與反饋,也對團隊的平行開發提供便利
文章來源于領測軟件測試網 http://www.kjueaiud.com/