以單元測試打底,為你的軟體工程之路鍛鍊強健體魄!
『沒有時間』是假的,在有限時間內提供最大價值才是真的!
『沒有時間』是假的,在有限時間內提供最大價值才是真的!
四大重點
▶ 從0開始,由淺入深
觀念快速帶得走,回家慢慢練得熟
▶ 應用與理論並重
技巧與理論並重,不用再一知半解
▶ 進階議題探討
延伸重構與設計,從心所欲不逾矩
▶ 敏捷開發基本功
厚實基本功加持,敏捷開發無阻礙
本書內容改編自第 13 屆 2021 iThome 鐵人賽,Software Development 組冠軍網路系列文章──《你就是都不寫測試才會沒時間:Kuma 的 30 天 Unit Test 手把手教學,從理論到實戰(Java 篇)》。坊間教人做單元測試的書很多,但大多著墨在某一框架如何應用,以及如何「導入」,對背後的原理以及如何把程式寫得好測,多半沒有太多著墨。
本書以單元測試為起點,引導讀者在測試的保護下,重構出較強健、較易修改的架構,在發生例外時能提供重要資訊並保護好核心功能,並藉由測試項目來描述功能需求,達到更好的溝通效果,期待讓讀者能夠「天天準時下班」。
精彩內容
●帶領讀者進入單元測試,從理論到實例、從基本到進階。對阻隔依賴、外部行為、多執行緒等場景,進行討論與演示。
●在單元測試的保護下,嗅出壞味道並大膽地重構,再善用例外處理增加系統強健度。
●綜合 TDD、Clean Architecture、CQRS、GOOS 等模式,佐以實際案例,帶領讀者從需求分析開始,從頭到尾走一趟開發流程。
●圍繞著單元測試,討論目前流行的軟體工程實踐、常見的問題,以及開發者應採取的管理作為。
【本書涵蓋重點】 ✔ 單元測試 ✔ 測試驅動開發 ✔ Clean Architecture ✔ CQRS ✔ 依賴反轉 ✔ Mock 工具 ✔ 重構 ✔ Code Smell 種類 ✔ Git Flow
適合讀者
1 ▶ 初出茅蘆的菜鳥
提供「從 0 開始」的單元測試教學,菜鳥工程師如能一開始就學習比較有系統且安全的開發方式,未來要再學習更多,也比較不容易走歪掉。
2 ▶ 已有幾年開發經驗,但對單元測試一知半解的中鳥
提供「安全地寫測試與重構,又不用多跟老闆要時間」的方法,期待未來帶新人時,能帶出更棒的「下一個自己」。
3 ▶ 熟悉領域知識,卻因此身陷無窮加班地獄的老鳥
提供一帖健體良藥:「單元測試搭配好的開發習慣」,助老鳥從「趕 → 沒時間寫測試 → Bug 多 → 多花時間修 → 更趕」的無間道中脫身,空出頭腦來做出更好的設計,真正貢獻老鳥的價值。
4 ▶ 所有「沒時間寫測試」的開發者
提供思考邏輯的轉折點,本書中的各項軟體開發技能,就是希望讀者能同時開發、測試、與重構,但不犧牲品質。
專業推薦
「這是一本勸世的書,但透過 Kuma 的文筆卻能寫得有趣直白。期待透過這樣方式的呈現,能讓更多朋友了解單元測試的知識、重要性與必要性,解救沉淪於苦海的開發人員,讓他們得以用正確的方式,奪回自己寶貴的青春。」──── Odd-e Agile Coach│Joey Chen(91)
「本書的背景是在敏捷開發的情境下應用自動化測試,對於導入敏捷開發卻遲遲無法落實自動化測試的朋友,極具參考價值。對於單元測試的門外漢,透過本書亦可輕鬆認識單元測試的眾多觀念,補充長期以來所欠缺的單元測試養分。」──── 部落格「搞笑談軟工」板主│Teddy Chen