測試驅動開發 Test-driven development
測試驅動開發(Test-driven development)是極限編程中倡導的程序開發方法,以其倡導先寫測試程序,然后編碼實現其功能得名。
正面評價
可以有效的避免過度設計帶來的浪費。但是也有人強調在開發前需要有完整的設計再實施可以有效的避免重構帶來的浪費。
可以讓開發者在開發中擁有更全面的視角。
負面評價
開發者可能只完成滿足了測試的代碼,而忽略了對實際需求的實現。有實踐者認為用結對編程的方式可以有效的避免這個問題。
會放慢開發實際代碼的速度,特別對于要求開發速度的原型開發造成不利。這里需要考慮開發速度需要包含功能和品質兩個方面,單純的代碼速度可能不能完全代表開發速度。
使得開發更為關注用例和測試案例,而不是設計本身。目前,對于這個觀點有較多的爭議。
測試驅動開發會導致單元測試的覆蓋度不夠,比如可能缺乏邊界測試。在實際的操作中,和非測試驅動開發一樣,當代碼完成以后還是需要補充單元測試,提高測試的覆蓋度。
測試驅動開發 - 開發過程
概括起來,測試驅動開發的基本過程如下:
(1) 明確當前要完成的功能。可以記錄成一個 TODO 列表。
(2) 快速完成針對此功能的測試用例編寫。
(3) 測試代碼編譯不通過。
(4) 編寫對應的功能代碼。
(5) 測試通過。
(6) 對代碼進行重構,并保證測試通過。
(7) 循環完成所有功能的開發。
posted on 2014-03-24 10:51 順其自然EVO 閱讀(291) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