-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
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書號
詳細書籍分類

測試工程師全棧技術進階與實踐

( 簡體 字)
作者:茹炳晟類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社測試工程師全棧技術進階與實踐 3dWoo書號: 51782
詢問書籍請說出此書號!

缺書
NT售價: 395

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

譯者序:

前言:

內容簡介:

本書全面講解了軟件測試人員必知必會的測試知識、技術和工具。
全書分為12章。第1章和第2章用“用戶登錄”測試實例,講解了軟件測試基礎知識,讓讀者快速學習關鍵的基礎知識;第3章講解了GUI測試框架設計、框架在大型電商網站的具體實踐,梳理了影響GUI自動化測試穩定性的關鍵因素,并給出了切實可行的解決方案;第4章介紹了3類移動應用的測試方法與技術,以及如何在移動測試中應用Appium來幫助測試人員更好地實現自動化測試;第5章以循序漸進的方式,講解了API測試的關鍵技術、微服務架構下的API測試挑戰等;第6章講解了代碼級測試的基礎知識、靜態測試方法、動態測試方法、靜態掃描工具Sonar、單元測試框架TestNG、代碼覆蓋率工具等內容;第7章和第8章系統地對性能測試的方法以及應用領域進行闡述,并基于LoadRunner講解大型企業性能測試的規劃、設計、實現的具體實例,還介紹了大型互聯網產品的全鏈路壓測的行業實踐;第9章探討了測試數據準備的技術,并討論了很多準備測試數據的新方法;第10章結合主流的DevOps和CI/CD,深入剖析了大型互聯網企業的測試基礎架構設計;第11章和第12章講解了軟件測試新技術,如探索式測試、測試驅動開發、精準測試、滲透測試、基于模型的測試,以及人工智能在測試領域的應用。
本書適合測試人員、開發人員、運維人員、測試經理和軟件質量保證人員學習,也可以作為大專院校相關專業師生的學習用書和培訓學校的教材。
目錄:

