什麼是 BDD?
BDD 是 Behavior Driven Development 的縮寫. 它和 TDD, exploratory testing 是 Agile Testing 最重要的三個新的 practice.
很多人都聽過這個名詞, 但是不知道他是什麼
Dan North 在 twitter 上用了這樣一句話來說明
“Using examples at multiple levels to create shared understanding and surface uncertainty to deliver software that matters.”
這裡有提到幾個重點
(1) examples
怎樣解釋需求是最有效的方式, 那就是舉些範例, 由範例來讓大家了解這個需求是怎麼運行的
(2) shared understandling
這個 practice 的重點是要達成共識. 如果你的 BDD 只是工程師自己寫寫自動化, 沒有 PO 或是客戶的加入, 那不能稱為是 BDD, 那只是你多寫了一些測試程式.
(3) surface uncertainty
那些範例需要寫出來? 是什麼地方需要有共同了解? 不是都寫些大家都知道的, 不確定的部分更是我們處理的重點.
(4) deliver software that matters
除了不確定的部分, 有價值的部分更是我們要優先釐清.
這樣有幫助你了解在實施 BDD 時, 什麼地方透別要注意嗎?
如何寫出人人有共識的需求 - 範例描述需求篇
https://kojenchieh.pixnet.net/blog/post/558923197-specbyexamplecourse
報名網址:
https://forms.gle/zqgPBEyCvcEhN6ms5
bdd tdd 在 91 敏捷開發之路 Facebook 的精選貼文
很高興看著一堆熱血佛心的好友們把第一屆的 DDD 年會搞了起來,至少凝聚了台灣對 DDD 有興趣、用 DDD 來解決問題的人們,從原本多個單點,到社群的由點成線,再到整個年會幾個不同面向的呈現交流。
台灣還是需要很多這樣的人,幫軟體業注入一些活水,持續成長、持續改善產品、改善團隊協作方式。
在架構規劃之餘,也不要忘了團隊的基本功培養,就像 agile/devops/scrum 是好東西,但團隊的 CI/build server, CD/feature flags/trunk-based/auto testing, code review/pair programming/refactoring/specification by examples 這些如果沒扎根,那些層次更高的 DDD/CQRS/Event Sourcing/micro services, TDD/ATDD/BDD, agile/devops/scrum/LeSS 一不小心會把原本的小苗碾死的。
該學的都該在用之前就學習,你不會知道那一天因為實務上的一個火花就能讓你融會貫通,但看清領域限制、資源限制、團隊限制、技術限制,是一位合格的 architect 必備的基本條件。
DDD 我還很菜,希望有機會可以跟很多夥伴們一起學習交流。(話說 Odd-e 泰國團隊對 DDD 很熟稔就是了 XD)
bdd tdd 在 91 敏捷開發之路 Facebook 的最佳貼文
#熱血 #點火 #找回本心 #就找91
最近看到一個令人振奮的熱血消息!
有一個很優秀的同學,他在去年參加 IT邦幫忙的鐵人賽寫了很優秀的Android TDD 系列文,出版社請他整理成冊,最近可以預購了:https://www.tenlong.com.tw/products/9789864344901?list_name=i-r-zh_tw
他參加過我幾年前在 Skilltree 的 TDD + BDD 的入門課程,也參加過這兩年的 #極速開發 跟 #極速開發DLC (blog上的 Kotlin 速度保持人),以及最硬的 #TDD與持續重構 課程。
其實他參加完培訓後就寫了很多品質很好的文章,讓我也偷學到同樣的內容在 Kotlin 該怎麼操作。
我還沒拿到書,但去年有 follow 他的系列文,內容品質我可以拍胸脯保證!
剛好我最近也在搞 Android 跟 Kotlin, 決定搬一整批回來給客戶端的 Android 工程師 一起學習。
#熱血是會互相影響的
#厲害的還是學員能學以致用_舉一反三
#講師只是沾沾光_但收到信當下真的很欣慰感動
#當然取得作者同意才可以分享上來
—
九月份的 #TDD與持續重構 梯次,簡介這裡去:https://dotblogs.com.tw/hatelove/2020/05/08/202009-Evolutionary-Development-TDD-and-Continuous-Refactoring
bdd tdd 在 What is the difference between TDD, BDD and ATDD and ... 的推薦與評價
TDD. Test driven development is a particular approach to writing code where the tests are written at the same time as the code and involves ... ... <看更多>
bdd tdd 在 关于TDD和BDD的一点浅见 - 张先森的代码小屋 的推薦與評價
TDD (Test-Driven Development)和BDD(Behavior-Driven Development)在敏捷开发中经常被提到,虽然看上去好像有点类似,但实际上它们两者的含义、适用 ... ... <看更多>