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