之前在敏捷開發 — Changes with confidence文章中提到了軟體測試的重要性。我認為對敏捷開發團隊來說,自動化軟體測試應該是所有開發流程的基礎,是絕不可或缺的一部份。在最近這兩年,我們公司跟Pivotal Labs合作導入了許多Rails自動化測試的流程,而我們團隊在這導入的過程中嘗試了許多不同的測試方法,和對要測試什麼,如何來測試有了很多有趣的討論。現在我們團隊對軟體測試有了一些共識,在這裡跟大家分享。
我們團隊致力于將 Kent Beck 在 Extreme Programming Explained 所提到的方法論應用在工作的流程中。我們試著將各種 Lean Startup 和 Lean Development 的書,Slides或是Blog提到的概念,應用在每天的工作中,讓整個團隊更有效率。
基本上,討論敏捷開發方法論(Agile Methodology)的文章,其主要核心都是圍繞著 Agile Manigesto 最基本的幾個概念:
上次在如何建立敏捷開發團隊一文中提到了敏捷開發的一些基本要注意的概念,今天想要針對 continuous delivery 這一部分分享一些心得。熟悉敏捷開發的朋友都知道敏捷開發團隊很注重快速發佈新功能。我認為除了快速地發佈新功能,更重要的一點就是團隊“有信心的”發佈新功能。
對開發團隊來說,“信心”表示了
最近和同事在要不要使用state machine這件事情上,做了一個深入的討論。討論的主軸是 state machine 是否符合 Rails Restful API 的 convention。
一些人堅持在 controller 的 update action 應該要用 update_attributes 才符合 Rails 的 Restful 原則。但由於現在的幾個 state machine gems ( 最多人用的大概就是state_machine 或是…