1. 程式人生 > >TDD、ATDD、BDD、DDD測試概念

TDD、ATDD、BDD、DDD測試概念

TDD:測試驅動開發(Test-Driver Development)

 測試驅動開發是敏捷開發中的一項核心實踐和技術,也是一種設計方法論。TDD的原理是開發功能程式碼之前,先編寫單元測試用例程式碼,測試程式碼確定需要編寫什麼產品程式碼。TDD的基本思路就是通過測試來推動整個開發的進行,但測試驅動開發並不只是單純的測試工作,而是把需求分析、設計和質量控制量化的過程。TDD首先考慮使用需求(物件、功能、過程、介面等),主要是編寫測試用例框架對功能的過程和介面進行設計,而測試框架可以持續進行驗證。

ATDD:驗收測試驅動開發(Acceptance Test Driven Development)

 驗收測試驅動開發是一種實踐。在準備實施一個功能或特性之前,團隊首先需要定義出期望的質量標準和驗收細則,以明確且達成共識的驗收測試計劃(包含一系列測試場景)來驅動開發人員的功能開發實現和測試人員的測試指令碼開發。面向開發人員,強調如何實現系統以及如何通過驗收測試。

BDD行為驅動開發(Behavior Driven Development)

 行為驅動開發是一種敏捷軟體開發技術,它鼓勵軟體專案中開發者、QA、非技術人員或商業參與者之間的協作。主要是從使用者的需求出發,強調系統行為。BDD最初由Dan North在2003年命名,它包括驗收測試和客戶測試驅動等極限程式設計的實踐,作為對測試驅動開發的迴應。

DDD:領域驅動開發(Domain Drive Design)

 領域驅動設計是對面向物件的的分析和設計(OOAD,Object Orient Analysis Design)的一個補充,對技術框架進行了分層規劃,同時對每個類進行了策略和型別劃分。領域模型是領域驅動的核心 ,採用DDD的設計思想,業務邏輯不再集中在幾個大型的類上,而是在大量相對小的領域物件上,這些類具有自己的狀態和行為,每個類都是完成的獨立的,並與現實領域的業務物件形成一種對映。基於DDD的架構設計,保證了系統的可維護性,擴充套件性和敏捷性,在處理複雜業務邏輯方面有著明顯的優勢!

參考資料:Selenium 2 自動化測試實戰 基於Python語言 蟲師編著