測試驅動開發(Test-driven development,TDD)是一種與平常程式設計和測試逆向的程式開發技術。在寫程式碼前先寫測試來說服自己,可以讓程式設計師:

  • 自信地工作
  • 從事一系列可達成階段目標而非一次就要把一個大問題解決
  • 確認這個軟體設計符合實際程式碼需求
  • 發展一整套的測試後可以幫助維持程式碼的完整性
  • 注意: 儘管這個開發方法和程式設計語言沒有相關,作者是選用 Java 當做課程的教學範例。

參加團購

關於這堂課程

如果你已經試過 TDD 並且想要提升這方面的技巧,這一系列的課程是為你設計的。 TDD 重新發現者 Kent Beck 以實際的案例展示先進的 TDD 各種主題:

  • 分割大型測試到小片段以增加回饋頻率
  • 將大功能做切割以提升回饋的頻率
  • 重新排序設計決策以提升回饋頻率
  • 確認每個測試能被隔離運作不互相受影響
  • 測試角落案例(testing corner cases)和錯誤格式輸入(malformed input)
  • 預估測試結果做最大化學習

整個系列的一個一貫主題就是節奏的重要性,以減少瑕疵和開發流程中其他的干擾以幫助決策與回饋收集的效能。都在這兩小時 Ken Beck 的 TDD 課程中呈現。

  • 看最原始沒有刻意被編輯的範例

Kent 已經把課程 1, 2 最初的十分鐘放到 Vimeo

TDD Intro, Episode 1, first 10 minutes, unedited from Kent Beck on Vimeo.

TDD Intro Episode 2, first 10 minutes, unedited from Kent Beck on Vimeo.

這些都是編輯和後期製作前的 video。Enjoy!

課程內容說明

Episode 1: Starter Test (28 minutes)

在這一集裏,我們為我們的範例程式第一個功能做出第一個測試應用, 並將它切割以達到更經常的回饋。

Episode 2: Isolated Tests (23 minutes)

在這一集我們保證每個測試不會互相影響。 一旦測試可以隔離獨立運作,我們實現幾個新的操作。

Episode 3: Big Feature (25 minutes)

在這一集我們把一個大功能切割以便能做經常的回饋。 最終我們清理程式碼,去除重復部分並讓程式碼簡潔易懂。

Episode 4: Finishing (20 minutes)

在這一集我們完成範例程式的功能運作,並讓它可以讓其他人使用。在之前的開發階段延遲的設計決策現在清楚多了。我們將之前各集課程內容在這集的最後做個摘要總結。

關於講師

Ken Beck 是 Three Rivers Institute (TRI) 的創始人與總裁。他專業地讓反射機制(reflection)、創新與溝通融合到軟體開發實踐中。 他在軟體開發的貢獻包含軟體模式、重新發現編寫程式前先做測試的方法、xUnit系列的開發者測試工具、終極開發(Extreme Programming)與教練。 Beck是以下許多本書的作者/共同作家:

  1. Implementation Patterns
  2. Extreme Programming Explained: Embrace Change 2nd Edition
  3. Contributing to Eclipse
  4. Test-Driven Development: By Example, Planning Extreme Programming
  5. The Smalltalk Best Practice Patterns, and the JUnit Pocket Guide

他是University of Oregon 電算科學系的學士與碩士。

團購

  1. 課程可以下載到電腦觀看,是 QuickTime 格式。
  2. Pragmatic 網站 4 集一起購買原價是 USD 25,Soft & Share 10 人以上團購價 USD 23

參加團購

其它與 TDD 相關團購電子書

喜歡我們分享的團購課程嗎?使用以下的社群分享按鈕分享給朋友吧!

 

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

分類