發表於2024-12-22
書[0名0]: | 有效的單元測試[按需印刷]|3804193 |
圖書定價: | 59元 |
圖書作者: | (芬)Lasse Koskela |
齣版社: | [1機1] 械工業齣版社 |
齣版日期: | 2014/11/1 0:00:00 |
ISBN號: | 9787111483434 |
開本: | 16開 |
頁數: | 198 |
版次: | 1-1 |
作者簡介 |
Lasse Koskela 資深敏捷技術實踐專傢、敏捷教練、培洲師、顧問和程序員,具有數十年計算 [1機1] 程序設計和開發經驗。他精通多種編程語言,尤其對Java、Ruby、C/C++有[0獨0]到見解,熱衷於編程和追逐前沿技術,在程序設計、軟件工程、項目管理等多個[0領0]域頗有建樹。目前他主攻開源項目,幫助企業提高生産力,而且經常在世界各地的[0會0]議上發錶演講。除本書外,他還著有《測試驅動開發的藝術》。申健 江湖人稱“申導”,創客、王匠、敏捷教練、軟件開發顧問,緻力於啓發創意、促進協作、交付價值的事業。1994年迷上汁算 [1機1] 編程。從南京[0大0][0學0]畢業後,在跨[0國0]企業從事近十年的研發和管理工作,涉及通信、金融、互聯網等[0領0]域,擁有豐富的移動應用程序和麵嚮服務分布式係統的項目經驗,擅長使用不同的技術來實現麵嚮服務的分布式架構設計和整體解決方案,熟悉J2EE、Python、嵌入式C、 [0No0]de.js技術及iOS等平颱。2007年開始進入敏捷開發實踐,擁有CSP、CSM和CSPO等認證。他曾在諾基亞西門子擔任高級工程師和研發經理,在渣打銀行擔任資深工程師和敏捷教練等。目前主要從事外部敏捷教練工作,提供組織轉型和技術實踐的谘詢與培訓服務。同時還是Scrum Aliiance注冊講師、1nfoQ中文站編輯、中[0國0]敏捷教練組成員,以及敏捷之旅、 ScrumGathering、QClub等社區活動的講師與組織者。他曾翻譯《SOA with REST》等書籍。個人網站:www.JackyShen.com |
內容簡介 |
這是一本關於單元測試的係統實踐指南,由資深敏捷技術實踐專傢撰寫,不僅全麵闡釋瞭單元測試用於軟件設計的工具、方[0法0]、原則和佳實踐,而且對各種測試常見問題進行瞭深入分析,包含[0大0]量實踐案例,可操作性強,能為用戶高效編寫[0優0]秀測試提供有效指導,讓組織持續創造成功的産[0品0]和服務。 本書分為三部分,共9章。[0第0]一部分([0第0]1—3章)主要闡述測試的目的與原因,並分析作為常用工具的測試替身的作用。[0第0]1章先從整體闡釋測試先行所帶來的價值,以及各種對測試和測試質量的影響,,[0第0]2章定義如何纔能寫齣[0優0]秀的測試。[0第0]3章討淪現代程序員基本的工具之一——測試替身。[0第0]二部分([0第0]4—6章)的目標是幫助我們更好地識彆並修復測試代碼中的壞味道。[0第0]4章展示破壞測試可讀性的壞味道。[0第0]5章繼續對破壞可維護性的測試提供建議。[0第0]6章涉及有關脆弱或不可靠的測試壞味道。[0第0]三部分([0第0]7—9章)涉~Java程序員在編寫測試時隨時可能碰到的話題。[0第0]7章介紹可測的設汁的定義與作用。[0第0]8章探討JVM語言的共生,以及如何用另一門語言來測試Java代碼。[0第0]9章專門討論對構建進行加速的問題。此外還包括兩個附錄,附錄A介紹使用JUnit編寫測試的入門[0知0]識。附錄B探討通過JUnit的API來擴展其內置功能。 |
目錄 |
《有效的單元測試》 譯者序 序言 前言 緻謝 [0第0]一部分 基礎 [0第0]1章 [0優0]秀測試的承諾 2 1.1 [0國0]情谘文:編寫更好的測試 3 1.2 測試的價值 3 1.2.1 生産力的因素 6 1.2.2 設計潛力的麯綫 8 1.3 測試作為設計工具 9 1.3.1 測試驅動開發 9 1.3.2 行為驅動開發 11 1.4 小結 12 [0第0]2章 尋求[0優0]秀 13 2.1 可讀的代碼纔是可維護的代碼 14 2.2 結構有助於理解事物 16 2.3 如果測試瞭錯誤的東西就不好瞭 17 2.4 [0獨0]立的測試易於單[0獨0]運行 18 2.5 可靠的測試纔是可靠的 21 2.6 每個行業都有其工具而測試也不例外 22 2.7 小結 23 [0第0]3章 測試替身 24 3.1 測試替身的威力 25 3.1.1 隔離被測代碼 26 3.1.2 加速執行測試 27 3.1.3 使執行變得確定 27 3.1.4 模擬特殊情況 28 3.1.5 暴露隱藏的信息 29 3.2 測試替身的類型 30 3.2.1 測試樁通常是短小的 30 3.2.2 僞造對象做事不産生副作用 31 3.2.3 測試間諜偷取秘密 32 3.2.4 模擬對象反對驚喜 34 3.3 使用測試替身的指南 35 3.3.1 為測試挑選閤適的替身 35 3.3.2 準備、執行、斷言 36 3.3.3 檢查行為,而非實現 37 3.3.4 挑選你的工具 38 3.3.5 注入依賴 39 3.4 小結 39 [0第0]二部分 目錄 [0第0]4章 可讀性 42 4.1 基本斷言 43 4.1.1 示例 43 4.1.2 該對它做點兒什麼 44 4.1.3 小結 45 4.2 過度斷言 46 4.2.1 示例 46 4.2.2 該對它做點兒什麼 48 4.2.3 小結 50 4.3 按位斷言 50 4.3.1 示例 50 4.3.2 該對它做點兒什麼 51 4.3.3 小結 51 4.4 附加細節 52 4.4.1 示例 52 4.4.2 該對它做點兒什麼 53 4.4.3 小結 54 4.5 人格分裂 55 4.5.1 示例 55 4.5.2 該對它做點兒什麼 56 4.5.3 小結 58 4.6 邏輯分割 59 4.6.1 示例 59 4.6.2 該對它做點兒什麼 61 4.6.3 小結 63 4.7 魔[0法0]數字 64 4.7.1 示例 64 4.7.2 該對它做點兒什麼 64 4.7.3 小結 65 4.8 冗長安裝 65 4.8.1 示例 66 4.8.2 該對它做點兒什麼 67 4.8.3 小結 68 4.9 過分保護 68 4.9.1 示例 69 4.9.2 該對它做點兒什麼 69 4.9.3 小結 70 4.10 總結 70 [0第0]5章 可維護性 71 5.1 重復 72 5.1.1 示例 72 5.1.2 該對它做點兒什麼 73 5.1.3 小結 75 5.2 條件邏輯 75 5.2.1 示例 76 5.2.2 該對它做點兒什麼 76 5.2.3 小結 77 5.3 脆弱的測試 78 5.3.1 示例 78 5.3.2 該對它做點兒什麼 79 5.3.3 小結 80 5.4 殘缺的文件路徑 80 5.4.1 示例 81 5.4.2 該對它做點兒什麼 81 5.4.3 小結 83 5.5 的臨時文件 83 5.5.1 示例 84 5.5.2 該對它做點兒什麼 85 5.5.3 小結 86 5.6 沉睡的蝸牛 86 5.6.1 示例 87 5.6.2 該對它做點兒什麼 88 5.6.3 小結 89 5.7 像素完美 89 5.7.1 示例 89 5.7.2 該對它做點兒什麼 90 5.7.3 小結 93 5.8 參數化混亂 94 5.8.1 示例 95 5.8.2 該對它做點兒什麼 98 5.8.3 小結 99 5.9 方[0法0]間缺乏內聚 100 5.9.1 示例 100 5.9.2 該對它做點兒什麼 101 5.9.3 小結 104 5.10 總結 104 [0第0]6章 可信賴 106 6.1 注釋掉的測試 107 6.1.1 示例 107 6.1.2 該對它做點兒什麼 108 6.1.3 小結 108 6.2 歧義注釋 109 6.2.1 示例 109 6.2.2 該對它做點兒什麼 110 6.2.3 小結 111 6.3 永不失敗的測試 111 6.3.1 示例 112 6.3.2 該對它做點兒什麼 112 6.3.3 小結 113 6.4 輕率承諾 113 6.4.1 示例 114 6.4.2 該對它做點兒什麼 115 6.4.3 小結 116 6.5 降低期望 117 6.5.1 示例 117 6.5.2 該對它做點兒什麼 118 6.5.3 小結 118 6.6 平颱偏見 119 6.6.1 示例 119 6.6.2 該對它做點兒什麼 120 6.6.3 小結 121 6.7 有條件的測試 122 6.7.1 示例 122 6.7.2 該對它做點兒什麼 123 6.7.3 小結 124 6.8 總結 124 [0第0]三部分 消遣 [0第0]7章 可測的設計 126 7.1 什麼是可測的設計 126 7.1.1 模塊化設計 127 7.1.2 SOLID設計原則 128 7.1.3 上下文中的模塊化設計 129 7.1.4 以測試驅動齣模塊化設計 130 7.2 可測性的問題 130 7.2.1 無[0法0]實例化某個類 130 7.2.2 無[0法0]調用某個方[0法0] 131 7.2.3 無[0法0]觀察到輸齣 131 7.2.4 無[0法0]替換某個協作者 131 7.2.5 無[0法0]覆蓋某個方[0法0] 132 7.3 可測的設計的指南 132 7.3.1 避免復雜的私有方[0法0] 133 7.3.2 避免final方[0法0] 133 7.3.3 避免static方[0法0] 134 7.3.4 使用new時要[0當0]心 134 7.3.5 避免在構造函數中包含邏輯 135 7.3.6 避免單例 137 7.3.7 組閤[0優0]於繼承 138 7.3.8 封裝外部庫 138 7.3.9 避免服務查找 139 7.4 小結 140 [0第0]8章 用其他JVM語言來編寫測試 142 8.1 混閤使用JVM語言的前提 142 8.1.1 通用收益 143 8.1.2 編寫測試 144 8.2 用Groovy來編寫測試 146 8.2.1 簡化的測試setup 146 8.2.2 Groovy式的JUnit 4測試 148 8.3 BDD工具的錶達力 149 8.3.1 用easyb寫Groovy需求說明 149 8.3.2 Spock Framework:編寫更具錶達力測試的激素 150 8.3.3 Spock Framework的測試替身也打瞭激素 152 8.4 小結 153 [0第0]9章 加速執行測試 155 9.1 追求速度 156 9.1.1 對速度的需要 156 9.1.2 進入狀況 156 9.1.3 對構建進行性能分析 157 9.1.4 對測試進行性能分析 160 9.2 令測試代碼加速 162 9.2.1 彆睡覺,除非你纍瞭 163 9.2.2 [0當0]心膨脹的基類 163 9.2.3 [0當0]心冗餘的setup與teardown 165 9.2.4 挑剔地添加新測試 166 9.2.5 保持本地運行,保持快速 167 9.2.6 抵禦訪問數據庫的誘惑 168 9.2.7 沒有比文件I/O更慢的I/O瞭 169 9.3 令構建加速 171 9.3.1 RAM磁盤帶來更快的I/O 172 9.3.2 並行構建 173 9.3.3 改換為高性能CPU 177 9.3.4 分布式構建 179 9.4 小結 183 附錄A JUnit入門 185 附錄B 擴展JUnit 192 |
[按需印刷]有效的單元測試 計算機與互聯網 書籍|3804193 下載 mobi pdf epub txt 電子書 格式 2024
[按需印刷]有效的單元測試 計算機與互聯網 書籍|3804193 下載 mobi epub pdf 電子書[按需印刷]有效的單元測試 計算機與互聯網 書籍|3804193 mobi epub pdf txt 電子書 格式下載 2024