目錄
序 1
前言 3
第1 章 全棧測試簡介 .9
1.1 高質量的全棧測試 11
1.2 測試左移13
1.3 10 項全棧測試技能 16
1.4 關鍵知識點 19
第2 章 手動探索性測試 .21
2.1 構建模塊23
2.1.1 探索性測試框架 23
2.1.2 探索功能 .32
2.2 手動探索性測試策略 36
2.2.1 了解應用程序 36
2.2.2 部分探索 .38
2.2.3 分階段重復探索性測試 40
2.3 練習 .40
2.3.1 API 測試 41
2.3.2 Web 界面測試 48
2.4 觀點:干凈的測試環(huán)境 .54
2.5 關鍵知識點 55
第3 章 自動化功能測試 .57
3.1 構建模塊59
3.2 自動化測試策略 65
3.3 練習 .66
3.3.1 UI 功能測試 67
3.3.2 服務測試 .87
3.3.3 單元測試 .92
3.4 其他測試工具 .96
3.4.1 Pact 96
3.4.2 Karate .101
3.4.3 自動化功能測試中的AI/ML 工具 101
3.5 展望 103
3.5.1 要克服的反模式 103
3.5.2 100% 自動化覆蓋率! 105
3.6 關鍵知識點 107
第4 章 持續(xù)測試 . 109
4.1 構建模塊. 110
4.1.1 持續(xù)集成簡介 . 110
4.1.2 CI/CT/CD 過程 111
4.1.3 原則和禮儀 . 115
4.2 持續(xù)測試策略 117
4.3 練習 122
4.3.1 Git 122
4.3.2 Jenkins 126
4.4 四個關鍵指標 130
4.5 關鍵知識點 132
第5 章 數(shù)據測試 . 135
5.1 構建模塊. 136
5.1.1 數(shù)據庫 138
5.1.2 緩存 . 142
5.1.3 批處理系統(tǒng) . 143
5.1.4 事件流 144
5.2 數(shù)據測試策略 146
5.3 練習 148
5.3.1 SQL .149
5.3.2 JDBC 155
5.3.3 Apache Kafka 和Zerocode 158
5.4 其他測試工具 167
5.4.1 測試容器 167
5.4.2 Deequ . 168
5.5 關鍵知識點 169
第6 章 視覺測試 . 171
6.1 構建模塊. 172
6.1.1 視覺測試介紹 . 172
6.1.2 項目/ 業(yè)務關鍵用例 174
6.2 前端測試策略 176
6.2.1 單元測試 176
6.2.2 集成/ 組件測試 . 177
6.2.3 快照測試 178
6.2.4 端到端功能測試 180
6.2.5 視覺測試 180
6.2.6 跨瀏覽器測試 . 181
6.2.7 前端性能測試 . 182
6.2.8 可訪問性測試 . 183
6.3 練習 183
6.3.1 BackstopJS 183
6.3.2 Cypress 188
6.4 附加測試工具 191
6.4.1 Applitools Eyes,一款人工智能工具 . 192
6.4.2 Storybook . 193
6.5 透視圖:視覺測試挑戰(zhàn) 194
6.6 關鍵知識點 195
第7 章 安全測試 . 197
7.1 構建模塊. 199
7.1.1 常見的網絡攻擊 200
7.1.2 STRIDE 威脅模型 203
7.1.3 應用程序漏洞 . 205
7.1.4 威脅模型 208
7.2 安全測試策略 215
7.3 練習 218
7.3.1 OWASP 依賴項檢查 218
7.3.2 OWASP ZAP 220
7.4 附加測試工具 227
7.4.1 Snyk IDE 插件 228
7.4.2 Talisman 預提交鉤子 228
7.4.3 Chrome 開發(fā)工具和Postman .229
7.5 觀點:安全是一種習慣 230
7.6 關鍵知識點 231
第8 章 性能測試 . 233
8.1 后端性能測試構建塊 234
8.1.1 業(yè)績、銷售和周末休假是相互關聯(lián)的! 234
8.1.2 簡單的性能目標 235
8.1.3 影響應用程序性能的因素 236
8.1.4 關鍵性能指標 . 237
8.1.5 性能測試的類型 239
8.1.6 負載模式的類型 240
8.1.7 性能測試步驟 . 242
8.2 練習 245
8.2.1 步驟1:確定目標KPI 245
8.2.2 步驟2:設計測試用例 247
8.2.3 步驟3~ 步驟5:準備數(shù)據、環(huán)境和工具 .247
8.2.4 步驟6:編寫測試用例腳本并使用JMeter 運行它們 .248
8.3 其他測試工具 256
8.3.1 Gatling 256
8.3.2 Apache Benchmark 257
8.4 前端性能測試構建塊 258
8.4.1 影響前端性能的因素 260
8.4.2 RAIL 模型 261
8.4.3 前端性能指標 . 262
8.5 練習 263
8.5.1 WebPageTest 264
8.5.2 Lighthouse 267
8.6 其他測試工具 270
8.6.1 PageSpeed Insights 270
8.6.2 Chrome DevTools .270
8.7 性能測試策略 271
8.8 關鍵知識點 274
第9 章 可訪問性測試 275
9.1 構建模塊. 276
9.1.1 輔助功能用戶角色 277
9.1.2 無障礙生態(tài)系統(tǒng) 278
9.1.3 示例:屏幕閱讀器 279
9.1.4 WCAG 2.0:指導原則和級別 280
9.1.5 A 級符合性標準 281
9.1.6 支持輔助功能的開發(fā)框架 284
9.2 可訪問性測試策略 . 284
9.2.1 用戶案例中的可訪問性檢查表 285
9.2.2 自動化輔助功能審核工具 286
9.2.3 手動測試 287
9.3 練習 288
9.3.1 WAVE . 288
9.3.2 Lighthouse 291
9.3.3 Lighthouse Node Module 293
9.4 其他測試工具 295
9.4.1 Pa11y CI Node Module 295
9.4.2 Axe-core 296
9.5 視角:無障礙作為一種文化 . 296
9.6 關鍵知識點 297
第10 章 跨功能需求測試 . 299
10.1 構建模塊 300
10.2 CFR 測試策略 303
10.2.1 功能性 . 304
10.2.2 可用性 . 305
10.2.3 可靠性 . 306
10.2.4 高性能 . 307
10.2.5 可支持性 307
10.3 其他CFR 測試方法 308
10.3.1 混沌工程 308
10.3.2 架構測試 312
10.3.3 基礎實施測試 314
10.3.4 一致性測試 316
10.4 觀點:進化和時間的考驗! 320
10.5 關鍵知識點 . 320
第11 章 移動測試 323
11.1 構建模塊 324
11.1.1 移動環(huán)境簡介 324
11.1.2 移動應用架構 329
11.2 移動測試策略 331
11.2.1 手動探索性測試 .332
11.2.2 功能自動化測試 .334
11.2.3 數(shù)據測試 334
11.2.4 視覺測試 335
11.2.5 安全測試 335
11.2.6 性能測試 336
11.2.7 可訪問性測試 337
11.2.8 CFR 測試 338
11.3 練習 340
11.3.1 Appium 340
11.3.2 Appium 視覺測試插件 .347
11.4 其他測試工具 351
11.4.1 Android Studio 的數(shù)據庫檢查器 .351
11.4.2 性能測試工具 352
11.4.3 安全測試工具 354
11.4.4 Accessibility Scanner 356
11.5 觀點:移動測試金字塔 357
11.6 關鍵知識點 .358
第12 章 超越測試 359
12.1 測試的第一原則 359
12.1.1 缺陷預防大于缺陷檢測 360
12.1.2 共情能力測試 361
12.1.3 微觀和宏觀測試 . 361
12.1.4 快速反饋 362
12.1.5 持續(xù)反饋 363
12.1.6 衡量質量指標 363
12.1.7 溝通和協(xié)作是質量的關鍵 . 365
12.2 軟技能幫助建立質量第一的心態(tài) 365
12.3 總結 367
第13 章 新興技術測試簡介 369
13.1 人工智能與機器學習 . 370
13.1.1 機器學習概論 370
13.1.2 測試ML 應用程序 372
13.2 區(qū)塊鏈 374
13.2.1 區(qū)塊鏈概念簡介 . 375
13.2.2 測試區(qū)塊鏈應用程序 377
13.3 物聯(lián)網技術 . 379
13.3.1 物聯(lián)網五層架構簡介 380
13.3.2 測試物聯(lián)網應用程序 381
13.4 增強現(xiàn)實與虛擬現(xiàn)實 . 383