搜尋老魚筆摘(本網誌及所屬協作平台)

2009-03-22

[分享製圖] TDD, Test-Driven Development (測試驅動開發)

在這先介紹一本給 Java 人必讀的好書 :
如果您是位"初學"甚至"Pro"級的朋友, 這本書同時適用 ! 也是老魚超過近 50多本中英文 Java 書中, 認為它是最棒的"教材書", 如果有機會讓老魚可以主導教材選用, 那老魚定會選這本當 Java 初/中級, 與當 Java 軟體專案的品質教育用書 !!! 可惜的是, 目前只有 英文版 簡體中文版:
當然我們必須告訴自己"任何的事物都沒有十全十美的"! 軟體開發方法的哲學也是, 這本書是在 2005 年 Java 5.0 時代的作品, 不同於其它教材書, 它的優點如下:
  • 它給了大家一個同時學習並掌握 Java 5.0、物件導向和測試驅動開發的機會。作者很好的將三者融合在一起,作者在盡全力教學習者如何使用 Java5.0 開發專業的軟體。
  • 許多的 Java 書最不好的一點就是, 從頭到尾舉例的程序案例間是散亂的, 非連續性的, 甚至大多數的範例是超過二頁以上, 也許這樣真的可以教出懂得解決單一問題的學生, 但事實上我們最需要的是能擁有獨立完成一個可用的完整作品的能力學生, 這本書做到了, 從頭到尾邊學 Java, 也帶著您先從了解需要什麼 ? 再來進行撰寫.
在這老魚也要建議閱讀者:
  • 這本書雖然以 JUnit 為 TDD 範示, 但Java可用的測試框架還有例如 TestNG ..., 學習本書的精要比您學它的教學用例來的重要.
  • 透過完整閱讀本書, 您可以獲得比 Think in Java 更多實用且獲得完整看待一個軟體專案作品的開發角度, Think in Java 是拿來當查閱用的"聖經", 當然還有不少鑽牛尖的 Java 書, 留待您有生命之餘再去看囉.
  • TDD 是一種 SD(System Desing)系統設計層程的"選擇", 一個希望深植給開發者重視程式碼質量的自我要求, 千萬不要當成口號, 也無須過度墨守成規於TDD.
根據 Wikipedia 的說明: 測試驅動開發的比喻。
開發可以從兩個方面去看待:實現的功能和質量。
測試驅動開發更像兩頂帽子思考法的開發方式,先戴上實現功能的帽子,在測試的輔助下,快速實現正確的功能;再戴上重構的帽子,在測試的保護下,通過去除冗餘和重複的代碼,提高代碼重用性,實現對質量的改進。可見測試在測試驅動開發中確實屬於核心地位,貫穿了開發的始終。

References(參考):
[1] Wikipedia 中文 - 測試驅動開發
[2] Wikipedia EN - Test-Driven Development
[3] JUnit - http://www.junit.org/
[4] TestNG - http://testng.org/doc/index.html

(點圖放大再存檔)

沒有留言:

張貼留言

熱門文章

大智若魚::人生處處是道場-站內SEO參考標籤雲