第 1章 軟件測試基礎知識精要(上) 1
1.1 從“用戶登錄”測試談起 2
1.1.1 功能測試用例 2
1.1.2 更多的測試用例 3
1.1.3 功能性需求與非功能性需求 3
1.1.4 測試的不可窮盡性 5
1.2 設計“好的”測試用例 5
1.2.1 “好的”測試用例的定義 6
1.2.2 “好的”測試用例具備的特征 6
1.2.3 常用測試用例的設計方法 6
1.2.4 “好的”測試用例的設計方法 8
1.2.5 測試用例設計的其他經驗 10
1.3 單元測試的基礎知識 10
1.3.1 單元測試的定義 10
1.3.2 單元測試的最佳實踐 11
1.3.3 單元測試用例詳解 12
1.3.4 單元測試在實際項目中的最佳實踐 14
1.4 自動化測試的原始驅動力和使用場景 15
1.4.1 自動化測試的基本概念 15
1.4.2 自動化測試的優勢與劣勢 16
1.4.3 自動化測試的使用場景 17
1.5 軟件開發各階段的自動化測試技術 18
1.5.1 單元測試的自動化技術 19
1.5.2 代碼級集成測試的自動化技術 21
1.5.3 Web Service測試的自動化技術 21
1.5.4 GUI測試的自動化技術 24
1.6 測試覆蓋率 25
1.6.1 需求覆蓋率 25
1.6.2 代碼覆蓋率 25
1.6.3 代碼覆蓋率的價值 26
1.6.4 代碼覆蓋率的局限性 27
1.6.5 關于代碼覆蓋率的報告 27
1.6.6 代碼覆蓋率工具的實現技術 29
第 2章 軟件測試基礎知識精要(下) 31
2.1 高效撰寫軟件缺陷報告 32
2.1.1 缺陷標題 32
2.1.2 缺陷概述 33
2.1.3 缺陷影響 33
2.1.4 環境配置 33
2.1.5 前置條件 34
2.1.6 缺陷重現步驟 34
2.1.7 期望結果和實際結果 34
2.1.8 優先級和嚴重程度 34
2.1.9 變通方案 35
2.1.10 根原因分析 35
2.1.11 附件 35
2.2 以終為始,做好測試計劃 36
2.2.1 沒有測試計劃會怎么樣 36
2.2.2 測試范圍 37
2.2.3 測試策略 37
2.2.4 測試資源 38
2.2.5 測試進度 39
2.2.6 測試風險預估 40
2.3 軟件測試工程師的核心競爭力 40
2.3.1 兩個實際面試案例 40
2.3.2 傳統測試工程師的核心競爭力 41
2.3.3 測試開發工程師的核心競爭力 43
2.4 軟件測試工程師需要掌握的非測試知識 44
2.4.1 迷你版的系統架構師 44
2.4.2 網站架構的核心知識 44
2.4.3 容器技術 45
2.4.4 云計算技術 46
2.4.5 DevOps思維 46
2.4.6 前端開發技術 47
2.5 互聯網產品的測試策略設計 47
2.5.1 研發流程的不同決定了測試策略的不同 47
2.5.2 傳統軟件產品的測試策略——金字塔模型 48
2.5.3 互聯網產品的測試策略——菱形模型 49
第3章 GUI自動化測試精要 52
3.1 從0到1:GUI自動化測試初探 53
3.1.1 示例:構建一個Selenium自動化測試用例 53
3.1.2 Selenium的實現原理 55
3.2 效率為王:測試腳本和測試數據的解耦 58
3.2.1 測試腳本和測試數據的解耦 59
3.2.2 數據驅動測試 59
3.3 效率為王:頁面對象模型 60
3.3.1 早期GUI測試腳本的結構 60
3.3.2 基于模塊化思想實現GUI測試用例 61
3.3.3 基于頁面對象模型實現GUI測試用例 63
3.4 更接近業務的抽象:讓自動化測試腳本更好地描述業務 63
3.4.1 操作函數的粒度把控 63
3.4.2 銜接兩個操作函數之間的頁面 64
3.4.3 業務流程抽象 64
3.5 過不了的坎:GUI自動化過程中的測試數據 66
3.5.1 基于API調用創建測試數據 67
3.5.2 基于數據庫操作創建測試數據 68
3.5.3 綜合運用API調用和數據庫操作創建測試數據 68
3.5.4 實時創建測試數據 69
3.5.5 事先創建測試數據 69
3.5.6 實時創建測試數據和事先創建測試數據的互補 70
3.6 GUI測試還能這么“玩” 70
3.6.1 自動生成頁面對象 70
3.6.2 自動生成GUI測試數據 71
3.6.3 無頭瀏覽器簡介 72
3.6.4 Headless Chrome與Puppeteer的使用 73
3.7 精益求精:提高GUI測試穩定性的關鍵技術 74
3.7.1 非預計的彈出對話框 75
3.7.2 頁面控件屬性的細微變化 76
3.7.3 被測系統的A/B測試 76
3.7.4 隨機的頁面延遲造成控件識別失敗 77
3.7.5 測試數據問題 77
3.8 眼前一亮:帶你玩轉GUI自動化的測試報告 77
3.8.1 早期基于視頻的GUI測試報告 78
3.8.2 開源GUI測試框架的測試報告實現思路 78
3.8.3 全球化GUI測試報告的創新設計 80
3.9 真實的戰場:大型全球化項目中GUI自動化測試策略的設計 82
3.9.1 大型全球化電商網站的前端模塊劃分 82
3.9.2 大型全球化電商網站的GUI自動化測試策略設計 82
3.9.3 大型全球化電商網站的GUI自動化測試腳本管理 85
第4章 移動應用測試技術 87
4.1 移動應用的種類和特點 88
4.1.1 Web應用 88
4.1.2 原生應用 89
4.1.3 混合應用 89
4.2 移動應用測試方法概論 89
4.2.1 Web應用的測試 90
4.2.2 原生應用的測試 90
4.2.3 混合應用的測試 90
4.2.4 移動應用的測試難點 91
4.3 移動應用的專項測試 92
4.3.1 安裝測試 92
4.3.2 卸載測試 94
4.3.3 特殊操作測試 95
4.3.4 交互測試 96
4.3.5 通知測試 96
4.3.6 交叉事件測試 96
4.3.7 兼容性測試 97
4.3.8 流量測試 98
4.3.9 耗電量測試 98
4.3.10 弱網絡測試 99
4.3.11 邊界測試 99
4.4 移動應用測試工具:Appium使用入門 100
4.4.1 移動應用的自動化測試需求 100
4.4.2 iOS開發環境的搭建 101
4.4.3 Android開發環境的搭建 102
4.4.4 Appium測試環境的搭建 103
4.4.5 Appium Inspector的使用 105
4.5 Appium實戰(iOS篇) 107
4.5.1 基于iOS開發第 一個原生應用的測試用例 107
4.5.2 基于iOS開發第 一個Web應用的測試用例 110
4.5.3 在iOS真機上執行Web應用測試 111
4.5.4 在iOS真機上執行原生應用測試 114
4.6 Appium實戰(Android平臺) 114
4.6.1 基于Android模擬器的Web應用測試 114
4.6.2 基于Android真機的Web應用測試 115
4.6.3 Web應用的測試:溫故而知新 115
4.6.4 底層自動化驅動引擎 116
4.6.5 基于Android模擬器的原生應用測試 116
4.6.6 基于Android真機的原生應用測試 118
4.6.7 原生應用的測試:溫故而知新 119
4.7 Appium的實現原理 120
4.7.1 Appium服務器 120
4.7.2 Appium客戶端 121
4.8 企業級移動應用測試框架的設計思路與實踐 121
4.8.1 移動應用測試框架的設計思路 121
4.8.2 移動應用測試框架的實現與實踐 122
4.9 搭建企業級移動測試私有云的實踐 123
4.9.1 基于Selenium Grid的移動測試私有云 124
4.9.2 基于Open STF的移動測試私有云 126
4.10 移動應用云測試服務簡介 128
4.10.1 Sauce Labs 128
4.10.2 Testin 129
4.10.3 MTC 131
第5章 API自動化測試技術 132
5.1 從0到1:API測試初探 133
5.1.1 API測試的基本步驟 133
5.1.2 基于Spring Boot構建被測API 133
5.1.3 使用cURL 135
5.1.4 使用Postman 137
5.2 復雜場景的API測試 140
5.2.1 被測業務操作由多個API調用協作完成 141
5.2.2 API測試過程中的第三方依賴 141
5.2.3 異步API的測試 141
5.3 API自動化測試框架的技術演進與創新 142
5.3.1 早期基于Postman的API測試 142
5.3.2 基于Postman和Newman的API測試 142
5.3.3 基于代碼的API測試 142
5.3.4 自動生成API測試代碼 144
5.3.5 當響應結果發生變化時的自動識別 145
5.4 微服務模式下的API測試 146
5.4.1 單體架構 146
5.4.2 微服務架構 147
5.4.3 微服務架構下的測試挑戰 148
5.4.4 基于消費者契約的API測試 150
5.4.5 微服務測試的依賴解耦和模擬服務 151
5.4.6 代碼實例 152
第6章 代碼級軟件測試技術基礎與進階 153
6.1 代碼級測試的基本理念與方法 154
6.1.1 常見的代碼錯誤類型 154
6.1.2 代碼級測試常用方法 156
6.2 靜態測試方法 158
6.2.1 人工靜態方法 158
6.2.2 自動靜態方法 159
6.2.3 使用自動靜態方法的實例 160
6.3 動態測試方法 161
6.3.1 人工動態方法 161
6.3.2 自動動態方法 166
6.4 代碼靜態掃描工具Sonar的使用 167
6.4.1 基于Sonar的實例 167
6.4.2 SonarLint的使用 170
6.5 單元測試框架TestNG的使用 171
6.5.1 TestNG的基本用法 172
6.5.2 TestNG的高級用法 175
6.6 代碼覆蓋率工具JaCoCo的使用 177
6.6.1 JaCoCo簡介 177
6.6.2 JaCoCo的使用 178
第7章 性能測試基礎 180
7.1 不同視角下的軟件性能與性能指標 181
7.1.1 終端用戶眼中的軟件性能 181
7.1.2 系統運維人員眼中的軟件性能 182
7.1.3 軟件設計開發人員眼中的軟件性能 182
7.1.4 性能測試人員眼中的軟件性能 184
7.1.5 并發用戶數 184
7.1.6 響應時間 185
7.1.7 系統吞吐量 186
7.1.8 并發用戶數、響應時間、系統吞吐量之間的關系 187
7.2 常用的性能測試與應用領域 188
7.2.1 常用的7種性能測試 189
7.2.2 性能測試的四大應用領域 192
7.3 后端性能測試工具原理與行業常用工具簡介 193
7.3.1 后端性能測試和后端性能測試工具之間的關系 193
7.3.2 后端性能測試工具和GUI自動化測試工具的區別 194
7.3.3 后端性能測試工具的原理 194
7.3.4 后端性能測試場景設計和具體內容 196
7.3.5 業內主流的后端性能測試工具 197
7.4 前端性能測試工具原理 197
7.4.1 Performance TimingAPI 198
7.4.2 Profile工具 200
7.4.3 頁面埋點計時 200
7.4.4 資源加載時序圖 201
第8章 性能測試實戰 202
8.1 前端性能測試工具WebPagetest 203
8.1.1 WebPagetest功能簡介 203
8.1.2 使用WebPagetest測試某網站的首頁 203
8.1.3 前端性能評估結果評分分析 204
8.1.4 其他前端性能指標解讀 210
8.1.5 WebPagetest實際使用中需要解決的問題 212
8.2 后端性能測試主流商業工具LoadRunner 215
8.2.1 LoadRunner的基本原理 216
8.2.2 LoadRunner的主要模塊 217
8.2.3 基于LoadRunner的性能測試實戰 218
8.3 后端性能測試主流開源工具JMeter 226
8.3.1 JMeter簡介 227
8.3.2 JMeter的主要概念 228
8.3.3 JMeter的使用 228
8.4 企業級實際性能測試案例與經驗 238
8.4.1 性能基準測試 238
8.4.2 穩定性測試 239
8.4.3 并發測試 240
8.4.4 容量規劃測試 240
8.5 大型互聯網產品的全鏈路壓測 241
8.5.1 全鏈路壓測的定義 241
8.5.2 單系統的獨立壓測 242
8.5.3 海量并發請求的發起 242
8.5.4 全鏈路壓測流量和數據的隔離 243
8.5.5 實際業務負載的模擬 244
8.5.6 真實交易和支付的撤銷以及數據清理 244
第9章 準備測試數據 245
9.1 準備測試數據的基本方法 246
9.1.1 基于GUI操作生成測試數據 246
9.1.2 通過API調用生成測試數據 247
9.1.3 通過數據庫操作生成測試數據 248
9.1.4 綜合運用API和數據庫生成測試數據 248
9.2 創建測試數據的方法 249
9.2.1 實時創建方法 250
9.2.2 事先創建方法 251
9.2.3 綜合運用實時創建方法和事先創建方法 252
9.3 測試數據的“銀彈”——統一測試數據平臺 252
9.3.1 測試數據準備的1.0時代 253
9.3.2 測試數據準備的2.0時代 256
9.3.3 測試數據準備的3.0時代 258
9.3.4 測試數據準備的4.0時代 260
9.3.5 大數據技術在測試數據準備中的應用 261
第 10章 自動化測試基礎架構的建設與實踐 262
10.1 從小作坊到工廠:Selenium Grid簡介 263
10.1.1 測試基礎架構的基本概念 263
10.1.2 早期測試執行環境的問題 263
10.1.3 Selenium Grid簡介 264
10.1.4 傳統Selenium Grid的搭建方法 265
10.1.5 基于Docker的SeleniumGrid的搭建方法 268
10.2 從小工到專家:測試執行環境架構設計基礎 268
10.2.1 測試執行環境概述 269
10.2.2 測試基礎架構的設計 270
10.2.3 早期的測試基礎架構 270
10.2.4 經典的測試基礎架構 271
10.3 從小工到專家:測試執行環境架構設計進階 272
10.3.1 基于Docker實現的Selenium Grid測試基礎架構 272
10.3.2 引入統一測試執行平臺的測試基礎架構 274
10.3.3 基于Jenkins集群的測試基礎架構 275
10.3.4 測試負載自適應的測試基礎架構 276
10.3.5 測試基礎架構的選擇 277
10.4 實戰案例:大型全球化電商網站的測試基礎架構設計 277
10.4.1 統一測試執行服務 278
10.4.2 統一測試數據服務 279
10.4.3 測試執行環境準備服務 279
10.4.4 被測系統部署服務 279
10.4.5 測試報告服務 280
10.4.6 全局測試配置服務 280
10.4.7 大型全球化電商網站測試基礎架構的使用示例 282
第 11章 軟件測試新技術 284
11.1 發揮人的潛能——探索式測試 285
11.1.1 軟件測試與招聘面試的類比 285
11.1.2 探索式測試的定義 285
11.1.3 探索式測試與即興測試的區別和聯系 287
11.1.4 探索性測試的開展 287
11.2 測試先行——TDD 288
11.2.1 TDD的核心理念 288
11.2.2 TDD的優勢 289
11.2.3 TDD的實施過程 290
11.2.4 TDD進階 294
11.3 打蛇打七寸——精準測試 294
11.3.1 傳統軟件測試的主要短板 295
11.3.2 精準測試的核心思想 296
11.3.3 精準測試的具體方法 297
11.4 安全第 一——滲透測試 299
11.4.1 滲透測試的定義 299
11.4.2 滲透測試的常用方法 300
11.4.3 執行滲透測試的步驟 301
11.4.4 滲透測試的常用工具 302
11.4.5 滲透測試的收益 303
11.5 用機器設計測試用例——基于模型的測試 303
11.5.1 MBT的基本原理 304
11.5.2 常用模型簡介 305
11.5.3 常用MBT工具 305
11.5.4 MBT的優勢 306
11.5.5 MBT的劣勢 307
11.6 人工智能在測試領域的應用 308
11.6.1 人工智能概述 308
11.6.2 人工智能在軟件測試領域的應用 309
11.6.3 基于人工智能的測試工具 310
第 12章 測試人員的互聯網架構核心知識 312
12.1 測試工程師掌握大型網站架構知識的必要性 313
12.1.1 基于消息隊列的分布式系統測試設計 313
12.1.2 緩存的示例 314
12.1.3 架構知識的學習方法 314
12.2 大型網站架構介紹 315
12.2.1 最簡單的網站架構 315
12.2.2 應用和數據分離的網站架構 316
12.2.3 引入本地緩存和分布式緩存的網站架構 316
12.2.4 引入應用服務器集群的網站架構 317
12.2.5 引入主從分離的數據庫 317
12.2.6 引入CDN服務器和反向代理服務器的網站架構 318
12.2.7 引入分布式文件系統和分布式數據庫系統的網站架構 319
12.2.8 基于業務拆分和消息隊列的網站架構 319
12.2.9 基于分布式服務的網站架構 321
12.2.10 微服務架構 321
12.2.11 下一代微服務架構——服務網格 322
12.3 網站高性能架構設計 322
12.3.1 前端的高性能架構 323
12.3.2 后端服務器的高性能架構 323
12.4 網站高可用架構設計 325
12.4.1 造成網站不可用的主要原因 326
12.4.2 網站高可用架構設計 327
12.5 網站可伸縮性架構設計 328
12.5.1 可伸縮性和可擴展性的區別 329
12.5.2 分層的可伸縮性架構 329
12.5.3 應用服務器的可伸縮性設計 330
12.5.4 緩存集群的可伸縮性設計 331
12.5.5 數據庫的可伸縮性設計 332
12.6 網站可擴展性架構設計 333
12.6.1 網站可擴展性架構設計的案例 333
12.6.2 事件驅動架構與消息隊列 334
12.6.3 引入消息隊列后的測試關注點 335
序: