這裏是關於TDD和BDD的我的區別理解,不喜勿噴框架
要理解這兩個技術的區別,首先要對這兩個技術自身有一個瞭解,在這裏簡單介紹一下:工具
TDD是敏捷開發中的一項核心實踐和技術,也是一種設計方法論。原理呢,是在開發功能代碼以前,先編寫單元測試用例代碼,測試代碼是要根據需求的產品來編寫的代碼。單元測試
TDD的基本思路就是經過測試來推進整個開發的進行。 // ! (測試驅動開發不是簡單的測試,是須要把需求分析、設計和質量控制量化的過程)測試
我的理解爲:測試驅動開發就是,在瞭解需求功能以後,制定了一套測試用例代碼,這套測試用例代碼對你的需求(對象、功能、過程、接口等)進行設計,測試框架能夠持續進行驗證。就像是在畫畫以前先畫好了基本的輪廓,來保證可以畫成你想要的東西。設計
TDD的優勢是:對象
TDD的缺點是:接口
BDD是在應用程序存在以前,寫出用例與指望,從而描述應用程序的行爲,而且促使在項目中的人們彼此互相溝通。開發
BDD關注的是業務領域,而不是技術。BDD強調用領域特定語言描述用戶行爲,定義業務需求,讓開發者集中精力於代碼的寫法而不是技術細節上。着重在整個開發層面全部參與者對行爲和業務的理解。產品
我的理解爲:行爲驅動開發將全部人集中在一塊兒用一種特定的語言將所須要的系統行爲造成一個一致理解承認的術語。就像是統一了的普通話,各個地區的人能夠經過普通話來了解一句話意義是什麼。io
BDD的優勢是:
我的認爲,這二者沒有可比性,根本不是一個頻道的東西;若非要說出兩者的區別,總結有如下幾點: