C++程序設計實踐與技巧 測試驅動開發

C++程序設計實踐與技巧 測試驅動開發 pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:Jeff Langr
出品人:
頁數:283
译者:餘飛
出版時間:2016-11
價格:59.00元
裝幀:平裝
isbn號碼:9787115438959
叢書系列:圖靈程序設計叢書·C/C++係列
圖書標籤:
  • 軟件測試
  • C++
  • c++
  • TDD
  • 單元測試
  • 計算機
  • programming
  • UT
  • C++
  • 測試驅動開發
  • 編程實踐
  • 軟件工程
  • 代碼質量
  • 設計模式
  • 實戰
  • 技巧
  • 算法
  • 數據結構
  • 麵嚮對象編程
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書是一本關於設計原則、編程實踐、測試驅動開發的指南,旨在幫助C++ 程序員用測試驅動開發方法構建高性能解決方案。全書共11 章,涵蓋測試驅動開發的基本工作方式、潛在好處、怎樣利用測試驅動開發解決設計缺陷、測試驅動開發的難點和成本、怎樣利用測試驅動開發減少甚至免除調試工作,以及如何長時間維持測試驅動開發。

著者簡介

Jeff Langr

資深程序員,C++語言專傢,曾在Bob大叔的Object Mentor公司工作,後創建Langr Software Solutions公司。齣版過多本與測試驅動開發相關的圖書,如《Agile Java:測試驅動開發的編程技術》等。

圖書目錄

第1章 環境設置  1
1.1 開場白  1
1.2 示例程序  1
1.3 C++編譯器  2
1.3.1 Ubuntu  2
1.3.2 OS X  2
1.3.3 Windows  3
1.4 CMake  4
1.5 Google Mock  5
1.5.1 安裝Google Mock  5
1.5.2 創建main函數運行Google Mock測試  7
1.6 CppUTest  7
1.6.1 安裝CppUTest  7
1.6.2 創建main函數以運行CppUTest測試  8
1.7 libcurl  8
1.8 JsonCpp  8
1.9 rlog  9
1.10 Boost  10
1.11 構建示例並運行測試  10
1.12 結束語  11
第2章 測試驅動開發:第一個示例  12
2.1 開場白  12
2.2 Soundex類  12
2.3 開始吧  13
2.4 去掉不乾淨的代碼  19
2.5 增量性  21
2.6 fixture與設置  23
2.7 思索與測試驅動開發  25
2.8 測試驅動與測試  28
2.9 如果齣現彆的情況呢  30
2.10 一次隻做一件事  31
2.11 限製長度  32
2.12 丟掉元音  34
2.13 讓測試自我澄清  34
2.14 跳齣條條框框來測試  36
2.15 言歸正傳  38
2.16 重構至單一責任的函數  39
2.17 收尾工作  40
2.18 漏瞭什麼測試嗎  41
2.19 解決方案  42
2.20 Soundex類  43
2.21 結束語  46
第3章 測試驅動開發基礎  47
3.1 開場白  47
3.2 單元測試和測試驅動開發基礎知識  47
3.2.1 單元測試的組織和執行  47
3.2.2 測試驅動單元  48
3.3 測試驅動開發周期:紅—綠—重構  49
3.4 測試驅動開發的三條準則  50
3.5 錶裏不一  51
3.5.1 運行瞭錯誤的測試  52
3.5.2 測試瞭錯誤的代碼  52
3.5.3 不當的測試規範  53
3.5.4 對係統的無效假設  53
3.5.5 不佳的測試順序  53
3.5.6 相關聯的産品代碼  56
3.5.7 過度編碼  58
3.5.8 確定性測試  59
3.5.9 停下來想一下  59
3.6 成功運用測試驅動開發的思維  59
3.6.1 增量性  59
3.6.2 測試行為而非方法  60
3.6.3 使用測試來描述行為  60
3.6.4 保持簡單  61
3.6.5 恪守測試驅動開發周期  62
3.7 成功運用測試驅動開發的方法  62
3.7.1 下一個測試是什麼  62
3.7.2 十分鍾限製  64
3.7.3 代碼缺陷  64
3.7.4 禁用測試  65
3.8 結束語  66
第4章 測試結構  67
4.1 開場白  67
4.2 組織方式  67
4.2.1 文件組織  67
4.2.2 fixture  68
4.2.3 Setup與Teardown  69
4.2.4 Arrange-Act-Assert/Given-When-Then  72
4.3 快速測試、慢速測試、過濾器和測試集  73
4.4 斷言  75
4.4.1 經典的斷言形式  76
4.4.2 Hamcrest斷言  76
4.4.3 選擇正確的斷言  78
4.4.4 浮點數比較  78
4.4.5 基於異常的測試  79
4.5 探查私有成員  81
4.5.1 私有數據  81
4.5.2 私有行為  82
4.6 測試和測試驅動:參數化的測試及其他方法  85
4.6.1 參數化測試  85
4.6.2 測試中的注釋  87
4.7 結束語  87
第5章 測試替身  88
5.1 開場白  88
5.2 依賴問題  88
5.3 測試替身  89
5.4 手動打造的測試替身  90
5.5 在使用測試替身時提升測試的抽象程度  94
5.6 使用模擬對象工具  96
5.6.1 定義一個派生類  96
5.6.2 設立期望  97
5.6.3 鬆模擬和嚴模擬  100
5.6.4 模擬對象中的順序  101
5.6.5 巧妙的模擬工具特性  102
5.6.6 排除模擬失敗  104
5.6.7 一個還是兩個測試  104
5.7 讓測試替身各就各位  105
5.7.1 覆寫工廠方法和覆寫Getter  105
5.7.2 使用工廠  107
5.7.3 通過模闆參數  109
5.7.4 注入工具  110
5.8 設計會變化  110
5.8.1 內聚與耦閤  110
5.8.2 轉嫁私有依賴  112
5.9 使用測試替身的策略  113
5.9.1 探索設計  113
5.9.2 mock流派  114
5.9.3 明智地使用測試替身  115
5.10 其他關於測試替身的主題  115
5.10.1 怎麼稱呼它們  116
5.10.2 測試替身該放在哪  116
5.10.3 虛函數錶和性能  117
5.10.4 模擬具體的類  117
5.11 結束語  118
第6章 增量設計  119
6.1 開場白  119
6.2 簡單設計  119
6.2.1 重復代碼的代價  120
6.2.2 投資管理器  120
6.2.3 投資管理器中的簡單重復  122
6.2.4 我們真的能堅持增量方法嗎  124
6.2.5 更多的重復  129
6.2.6 小方法的好處  132
6.2.7 完成功能  134
6.2.8 增量設計讓事情變得簡單  138
6.3 預先設計在哪  141
6.3.1 哪裏纔會討論真正的設計呢  142
6.3.2 簡單設計原則和經典設計理念會在哪起衝突  143
6.4 阻礙重構的因素  143
6.5 結束語  145
第7章 高質量測試  146
7.1 開場白  146
7.2 測試先行  146
7.2.1 快速  146
7.2.2 獨立  148
7.2.3 可重復  149
7.2.4 自我驗證  150
7.2.5 及時  150
7.3 一個測試一個斷言  150
7.4 測試抽象  153
7.4.1 臃腫的初始化  153
7.4.2 不相關的細節  154
7.4.3 缺失的抽象  156
7.4.4 多重斷言  157
7.4.5 不相關的數據  157
7.4.6 不必要的測試代碼  158
7.5 結束語  164
第8章 遺留代碼的挑戰  165
8.1 開場白  165
8.2 遺留代碼  165
8.3 法則  166
8.4 遺留應用程序  167
8.5 保持測試驅動開發的心態  170
8.6 支持測試的安全重構  171
8.7 添加測試刻畫已有行為  174
8.8 被遺留代碼轉移注意力  175
8.9 為rlog創建測試替身  175
8.10 測試驅動開發改動  179
8.11 新的場景  181
8.12 尋求更快測試的簡要探索  182
8.13 立竿見影的提煉  183
8.14 用成員變量查看狀態  186
8.15 用mock查看狀態  187
8.16 其他注入技巧  191
8.17 用Mikado方法大規模改動代碼  192
8.18 Mikado方法概覽  192
8.19 用Mikado移動一個方法  193
8.20 有關Mikado方法的更多思考  202
8.21 這樣做值得嗎  203
8.22 結束語  203
第9章 測試驅動開發與多綫程  204
9.1 開場白  204
9.2 測試驅動開發多綫程應用的核心概念  204
9.3 示例程序GeoServer  205
9.4 性能要求  211
9.5 設計異步方案  213
9.6 依然簡單的測試驅動  216
9.7 為多綫程做好準備  218
9.8 暴露並發性問題  220
9.9 在測試中創建客戶端綫程  222
9.10 在ThreadPool中創建多個綫程  224
9.11 迴到GeoServer  226
9.12 結束語  230
第10章 測試驅動開發的其他概念和
討論  231
10.1 開場白  231
10.2 測試驅動開發與性能  231
10.2.1 性能優化測試的策略  232
10.2.2 相關單元級性能測試  233
10.2.3 嘗試優化GeoServer代碼  234
10.2.4 TestTimer類  235
10.2.5 性能和小函數  236
10.2.6 推薦  237
10.3 單元測試、集成測試和驗收測試  238
10.3.1 測試驅動開發如何與驗收測試建立聯係  239
10.3.2 程序員定義的集成測試  239
10.3.3 測試驅動開發和驗收測試驅動開發的重閤部分  240
10.4 變換優先級假設  241
10.4.1 瞭解變換  241
10.4.2 三角法  242
10.4.3 瀏覽測試列錶  243
10.5 編寫斷言  252
10.5.1 斷言—行為—排列  253
10.5.2 示例程序優先,或至少第二  253
10.6 結束語  255
第11章 發展和維持測試驅動開發  256
11.1 開場白  256
11.2 嚮非技術人員解釋測試驅動開發  256
11.2.1 測試驅動什麼  257
11.2.2 關於TDD的研究  259
11.3 不良測試的死亡漩渦(亦稱為SCUMmy周期)  260
11.4 結對編程  261
11.4.1 結對原則  262
11.4.2 結對編程與測試驅動開發  262
11.4.3 角色切換  263
11.5 Kata和Dojo  264
11.5.1 在測試驅動開發中應用Kata  264
11.5.2 Dojo  265
11.6 有效地使用代碼覆蓋率統計  266
11.7 持續集成  267
11.8 為團隊製定測試驅動開發標準  268
11.9 保持與社區同步  268
11.9.1 閱讀測試  268
11.9.2 博客與論壇  269
11.10 結束語  269
附錄A 比較單元測試工具  270
附錄B 代碼Kata:羅馬數字轉換器  273
附錄C 參考文獻  282
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

如何寫單元測試,這本書手把手教。寫單元測試中有幾個重要的技術,Mock對象、多綫程單元測試和用測試重構到設計模式。不管什麼語言隻要掌握瞭這3個技術,做測試驅動開發很簡單。

评分

如何寫單元測試,這本書手把手教。寫單元測試中有幾個重要的技術,Mock對象、多綫程單元測試和用測試重構到設計模式。不管什麼語言隻要掌握瞭這3個技術,做測試驅動開發很簡單。

评分

1. 對於想瞭解TDD的C++開發者來說,可以略讀和通讀,真正的思想還在Bob大叔那裏 2. gtest和gmock比作者用的版本更新好多代瞭,建議以最新版穩定為準 3. 建議不要墨守成規,更加靈活的執行開發

评分

TDD下各主題包含完整: 第六章-TDD開發流程(重構) 第七章-clean UT原則 第八章-舊係統下的單元測試

评分

多數章節 Google Mock,少量章節的 CppUTest,Linux GCC C++11 平颱。實例講解 TDD 的思維、流程和工程慣用法。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有