-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

程序開發人員測試指南 構建高質量的軟件

( 簡體 字)
作者:[瑞典]亞歷山大.塔林德 ( Alexander Tarlinder)類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社程序開發人員測試指南 構建高質量的軟件 3dWoo書號: 48972
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:5/1/2018
頁數:219
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115480088
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書分為19章,主要內容為開發人員測試,測試目標、方式和角色,測試術語,開發人員眼中的可測試性,契約式編程,可測試性的驅動者,單元測試,基于規格說明的測試,依賴關系,數據驅動和組合測試,準單元測試,測試替身,模擬框架,測試驅動開發——經典風格,測試驅動開發——Mockist風格,使用測試代碼,超越單元測試,測試思路等開發人員和測試人員必知必會的知識。
如果你是一個希望所寫的代碼質量更高、缺陷更少的開發人員,那么這本書很適合你。本書介紹了如何用可測試性提升軟件質量,在各種開發模式中,可測試性都是軟件的主要質量屬性之一。閱讀本書,你可以成為更好的開發人員,學習到更多的軟件測試知識,不必再苦于沒有時間做測試、也無法從同事或團隊那里獲得相關的支持。
目錄:

第 1章 開發者測試 1
1.1 開發者測試 1
1.2 開發人員測試活動 2
1.2.1 單元測試 2
1.2.2 集成測試 2
1.2.3 維護 2
1.2.4 持續集成 3
1.2.5 自動化測試 3
1.3 開發人員通常不做什么 4
1.4 定義“開發者測試” 5
1.5 開發人員測試和開發過程 5
1.6 小結 6
第 2章 測試目標、方式和角色 7
2.1 測試和檢查 7
2.2 測試目標 7
2.2.1 批判式測試 8
2.2.2 支持式測試 8
2.3 測試方式 8
2.3.1 傳統測試 9
2.3.2 敏捷測試 10
2.3.3 BDD、ATDD和實例化需求 11
2.4 質量保證和開發者測試 13
2.5 小結 14
第3章 測試術語 15
3.1 錯誤、缺陷、失效 15
3.2 白盒測試與黑盒測試 16
3.3 測試技術分類 16
3.3.1 測試級別 17
3.3.2 測試類型 19
3.3.3 讓測試級別和測試類型
發揮作用 21
3.4 敏捷測試四象限 22
3.5 其他類型的測試 23
3.5.1 冒煙測試 23
3.5.2 端到端測試 24
3.5.3 特性測試 24
3.5.4 正面測試和負面測試 24
3.5.5 小型、中型和大型測試 24
3.6 小結 25
第4章 開發者眼中的可測試性 26
4.1 可測試的軟件 26
4.2 可測試性的好處 27
4.2.1 功能可被驗證 27
4.2.2 減少意外 28
4.2.3 它可以改變 28
4.2.4 為什么要注重可測試性 29
4.3 可測試性的定義 30
4.3.1 可觀察性 31
4.3.2 可控制性 33
4.3.3 可部署性 34
4.3.4 可隔離性 35
4.3.5 小規模(smallness) 36
4.3.6 單一性 36
4.3.7 抽象級別 37
4.3.8 效率(efficiency) 38
4.3.9 復用 38
4.3.10 可測試性的提示 38
4.4 小結 39
第5章 契約式編程 40
5.1 契約形式化約束 41
5.2 實現契約式編程 42
5.3 強制契約 43
5.3.1 斷言 43
5.3.2 支持契約的類庫 44
5.3.3 單元測試 45
5.3.4 靜態分析 45
5.4 小結 45
第6章 可測試性的驅動者 47
6.1 直接輸入和輸出 47
6.2 間接輸入和輸出 48
6.3 狀態 49
6.4 時序耦合 50
6.5 數據類型和可測試性 50
6.6 域值比 54
6.7 小結 55
第7章 單元測試 56
7.1 為什么做單元測試? 56
7.2 什么是單元測試 57
7.3 單元測試框架的生命周期 58
7.3.1 測試方法 59
7.3.2 測試初始化器和清除 59
7.3.3 構造函數和析構函數 60
7.4 測試命名 60
7.4.1 測試框架的強制規定 60
7.4.2 行為驅動的開發方式 61
7.4.3 工作單元、測試狀態、
所期望的行為 61
7.4.4 選擇一個命名標準 61
7.5 測試結構化 62
7.6 斷言方法 63
7.6.1 斷言類型 63
7.6.2 每個測試有多少斷言 64
7.6.3 斷言冗長 65
7.6.4 斷言等式 66
7.6.5 限制和匹配器 67
7.7 測試異常 70
7.8 行為驅動開發方式的框架 72
7.8.1 測試結構 72
7.8.2 命名測試 73
7.8.3 匹配器 74
7.9 小結 75
第8章 基于規格說明的測試 76
8.1 等價類劃分 76
8.2 邊界值分析 78
8.3 典型數據類型的邊緣用例和其他
測試用例 79
8.3.1 數字 79
8.3.2 字符串 79
8.3.3 日期和時間 80
8.3.4 集合 80
8.4 狀態轉移測試 81
8.5 決策表 82
8.6 小結 83
第9章 依賴關系 84
9.1 對象間依賴關系 84
9.1.1 傳入協作者 85
9.1.2 使用工廠方法 86
9.1.3 提供一個外部工廠或者
生成器 87
9.2 系統資源依賴關系 89
9.2.1 文件 89
9.2.2 提供你自己的抽象 89
9.2.3 測試由I/O操作處理過的
數據 90
9.2.4 系統時鐘 91
9.2.5 其他系統資源依賴關系 92
9.3 層間依賴關系 92
9.4 跨層級依賴關系 94
9.5 小結 95
第 10章 數據驅動和組合測試 96
10.1 參數化測試 98
10.2 Theories 99
10.3 生成式測試 101
10.3.1 驗證結果 102
10.4 組合測試 103
10.4.1 單模式故障 104
10.4.2 雙模式故障 105
10.4.3 雙模式故障和所有成對變量
之外 106
10.5 小結 106
第 11章 準單元測試 107
11.1 實例 107
11.1.1 使用內存數據庫的測試 108
11.1.2 測試專用的郵件服務器 108
11.1.3 使用輕量級容器的測試 109
11.1.4 Web服務測試 110
11.2 影響 111
11.3 小結 112
第 12章 測試替身 113
12.1 樁對象 113
12.1.1 樁對象的靈活性 114
12.1.2 用樁對象來避免副作用 115
12.2 偽對象 116
12.3 模擬對象 117
12.3.1 驗證間接輸出 117
12.3.2 驗證間接輸入轉換 121
12.4 探針 122
12.5 啞對象 123
12.6 驗證狀態還是行為 124
12.6.1 狀態驗證 124
12.6.2 行為驗證 125
12.6.3 參數 125
12.7 小結 126
第 13章 模擬框架 127
13.1 創建測試替身 127
13.2 設置預期 128
13.3 驗證交互行為 131
13.4 誤用、濫用和其他陷阱 133
13.4.1 過度驗證 133
13.4.2 模擬具體類 134
13.4.3 模擬有價值的類 135
13.4.4 Mock返回Mock 135
13.5 小結 135
第 14章 測試驅動開發——經典風格 137
14.1 測試驅動一個簡單的搜索引擎 137
14.1.1 測試1:發現API 138
14.1.2 測試2:主邏輯路徑
 (Happy Path) 139
