[30天快速上手TDD]序章
前言
筆者的朋友們應該都很清楚,每年iT邦幫忙的年度鐵人大賽,筆者都會哀哀叫的哀一個月。(我們都戲稱為自刁時間,自我虐待一個月)
其實每一年參加這個活動,都是為了把自己的潛力逼出來,好好審視一年過去了,筆者可以端出什麼樣的菜,來給大家品嚐一下。
去年的修煉系列是:「如何提升系統設計品質 - 技術與工具以.NET為例」,也很好運的獲得了第二名鐵人優選獎的榮譽。(雖然…iT邦幫忙的介面,真的很不適合寫系列文,畢竟它是比較屬於問答論壇性質的)
今年雖然臨時卡了很多緊急的任務,但還是不想缺席,還是想給自己一個交代。所以好好思考了一下自己還有什麼東西可以掏出來,跟之前的文章或鐵人賽的修煉文,既不會重疊的太多,又可以承接起來發揮綜效。
原本想的主題是LINQ系列(沒錯,就是在我 blog 上延宕很久的系列文),後來覺得 LINQ 的系列文,可能太 focus 在 .NET solution,iT邦幫忙的讀者群可能是各種領域的 IT 人員與開發人員。
所以就發了個宏願(對我來說,真的是個宏願),希望可以用30天,一天一篇文章,把自己對 TDD 的一些心得與心路歷程分享出來,希望可以讓大家對所謂的 Scrum, 測試, TDD 一些不好的刻板印象有所改善,那不再是個烏托邦的世界,只要把您的拼圖拼的夠完整,你就可以在新世界中生存!
本系列文的目的,就是希望每一個 developer 可以把每一塊拼圖 pick up起來,接著把每一塊拼圖拼起來,快樂地進行 TDD。
鐵人大賽連載
主旨:30 天快速上手 TDD
透過 30 天,一天一篇文章,讓大家可以感同身受,TDD 不再只是書上的夢想,烏托邦的世界。 只要有心,人人都可以快快樂樂TDD。(文章將以C#為例)
網址:http://ithelp.ithome.com.tw/ironman5/player/hatelove/tech/3
系列大綱
本系列的進行方式,是先按照學習的順序,介紹每一塊拼圖的內容、來龍去脈、實務上的技巧與工具。
當每一塊拼圖都介紹完畢,最後再透過一個簡單又很常見的實際例子,從頭到尾的把整個軟體開發流程的循環帶過一次,讓大家可以實際練習或體驗到,每一塊拼圖承上啟下的美妙之處。
大綱如下:
- 簡介每一塊拼圖的學習順序與實作順序
- 介紹 Unit Testing、Integration Testing、UI Testing。
- 介紹 Refactoring。
- 介紹 User Story 與 Acceptance Testing。
- 介紹 BDD。
- 實戰演練:從 User Story 到 Acceptance Test Cases,從Acceptance Test Cases 到 BDD 的 Feature 與 Scenario,從 BDD 的 Scenario 到 Integration Testing 與 Unit Testing 的 3A principle,從 Unit Test Cases 到實作物件內容,實作完物件內容後開始進行重構。
備註
有一些文章是取自今年的 blog 文章內容,因為當時在寫的時候,就是多少為了鐵人賽鋪路了。但內容通常會再與整系列文章相整合,所以會補充不少原本文章沒有的東西,就請各位讀者多包涵,也希望額外補充的內容可以讓大家更有收穫、更有感覺。
另外,去年的鐵人大賽系列文,因為蠻多圖是用點部落上的圖片連結,但後來點部落擋掉外部圖片連結了,所以請各位讀者自行參考筆者 blog 上對應的文章,如有不便,敬請見諒。
本系列文最重要的精神
這個系列最重要的精神,筆者希望在序章中,就強調出來:
「程式碼存在的目的,只是為了滿足使用者的需求,進而對使用者產生 benefit,絕不是寫給 developer 自爽用的」。
blog 與課程更新內容,請前往新站位置:http://tdd.best/