軟體自動化測試入門攻略

軟體自動化測試入門攻略

《軟體自動化測試入門攻略》是2024年清華大學出版社出版的圖書,作者是楊定佳。

基本介紹

  • 中文名:軟體自動化測試入門攻略
  • 作者:楊定佳
  • 出版時間:2024年1月1日
  • 出版社:清華大學出版社
  • ISBN:9787302651048 
  • 定價:129 元
內容簡介,作者,圖書目錄,

內容簡介

《軟體自動化測試入門攻略》以軟體自動化測試工具在項目實踐中的套用為主線,依照“需求分析→用例設計→腳本開發→測試執行→結果分析”的自動化測試流程,詳細介紹軟體自動化測試的方法論、必備知識與核心技能。全書共15章,第1章至第8章主要介紹當前企業使用率**的unittest、pytest、Requests、Postman、Selenium、Appium和JMeter 7款自動化測試工具,第9章至第14章分別以Leadshop開源商城系統中的部分模組為實戰對象,運用前述章節的工具依次實現單元測試、代碼包測試、接口測試、Web UI測試、移動端測試和性能測試演練,完成基礎工具的單個知識點學習到項目的綜合運用,第15章介紹Docker容器技術及其在Jenkins中實現測試項目的任務部署,完成分散式節點掛載和定時執行。

作者

楊定佳,一線資深軟體測試工程師,部落格園優秀博主,藍橋雲課入駐作者,51Testing測試圈講堂 特邀講師,長期從事自動化測試設計、框架搭建和開發工作,對各類軟體測試工具及相 關技術駕輕就熟。出版《Python Web自動化測試入門與實戰》一書,編寫的《菜鳥輕鬆 拿Offer:軟體測試工程師面試秘笈》一書榮獲2021年度“51CTO.最受讀者喜愛有IT圖書 ”獎。

圖書目錄

