行為驅動開發(BDD)的實施

2021-09-28 18:27:58 字數 1184 閱讀 4670

軟體開發的最終形態是什麼?簡單來說就是能夠自動化的把想法變成軟體成品。

那麼軟體開發的現狀又是什麼?現狀是從想法到軟體成品的過程需要產品、開發、測試等各方面人員的密切配合,花費大量時間溝通、編碼、測試,才能一點一點變成軟體成品。

軟體開發過程總在不斷接近理想狀態的,隨著行為驅動開發(bdd)工具的出現了,它又近了一小步。

bdd 最大的意義在於:打破了產品、開發和測試之間的壁壘,使軟體自動化產出的過程前置。

現實是複雜的,軟體開發畢竟是乙個很複雜的過程,因此在實施 bdd 的時候,就需要考慮和回答很多現實問題。

1.自己是否真的了解 bdd

對於那些流行的,但是自己並不真正了解的技術,還是不要輕易的實施才好,不然結果可能適得其反。想要實施 bdd 我們還需要了解很多其他相關的概念、技術和工具。例如:敏捷開發、tdd、atdd、例項化需求、自動化測試、持續整合、cucumber、gherkin等等。此外還有各端特定的 bdd 工具的選用以及怎樣和現有開發環境相結合。

2.自己在技術上是否驗證過 bdd

如果真的想實施 bdd ,那麼結合現有的技術棧,進行深入的 bdd 驗證是優先要完成的工作。這既是乙個加深對 bdd 理解的過程,也是乙個了解自己是否真的有能力和信心實施 bdd 的過程。

3.實施 bdd 的現實成本、風險和收益

實施 bdd 不可能繞過現實的成本和收益的衡量。從各種介紹 bdd 的文章中很容易知道 bdd 能帶來的好處,但是成本和風險的計算更多的需要考慮自身的實際情況。例如:團隊的學習成本、團隊的適應期成本、團隊成員工作分配不平衡風險、團隊成員的不合作風險、形式主義風險、失敗的風險。

4.bdd 的實施方案和具體步驟是怎樣的

實施方案和具體步驟是指導 bdd 順利實施的必要文件。其內容是實施的時間、切入點、範圍、程度、溝通方式、技術架構等一整套方便實際操作的文件。在方案編寫過程中可以考慮一些通用原則,例如,統一思想、循序漸進、由易到難、由小到大、培養習慣等。

5.干係人的態度

在實施 bdd 的整個過程中都需要考慮相關人員的態度變化,使整個實施的過程保持乙個良好的氛圍,不然就算實施了 bdd ,也可能讓它的實際收益大打折扣,甚至完全失敗。

行為驅動開發之一,推廣篇

上上個周四,我在組裡做了個內部演講,題目是 使用cucumber實現行為驅動開發 考慮到組內成員並不系統的敏捷背景,我是從歷史開始的。扯軟體開發的歷史是我最喜歡的專案之一,大部分搞軟體的讀書讀到歷史基本都跳過去,我卻很喜歡看看那些過往的小故事。所以每次跟人聊起來,我都盡量吹他個昏天黑地,反正也沒人知...

行為驅動開發之一,推廣篇

上上個周四,我在組裡做了個內部演講,題目是 使用cucumber實現行為驅動開發 考慮到組內成員並不系統的敏捷背景,我是從歷史開始的。扯軟體開發的歷史是我最喜歡的專案之一,大部分搞軟體的讀書讀到歷史基本都跳過去,我卻很喜歡看看那些過往的小故事。所以每次跟人聊起來,我都盡量吹他個昏天黑地,反正也沒人知...

行為驅動開發之一,推廣篇

上上個周四,我在組裡做了個內部演講,題目是 使用cucumber實現行為驅動開發 考慮到組內成員並不系統的敏捷背景,我是從歷史開始的。扯軟體開發的歷史是我最喜歡的專案之一,大部分搞軟體的讀書讀到歷史基本都跳過去,我卻很喜歡看看那些過往的小故事。所以每次跟人聊起來,我都盡量吹他個昏天黑地,反正也沒人知...