測試驅動開發
測試驅動開發( TDD)更側重予測試自動化。20世紀90年代的極限編程運動讓它變得流行起來。
TDD的通常被描述為如下的事件序列:
實現測試:顧名思義,你開始編寫測試,而后編寫代碼。一種實踐的方式是先指定要開發代碼的接口規格,然后實現代碼。為了能編寫測試,開發人員必須得找
到所有相關的需求規格、用例和用戶故事。
將重心從編碼切換到理解需求,對于正確的實現是很有裨益的。
驗證新寫的測試會失敗:新添加的測試會失敗,因為還沒有實現正確的行為,才剛編寫測試需要存根和接口。運行測試并且確認它會失敗。
編寫實現測試的功能:我們編寫的代碼不需要多么優雅或者高性能。開始時,只要讓新測試通過即可。
驗證新的測試和舊的測試會一起通過:新的測試通過時,我們知道新實現的特性是正確的。舊的測試也通過,說明我們沒有破壞已有的功能。
重構代碼:“重構”這個詞來源于數學。在編程中,它的意思是清理代碼的同時,讓代碼更容易理解和維護。我們需要重構是因為在前面的開發當中小小地耍了點詐。
TDD是和DevOps相符合的風格,但它并不是唯一的一個。主要優勢在于好的測試套件可以用在持續集成的測試中。