目 錄
第1章 自動化測試概述 1
1.1 什麼是軟體自動化測試 1
1.1.1 定義 1
1.1.2 套用條件 1
1.1.3 對比手工測試 2
1.1.4 分類 3
1.1.5 價值 4
1.2 自動化測試的概念 6
1.2.1 流程 6
1.2.2 原則 7
1.2.3 測試模型 8
1.2.4 度量模型 10
1.3 自動化測試常用工具 12
1.3.1 單元測試工具 12
1.3.2 代碼包測試工具 13
1.3.3 接口測試工具 13
1.3.4 Web UI測試工具 14
1.3.5 App測試工具 15
1.3.6 性能測試工具 16
1.4 如何入門自動化測試 17
1.4.1 入門是基礎 17
1.4.2 入行是起點 18
1.4.3 入職是挑戰 18
1.5 思考題 18
第2章 unittest 19
2.1 簡介 19
2.2 測試用例 20
2.3 測試腳手架 21
2.4 測試套件 23
2.4.1 TestSuite類構建 23
2.4.2 TestLoader類構建 25
2.4.3 其他方法構建 26
2.5 測試運行器 27
2.6 命令行接口 28
2.7 用例執行順序 30
2.8 測試斷言 31
2.9 skip裝飾器 33
2.10 模擬對象mock 36
2.11 ddt實現參數化 38
2.12 多執行緒運行 42
2.13 定時運行 44
2.14 生成測試報告 46
2.15 傳送測試結果通知 48
2.16 思考題 54
第3章 pytest 55
3.1 簡介 55
3.2 第一個示例 55
3.3 測試用例 57
3.4 命令行參數 59
3.5 跳過 61
3.6 標記 62
3.6.1 內置標記 63
3.6.2 自定義標記 64
3.7 夾具 66
3.7.1 fixture參數 66
3.7.2 夾具的使用 67
3.7.3 夾具作用域 68
3.7.4 共享夾具 70
3.8 參數化 72
3.8.1 標記方式實現 72
3.8.2 夾具方式實現 73
3.9 配置檔案 74
3.10 外掛程式 76
3.11 分散式執行 77
3.12 Allure測試報告 79
3.12.1 Allure安裝 79
3.12.2 生成測試報告 80
3.12.3 Allure特性與套用示例 82
3.13 思考題 87
第4章 Requests 88
4.1 簡介 88
4.2 主要方法 89
4.2.1 請求示例 89
4.2.2 查詢參數 90
4.2.3 回響對象 91
4.3 傳送GET請求 92
4.3.1 params參數 92
4.3.2 自定義請求頭 93
4.4 傳送POST請求 94
4.4.1 data參數 95
4.4.2 json參數 96
4.5 傳送其他類型的請求 97
4.5.1 傳送HEAD請求 98
4.5.2 傳送PUT請求 98
4.5.3 傳送PATCH請求 98
4.5.4 傳送DELETE請求 99
4.6 檔案上傳 99
4.7 檔案下載 100
4.8 Cookies參數 101
4.9 Session對象 103
4.10 重定向 104
4.11 添加代理 105
4.12 逾時設定 106
4.13 異常處理 106
4.14 證書驗證 107
4.15 身份認證 107
4.16 生成測試用例腳本 108
4.17 思考題 110
第5章 Postman 111
5.1 安裝 111
5.2 界面介紹 113
5.3 HTTP請求 115
5.3.1 請求界面介紹 116
5.3.2 GET請求 117
5.3.3 POST請求 118
5.3.4 其他類型請求 121
5.3.5 檔案上傳 122
5.3.6 檔案下載 123
5.3.7 授權 124
5.3.8 前置腳本 126
5.3.9 後置腳本 128
5.3.10 請求設定 131
5.3.11 其他 132
5.4 環境和變數 132
5.5 Cookies管理 135
5.6 代理設定 136
5.7 證書管理 138
5.8 集合管理 140
5.8.1 執行集合 141
5.8.2 參數化 142
5.8.3 分支和循環 144
5.9 模擬伺服器 145
5.10 監視器 148
5.11 命令行執行集合 152
5.12 思考題 157
第6章 Selenium 158
6.1 簡介 158
6.1.1 版本演進 158
6.1.2 特點 159
6.1.3 WebDriver的工作原理 159
6.2 環境準備 160
6.2.1 安裝Selenium 160
6.2.2 安裝瀏覽器驅動 161
6.2.3 第一個示例 162
6.3 瀏覽器操作 163
6.4 頁面元素定位 169
6.4.1 頁面查找元素 170
6.4.2 id定位 171
6.4.3 name定位 171
6.4.4 class定位 172
6.4.5 tag定位 172
6.4.6 link定位 173
6.4.7 partial link定位 173
6.4.8 css定位 173
6.4.9 xpath定位 174
6.4.10 相對定位 178
6.4.11 定位一組元素 179
6.5 獲取頁面內容 180
6.6 獲取元素屬性 181
6.7 頁面元素操作 183
6.7.1 單擊 183
6.7.2 輸入文本 184
6.7.3 清除文本 184
6.7.4 提交表單 185
6.7.5 單選框操作 186
6.7.6 複選框操作 187
6.7.7 下拉框操作 187
6.7.8 Frame結構操作 189
6.8 檔案操作 191
6.8.1 檔案上傳 191
6.8.2 檔案下載 192
6.9 模擬滑鼠操作 194
6.10 模擬鍵盤操作 197
6.11 延時等待 198
6.12 瀏覽器配置 201
6.13 其他操作 203
6.13.1 調用JavaScript 203
6.13.2 Cookie操作 204
6.13.3 螢幕截圖 205
6.13.4 獲取環境信息 205
6.13.5 執行CDP命令 206
6.13.6 設定逾時時間 207
6.14 Webdriver Manager 207
6.15 Selenium Grid 208
6.16 生成測試用例腳本 212
6.17 思考題 218
第7章 Appium 219
7.1 簡介 219
7.2 Android模擬器 220
7.3 ADB工具 221
7.3.1 ADB的工作原理 221
7.3.2 ADB工具安裝 222
7.3.3 ADB常用命令 224
7.3.4 自動化測試中常用的ADB命令 225
7.4 Appium環境準備 228
7.4.1 安裝Appium Desktop 228
7.4.2 安裝Appium Inspector 229
7.4.3 Appium簡單使用 230
7.4.4 Inspector功能 233
7.4.5 腳本錄製 233
7.4.6 查看元素屬性 236
7.5 Appium Server 236
7.6 Appium Client 238
7.7 UI Automator Viewer 240
7.8 元素定位 241
7.9 元素操作 243
7.10 獲取元素屬性 244
7.11 觸控事件 246
7.11.1 TouchAction 246
7.11.2 輸入源行為 248
7.11.3 單點觸控 249
7.11.4 多點觸控 250
7.11.5 其他觸控操作 252
7.12 設備互動API 254
7.13 Android Toast識別 258
7.14 其他操作 259
7.15 不同套用的測試 262
7.15.1 App應用程式的分類 262
7.15.2 案例一:
原生套用的測試 263
7.15.3 案例二:
Web套用測試 271
7.15.4 案例三:
混合套用測試 275
7.15.5 案例四:
微信小程式測試 277
7.16 穩定性測試 279
7.16.1 Monkey簡介 279
7.16.2 Monkey常用參數 280
7.16.3 Monkey日誌分析 282
7.17 思考題 285
第8章 JMeter 286
8.1 簡介 286
8.2 安裝 287
8.3 配置檔案 288
8.4 界面介紹 291
8.5 腳本錄製 293
8.6 基本組件 297
8.7 測試計畫 298
8.8 執行緒組 301
8.8.1 普通執行緒組 302
8.8.2 開放模型執行緒組 304
8.9 取樣器 305
8.9.1 HTTP請求 306
8.9.2 調試取樣器 311
8.9.3 BeanShell 取樣器 312
8.9.4 FTP請求 314
8.9.5 JDBC請求 316
8.9.6 SMTP取樣器 316
8.10 配置元件 320
8.10.1 CSV數據檔案設定 321
8.10.2 HTTP信息頭管理器 323
8.10.3 HTTP Cookie管理器 324
8.10.4 HTTP請求默認值 326
8.10.5 JDBC連線配置器 327
8.10.6 隨機變數 330
8.11 前置處理器 332
8.11.1 用戶參數 333
8.11.2 取樣器逾時 334
8.12 後置處理器 334
8.12.1 CSS/Query提取器 335
8.12.2 JSON提取器 337
8.12.3 正則表達式提取器 338
8.12.4 XPath提取器 339
8.13 斷言 341
8.13.1 回響斷言 342
8.13.2 JSON斷言 343
8.13.3 XPath斷言 345
8.14 定時器 346
8.14.1 固定定時器 347
8.14.2 統一隨機定時器 347
8.14.3 同步定時器 347
8.14.4 高斯隨機定時器 348
8.15 監聽器 348
8.15.1 查看結果樹 349
8.15.2 聚合報告 350
8.15.3 回響時間圖 351
8.15.4 斷言結果 351
8.16 邏輯控制器 352
8.16.1 IF控制器 353
8.16.2 循環控制器 354
8.16.3 ForEach控制器 355
8.16.4 僅一次控制器 356
8.17 作用域和執行順序 357
8.18 外掛程式 357
8.19 函式 360
8.20 分散式部署 362
8.21 可視化監控平台的搭建與使用 364
8.21.1 安裝和部署InfluxDB 1.7 365
8.21.2 安裝和部署Grafana 365
8.21.3 Grafana中添加
JMeter模板 366
8.21.4 創建和運行JMeter腳本 367
8.22 思考題 368
第9章 實現單元測試 370
9.1 被測產品介紹 370
9.1.1 項目介紹 370
9.1.2 產品搭建 371
9.2 單元測試簡介 374
9.2.1 概念 374
9.2.2 分類 375
9.2.3 對測試人員的要求 375
9.3 用例設計方法 376
9.3.1 路徑覆蓋 377
9.3.2 語句覆蓋 377
9.3.3 條件覆蓋 378
9.3.4 判定覆蓋 379
9.3.5 判定和條件覆蓋 380
9.3.6 條件組合覆蓋 381
9.4 實戰對象 381
9.5 設計測試用例 383
9.6 編寫測試腳本 384
9.7 統計代碼覆蓋率 385
9.8 思考題 387
第10章 實現代碼包測試 389
10.1 什麼是代碼包 389
10.2 用例設計方法 389
10.3 實踐對象 390
10.4 設計測試用例 392
10.5 編寫測試腳本 393
10.6 測試運行 397
10.7 思考題 398
第11章 實現接口測試 399
11.1 接口測試簡介 399
11.1.1 概念 399
11.1.2 常見接口協定 400
11.2 用例設計方法 401
11.3 實戰對象 403
11.4 構建項目結構 404
11.5 設計測試用例 406
11.6 編寫項目腳本 407
11.6.1 設計測試用例檔案 407
11.6.2 添加基礎配置數據 413
11.6.3 讀取配置檔案內容 414
11.6.4 獲取測試用例數據 415
11.6.5 封裝接口請求函式 418
11.6.6 設定共享夾具 419
11.6.7 封裝斷言函式 419
11.6.8 添加測試用例函式 422
11.7 執行測試項目 425
11.8 思考題 427
第12章 實現Web UI測試 428
12.1 Web UI測試簡介 428
12.2 用例設計方法 429
12.3 Page Object模型 430
12.4 實戰對象 432
12.5 設計測試用例 433
12.6 項目結構搭建 434
12.7 編寫測試腳本 436
12.7.1 封裝元素定位 436
12.7.2 添加測試數據 438
12.7.3 頁面功能函式封裝 439
12.7.4 實現測試用例 446
12.8 執行測試項目 452
12.9 思考題 453
第13章 實現移動端測試 454
13.1 App測試簡介 454
13.2 項目實戰對象 455
13.3 項目結構搭建 456
13.4 編寫測試腳本 457
13.4.1 封裝元素定位 457
13.4.2 添加測試數據 458
13.4.3 頁面功能函式封裝 459
13.4.4 實現測試用例 465
13.5 執行測試項目 466
13.6 思考題 467
第14章 實現性能測試 468
14.1 性能測試簡介 468
14.1.1 測試流程 469
14.1.2 常見性能指標 469
14.1.3 流量回放技術 470
14.2 性能需求分析 471
14.3 制訂測試計畫 472
14.4 確定測試方案 475
14.5 搭建測試環境 478
14.6 準備測試數據 479
14.7 開發壓測腳本 479
14.7.1 添加請求 479
14.7.2 運行調試 485
14.7.3 設定斷言 487
14.7.4 增加壓力 490
14.8 測試執行及監控 492
14.9 結果分析 493
14.10 性能調優 497
14.11 編寫測試報告 498
14.12 思考題 498
第15章 容器化部署與自動化測試 499
15.1 什麼是容器化部署 499
15.2 Docker安裝 500
15.3 Docker核心概念 502
15.4 Docker使用 503
15.4.1 倉庫操作 503
15.4.2 鏡像操作 504
15.4.3 容器操作 506
15.5 Dockerfile 510
15.6 Docker部署Jenkins 513
15.6.1 Jenkins安裝 513
15.6.2 Jenkins在自動化測試中的套用 515
15.7 持續集成與自動化測試 522
15.7.1 什麼是持續集成 523
15.7.2 持續集成常用工具 523
15.7.3 部署測試項目 524
15.8 思考題 524
參考文獻 525

熱門詞條

聯絡我們