回首頁  
帳號
 
關於博碩 博碩好讀 校園圖書 MOCC認證 下載教學 元學堂

博碩好讀
  新書推薦
  出版預告
  名家名著
  iT達人祕笈
 

分類索引

 

出版總覽

 

讀者服務

  徵求作者
 
首頁 >> 書籍介紹
 
 
點我可放大圖片
 
書名:你就是不寫測試才會沒時間:Kuma的單元測試實戰-Java篇(iThome鐵人賽系列書)
書號:MP22235 作者:許煜松(Kuma) ISBN: 978-626-333-264-5
定價:NT$650元 印刷:單色 頁數:352頁
書籍規格:17*23 上市日:2022/10/27 譯者:(無)
學習定位:初階 本書附件:網路下載範例檔  
前往購買 >> 蝦皮購物 類別:電腦技術  
       
快速前往 快速前往        

 

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

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



    專業推薦

    「這是一本勸世的書,但透過 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 ▶ 所有「沒時間寫測試」的開發者
    提供思考邏輯的轉折點,本書中的各項軟體開發技能,就是希望讀者能同時開發、測試、與重構,但不犧牲品質。


    下載範例程式檔案

    本書的程式碼是由GitHub託管,可點選下面圖案前往下載:
 
    推薦序一/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 最初也是最終
 
    許煜松(Kuma)

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

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

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

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

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

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

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


    封面及內文插畫設計:Lily
 
 
 
     

博碩文化客服信箱
 

[email protected]

 
文教業務團隊
台北、新北、桃園、基隆、宜蘭、花蓮、金門
汪 玉 鳳
LINE ID:0925177716
0925-177716
[email protected]
郭 南 彤
LINE ID:rgtech101
0917-727778
[email protected]
助理分機 519
新竹、苗栗、台中、彰化、南投、雲林
林 世 昌
LINE ID:0925275775
0925-275775
[email protected]
助理分機 519
嘉義、台南、高雄、屏東、台東、澎湖
林 月 玲
LINE ID:0926858627
0926-858627
[email protected]
助理分機 238
 
MOCC 認證小組
 
  林 雯 玲 電話:02-2696-2869 分機:623 [email protected]

 

 
 

 

博碩文化股份有限公司 DrMaster Press Co., Ltd.
台灣新北市汐止區新台五路一段112號10樓A棟
Building A, 10F, No.112, Xintai 5th Rd., Sec.1,Xizhi Dist., New Taipei City 221, Taiwan
Tel:02-2696-2869 Fax:02-2696-2867 劃撥帳號:17484299

Copyright© DrMaster Press Co., Ltd. All Rights Reserved.