你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)

許煜松(Kuma)

  • 出版商: 博碩文化
  • 出版日期: 2022-10-28
  • 定價: $650
  • 售價: 7.8$507
  • 語言: 繁體中文
  • 頁數: 352
  • 裝訂: 平裝
  • ISBN: 6263332646
  • ISBN-13: 9786263332645
  • 相關分類: 軟體測試Unit Test 單元測試
  • 銷售排行: 🥉 2022/12 繁體中文書 銷售排行 第 3 名
    🥈 2022/11 繁體中文書 銷售排行 第 2 名
    🥉 2022/10 繁體中文書 銷售排行 第 3 名

    立即出貨(限量)

  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-1
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-2
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-3
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-4
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-5
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-6
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-7
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-8
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-9
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-10
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-11
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-12
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-13
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-14
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-15
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-16
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-17
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-18
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-19
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-20
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-21
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-22
  • 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-23
你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)-preview-1

買這商品的人也買了...

商品描述

以單元測試打底,為你的軟體工程之路鍛鍊強健體魄!

 

『沒有時間』是假的,在有限時間內提供最大價值才是真的!




專業推薦

「這是一本勸世的書,但透過 Kuma 的文筆卻能寫得有趣直白。期待透過這樣方式的呈現,能讓更多朋友了解單元測試的知識、重要性與必要性,解救沉淪於苦海的開發人員,讓他們得以用正確的方式,奪回自己寶貴的青春。」

──── Odd-e Agile Coach│Joey Chen(91)



「本書的背景是在敏捷開發的情境下應用自動化測試,對於導入敏捷開發卻遲遲無法落實自動化測試的朋友,極具參考價值。對於單元測試的門外漢,透過本書亦可輕鬆認識單元測試的眾多觀念,補充長期以來所欠缺的單元測試養分。」

──── 部落格「搞笑談軟工」板主│Teddy Chen




四大重點

從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)

你很少見過像 Kuma 這麼討厭 coding 的 RD。

他堅持,只要滿足需求,能夠少寫 code 就少寫 code。因此致力於自動化測試與 Clean Code 精神的實踐。於此同時,品質不能犧牲。

不擅長重複動作的 Kuma,對於維運,他追求的目標是極致自動化,能夠讓機器做的事就不自己做。他為追求更高的價值並減少浪費,只憑一股近乎信仰的熱忱,在組織內推動各種流程改善。

做過 PO,做過 SM,也做過維運一條龍的 RD,到最後才發現,當什麼職位無所謂,追求價值才是重點。

「敏捷精神,熱愛軟體工程」── 你可以這麼形容他。

▍Facebook
https://www.facebook.com/kukumamaya

▍Medium
https://medium.com/@bearhsu2


封面及內文插畫設計:Lily

目錄大綱

推薦序一/Joey Chen(91)
推薦序二/Teddy Chen


第1章│導讀
1.1 單元測試與你的每一天

第2章│測試的基本概念
2.1 單元測試不是測試
2.2 單元測試的起手式:人生第一個單元測試
2.3 測試金字塔之 Unit Test v.s. Integration Test

第3章│測試與依賴
3.1 測資料之用資料控制依賴
3.2 測資料之用 Mock 工具控制依賴
3.3 測行為
3.4 測狀態
3.5 Mock 與 Stub

第4章│測試的進階應用
4.1 多執行緒環境下的單元測試
4.2 單元測試與例外處理

第5章│單元測試、Code Smell 與持續重構
5.1 萬惡之源──重複(上):從測試聞出 code smell
5.2 萬惡之源──重複(下):在測試的保護下重構
5.3 可惡想要:Feature Envy
5.4 難兄難弟:Data Clump 與 Primitive Obsession
5.5 不殘而廢:Data Class
5.6 一切皆空:Null
5.7 聽從你的蜥蜴腦:If
5.8 在測試保護下重構出 State 設計模式

第6章│測試驅動開發(TDD)
6.1 TDD 為何物
6.2 TDD 的困難之處
6.3 TDD 的實彈演習:Magneto Effect

第7章│測試與 Clean Architecture
7.1 Clean Architecture 簡易入門
7.2 以真實案例比喻 Clean Architecture 的分層原則
7.3 Controller 與單元測試
7.4 Service 與單元測試(上)
7.5 Service 與單元測試(下)
7.6 Entity、Repository 與單元測試
7.7 Clean Architecture ft. CQRS
7.8 芝加哥派 v.s. 倫敦派

第8章│測試與工作管理
8.1 單元測試與 Git Flow、主線開發
8.2 單元測試與軟體工程
8.3 單元測試的反模式

第9章│結論
9.1 動態系統中的單元測試
9.2 最初也是最終