TDD學習筆記【一】----序言

提到TDD大多數程序員的疑問:

  1. 爲何我要寫兩份程序?
  2. 爲何我要寫程序來驗證我已經知道的結果?
  3. 我又不是SA,可能也不懂domain,怎麼產生一開始的test case?

最後的感想就變成是:程序員

1.Unit Test,那都是說說而已編程

2.Unit Test?沒那時間搞!dom

三、TDD 只不過是被拿來炒做而已,現實開發中,誰用TDD 寫過一整個大系統?單元測試

4.TDD 只是先寫測試程式而已,有什麼特別的?學習

 

TDD 的開發順序

  1. ATDD和BDD測試

  2. TDDspa

  3. 測試[testing]設計

  4. 重構[Refactoring]code

由於每個環節都牢牢相扣,因此有一些階段不是這麼容易區分清楚。例如Testing其實在ATDD, BDD , TDD中,都有包含在裏面,這邊獨立的Testing,或許用Unit Testing會更加合適。對象

 

主要的大綱與精神

本系列學習順序

預計將TDD分紅四份,分別是Testing, Refactoring, TDD,最後輔以「ATDD與BDD」。設計的目標則是:working software。

一 測試

  1. 單元測試(單元測試)
  2. 整合測試(集成測試)
  3. 表現層測試

二 重構

  1. 讓程序會說話( Let code can talk )
  2. 簡單就是美(簡單就是美)
  3. 不要過分設計(歷來沒有超過設計)
  4. 運用基本的面向對象原則(須要瞭解面嚮對象的技術和原理)

三 TDD,ATDD,BDD

  1. 知足使用者需求(達致與用戶要求)
  2. 如何產生測試案例(如何得到驗收測試案例)
  3. 如何由測試案例開始設計程序(How to start by test cases )

4、開發實例

  1. 用戶故事
  2. ATDD
  3. BDD
  4. TDD
  5. 重構

5、總結

  1. 面向對象
  2. 單元測試
  3. 集成測試
  4. 重構
  5. CI與自動測試
  6. 敏捷/ XP(連續反饋)

最後則是用來貫穿整系列文章的總結:

程序的存在是爲了,也只爲了知足使用者需求,而不是寫給工程師本身爽的

名詞解釋:TDD:測試驅動開發  ATDD:驗收測試驅動開發   BDD:行爲驅動開發  CI:持續集成  XP:極限編程

 

 備註:這個系列是我畢業後時隔一年從新開始進入開發行業後對大拿們的博文摘要整理進行學習對自個人各個欠缺的方面進行充電記錄博客的過程,非原創,特此感謝91 等前輩

相關文章
相關標籤/搜索