《高效自動化測試平台:設計與開發實戰》是電子工業出版社於2020年6月出版圖書,作者是徐德晨,茹炳晟。本書從軟體自動化測試的發展歷史和趨勢出發,總結了當前軟體自動化測試的需求和挑戰。
基本介紹
- 書名:高效自動化測試平台:設計與開發實戰
- 作者:徐德晨、茹炳晟
- 類別:計算機
- 出版社:電子工業出版社
- 出版時間:2020年6月
- 頁數:452 頁
- 定價:106 元
- 開本:16 開
- ISBN:9787121390425
內容簡介,圖書目錄,作者簡介,
內容簡介
《高效自動化測試平台:設計與開發實戰》結合了當下軟體企業比較重視的CI/CD流程,雲端部署等熱門話題,介紹了如何將自動化測試平台集成到CI/CD的工作流程以及如何將測試平台進行雲部署的轉變
圖書目錄
第1章 軟體自動化測試面臨的挑戰 1
1.1 軟體測試各個階段的自動化需求 2
1.1.1 單元測試 2
1.1.2 功能測試 4
1.1.3 回歸測試 6
1.1.4 可用性測試及冒煙測試 6
1.1.5 系統測試 7
1.2 軟體自動化測試工具的挑戰 8
1.2.1 測試用例的復用能力 8
1.2.2 測試用例的擴展能力 9
1.2.3 測試工具的擴展能力 10
1.2.4 靈活的測試調度能力 11
1.2.5 測試結果和報告 12
1.2.6 與CI/CD的集成能力 14
1.2.7 快速部署和較低的學習成本 15
1.3 基於面向對象的平台化設計思想 16
1.3.1 面向對象設計思想 16
1.3.2 模組化設計 25
1.4 總結 27
第2章 高效測試平台的基本設計28
2.1 程式語言和開源框架 29
2.1.1 程式語言的選擇 29
2.1.2 從零開發還是使用現有框架 30
2.1.3 跨越平台和程式語言的限制 31
2.2 模組化測試平台的設計方法 33
2.2.1 什麼是模組化 33
2.2.2 核心功能和業務分離 36
2.2.3 分層設計思想 36
2.2.4 前後端分離 38
2.3 自動化測試平台的基本設計 41
2.3.1 自動化測試平台的基本模組 41
2.3.2 測試資源管理模組 42
2.3.3 測試配置管理模組 43
2.3.4 測試用例執行模組 44
2.3.5 測試報告和日誌模組 45
2.4 總結 46
第3章 可擴展的測試資源管理模組 47
3.1 測試資源 48
3.1.1 測試資源和抽象 49
3.1.2 測試資源的序列化和反序列化 53
3.1.3 測試資源池 61
3.2 資源選擇器 67
3.2.1 設計資源選擇器的目的 68
3.2.2 資源限制條件機制 71
3.2.3 資源獲取路由 81
3.3 從資源類對象獲取資源配置接口 87
3.3.1 資源類對象和配置接口分離 87
3.3.2 配置接口實例化方法的註冊 89
3.4 總結 93
第4章 模組化的測試配置 94
4.1 測試配置基本分類 96
4.1.1 靜態配置 96
4.1.2 動態配置 97
4.1.3 帶有邏輯功能的配置 99
4.2 可擴展的靜態配置 100
4.2.1 基本配置的設計 100
4.2.2 配置的註冊方法 103
4.3 靈活的動態配置 106
4.3.1 類中類 107
4.3.2 通過裝飾器來初始化配置 108
4.4 帶邏輯功能的配置 109
4.4.1 帶邏輯功能配置模組的使用場景 109
4.4.2 邏輯功能模組的實現 111
4.4.3 邏輯配置模組管理器 114
4.5 總結 117
第5章 友善的測試報告和日誌 119
5.1 我們需要什麼樣的測試結果 120
5.1.1 測試步驟和日誌分離 121
5.1.2 儀錶板 122
5.1.3 清晰的測試步驟 122
5.1.4 分類的運行日誌 124
5.2 樹形顯示的測試步驟 124
5.2.1 樹形測試步驟輸出的實現 125
5.2.2 巧用Python的with語法 138
5.3 日誌管理 148
5.3.1 日誌註冊 148
5.3.2 平台模組的日誌註冊 150
5.3.3 測試用例的日誌註冊 155
5.4 總結 158
第6章 靈活配置的測試引擎159
6.1 測試引擎的職責 160
6.1.1 測試用例的裝載 161
6.1.2 測試列表和配置需求滿足分析 162
6.1.3 測試資源獲取 162
6.1.4 配置的裝載 163
6.1.5 測試用例的執行及生命周期管理 163
6.2 測試用例 165
6.2.1 四步測試 165
6.2.2 測試用例的屬性 167
6.2.3 測試用例參數 168
6.2.4 測試用例的優先權及依賴關係 171
6.2.5 測試列表 174
6.3 測試引擎的初始化設計 178
6.3.1 靜態配置的讀取和實例化 179
6.3.2 測試資源的獲取 180
6.3.3 測試列表及測試用例的裝載 181
6.4 測試用例的生命周期管理及運行 184
6.4.1 測試用例的執行流程 184
6.4.2 測試用例的流程控制設計 185
6.4.3 測試用例的異常管理 191
6.4.4 測試用例的中斷控制 194
6.4.5 測試引擎的運行 195
6.5 總結 197
第7章 友善的管理平台199
7.1 命令行模式 200
7.1.1 命令行模式的優缺點 201
7.1.2 展示層設計 202
7.1.3 命令行功能的實現 205
7.1.4 執行測試用例 207
7.2 RESTful API的管理模式 210
7.2.1 RESTful API的特點210
7.2.2 測試平台RESTful API的設計實現 211
7.2.3 GUI界面管理模式219
7.3 測試用例的管理 219
7.3.1 測試用例的自動發現 220
7.3.2 測試用例的進一步管理 227
7.4 平台的安裝及發布 228
7.4.1 平台核心功能的發布 229
7.4.2 測試用例及業務代碼管理 236
7.5 總結 241
第8章 測試數據及數據驅動測試242
8.1 測試數據的準備與生成 243
8.1.1 常見的測試數據生成方法 243
8.1.2 測試數據生成的時機 248
8.1.3 統一測試數據平台 252
8.2 數據驅動的測試用例 259
8.2.1 測試過程復用和數據替換 260
8.2.2 適宜的數據驅動策略 265
8.3 測試用例參數傳遞設計 266
8.3.1 測試數據的傳遞 266
8.3.2 數據驅動裝飾器的實現 268
8.3.3 測試數據的變數化 271
8.4 總結 277
第9章 代碼自動生成 278
9.1 重複勞動的封裝作業 279
9.1.1 協定驗證測試和數據報文分析 280
9.1.2 RESTful API測試 285
9.2 文檔和元數據驅動 287
9.2.1 元數據 288
9.2.2 手工開發代碼的實現 296
9.3 代碼自動生成的實現 302
9.3.1 自動生成代碼的工具 302
9.3.2 中間對象的定義 311
9.3.3 代碼的自動生成 326
9.4 測試用例的自動生成 337
9.4.1 技術代碼和業務數據的分離 337
9.4.2 API接口測試 340
9.5 總結 342
第10章 測試工具和設備的驅動設計 343
10.1 命令行工具 344
10.1.1 命令行接口類的實現 345
10.1.2 接口的實例化 351
10.2 Selenium的二次封裝 353
10.2.1 瀏覽器的二次封裝 353
10.2.2 頁面元素封裝 358
10.3 技術代碼下沉和測試業務封裝 364
10.3.1 網路設備流量測試的典型場景 365
10.3.2 網路設備流量測試過程的抽象 367
10.4 總結 372
第11章 事件驅動測試模式 373
11.1 傳統測試用例的挑戰 374
11.1.1 固定的測試步驟和覆蓋率 374
11.1.2 客戶問題的復現 375
11.1.3 大系統和長時間的測試挑戰 376
11.2 何為事件驅動 377
11.2.1 事件驅動的特點 377
11.2.2 事件驅動的一些問題 381
11.3 事件驅動引擎的設計 385
11.3.1 事件驅動的基本流程 385
11.3.2 事件的設計和實現 386
11.3.3 與現有平台相結合 399
11.4 總結 400
第12章 微服務化的測試平台 401
12.1 軟體架構的演進 402
12.1.1 Monolith單體架構 402
12.1.2 分散式架構和SOA 403
12.1.3 微服務 404
12.2 微服務的基本形態 405
12.3 測試平台的微服務化 407
12.3.1 統一的測試平台 407
12.3.2 服務邊界 409
12.3.3 基本服務的設計 411
12.3.4 訊息佇列 414
12.4 總結 414
第13章 實戰成功案例介紹 416
13.1 四兩撥千斤的自動化測試平台 416
13.1.1 初期階段—產品測試模式和自動化測試平台的建立 417
13.1.2 擴展階段—更智慧型的測試平台 421
13.1.3 推廣階段—公司的明星級測試平台 423
13.2 全球大型電商的自動化測試中台 424
13.2.1 測試中台的全局架構 424
13.2.2 統一測試執行服務 426
13.2.3 統一測試數據服務 426
13.2.4 統一測試執行環境服務 427
13.2.5 被測系統部署服務 429
13.2.6 測試報告服務 429
13.2.7 全局測試配置服務 430
13.2.8 GUI自動化測試服務 432
13.2.9 API自動化測試服務 432
13.2.10 統一Mock服務 433
13.2.11 工程效率工具鏈倉庫 433
作者簡介
茹炳晟業界知名的實戰派軟體質量和研發工程效能專家,測試基礎架構的布道者,騰訊雲最具價值的專家TVP,阿里雲最具價值的專家MVP,中國商業聯合會網際網路套用技術委員會的智庫專家,國內外頂級技術峰會的技術委員會成員和專題出品人。