14.1.3 測試3:多文件索引 140
14.1.4 測試4:更復雜的文件 141
14.1.5 測試5:在多文件中找到
 單詞 141
14.1.6 測試6:消除重復的
 匹配(Matches) 142
14.1.7 測試7:引入排序 143
14.1.8 測試8:忽略大小寫 145
14.1.9 測試9:處理標點符號 146
14.2 測試的順序 147
14.3 紅色到綠色狀態條的策略 147
14.4 挑戰 148
14.4.1 我們的代碼無法被測試 149
14.4.2 我們的代碼很特殊 150
14.4.3 測試驅動開發不是完整的
 測試 150
14.4.4 從零開始 150
14.5 測試最先還是最后 151
14.6 小結 151
第 15章 測試驅動開發——Mockist風格 153
15.1 一種不同的方法 153
15.1.1 測試驅動用戶注冊 154
15.1.2 增加更多測試 158
15.2 雙環TDD 159
15.2.1 另一個反饋環 159
15.2.2 關閉周期 160
15.3 小結 160
第 16章 復制 161
16.1 復制的壞處 161
16.2 利用復制的好處 162
16.3 機械復制 163
16.3.1 拷貝、粘貼 163
16.3.2 塊拷貝、粘貼 163
16.3.3 構造函數拷貝、粘貼 164
16.3.4 方法復制 165
16.4 知識復制 166
16.4.1 不同方法中的類似功能 167
16.4.2 功能相似的類 167
16.4.3 競爭性實現 168
16.4.4 競爭性領域模型 168
16.5 小結 169
第 17章 使用測試代碼 170
17.1 測試代碼中的注釋 170
17.2 刪除測試用例 173
17.2.1 需要被刪除的主要候選者 173
17.2.2 需要被刪除的可能候選者 174
17.2.3 刪除測試用例的重要性 174
17.3 小結 175
第 18章 超越單元測試 176
18.1 單元測試以外的測試 176
18.1.1 封裝在事務內的測試 176
18.1.2 需要使用服務或組件的
 測試 178
18.1.3 需要與其他系統交互的
 測試 179
18.1.4 通過UI運行的測試 181
18.1.5 需要調用一個系統的測試 183
18.1.6 更多內容 184
18.2 單元測試不具備的特征 185
18.2.1 復雜性 186
18.2.2 穩定性 186

18.2.3 缺陷定位 187
18.2.4 性能 187
18.2.5 環境依賴性 188
18.2.6 目標受眾 188
18.3 實踐指南 189
18.3.1 測試的獨立性 189
18.3.2 配置 189
18.3.3 驗證 191
18.3.4 利用測試替身 191
18.3.5 決定開發者測試策略 192
18.4 小結 193
第 19章 測試思路與啟發式 194
19.1 高層注意事項 194
19.1.1 測試有效性 194
19.1.2 測試配方 194
19.1.3 抽象級別及其細節 195
19.1.4 原型 195
19.1.5 可信來源(結果判斷
 依據) 196
19.2 低層注意事項 196
19.2.1 0-1-n 196
19.2.2 空值(null) 196
19.2.3 范圍 196
19.2.4 集合 196
19.2.5 異常和錯誤 197
19.2.6 數字 197
19.2.7 字符串 197
19.2.8 日期 197
19.3 小結 198
附錄A 工具和庫 199
附錄B 源代碼 201
詞匯表 209
后記:忘卻測試是為了更好的開發 216

序: