定 價:¥106.00
作 者: | 徐德晨,茹炳晟 著 |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787121390425 | 出版時間: | 2020-06-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
第1章 軟件自動化測試面臨的挑戰(zhàn) 1
1.1 軟件測試各個階段的自動化需求 2
1.1.1 單元測試 2
1.1.2 功能測試 4
1.1.3 回歸測試 6
1.1.4 可用性測試及冒煙測試 6
1.1.5 系統(tǒng)測試 7
1.2 軟件自動化測試工具的挑戰(zhàn) 8
1.2.1 測試用例的復用能力 8
1.2.2 測試用例的擴展能力 9
1.2.3 測試工具的擴展能力 10
1.2.4 靈活的測試調(diào)度能力 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 從零開發(fā)還是使用現(xiàn)有框架 30
2.1.3 跨越平臺和編程語言的限制 31
2.2 模塊化測試平臺的設計方法 33
2.2.1 什么是模塊化 33
2.2.2 核心功能和業(yè)務分離 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 測試用例執(zhí)行模塊 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 靜態(tài)配置 96
4.1.2 動態(tài)配置 97
4.1.3 帶有邏輯功能的配置 99
4.2 可擴展的靜態(tài)配置 100
4.2.1 基本配置的設計 100
4.2.2 配置的注冊方法 103
4.3 靈活的動態(tài)配置 106
4.3.1 類中類 107
4.3.2 通過裝飾器來初始化配置 108
4.4 帶邏輯功能的配置 109
4.4.1 帶邏輯功能配置模塊的使用場景 109
4.4.2 邏輯功能模塊的實現(xiàn) 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 樹形測試步驟輸出的實現(xiàn) 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 測試用例的執(zhí)行及生命周期管理 163
6.2 測試用例 165
6.2.1 四步測試 165
6.2.2 測試用例的屬性 167
6.2.3 測試用例參數(shù) 168
6.2.4 測試用例的優(yōu)先級及依賴關系 171
6.2.5 測試列表 174
6.3 測試引擎的初始化設計 178
6.3.1 靜態(tài)配置的讀取和實例化 179
6.3.2 測試資源的獲取 180
6.3.3 測試列表及測試用例的裝載 181
6.4 測試用例的生命周期管理及運行 184
6.4.1 測試用例的執(zhí)行流程 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 命令行模式的優(yōu)缺點 201
7.1.2 展示層設計 202
7.1.3 命令行功能的實現(xiàn) 205
7.1.4 執(zhí)行測試用例 207
7.2 RESTful API的管理模式 210
7.2.1 RESTful API的特點 210
7.2.2 測試平臺RESTful API的設計實現(xiàn) 211
7.2.3 GUI界面管理模式 219
7.3 測試用例的管理 219
7.3.1 測試用例的自動發(fā)現(xiàn) 220
7.3.2 測試用例的進一步管理 227
7.4 平臺的安裝及發(fā)布 228
7.4.1 平臺核心功能的發(fā)布 229
7.4.2 測試用例及業(yè)務代碼管理 236
7.5 總結 241
第8章 測試數(shù)據(jù)及數(shù)據(jù)驅動測試 242
8.1 測試數(shù)據(jù)的準備與生成 243
8.1.1 常見的測試數(shù)據(jù)生成方法 243
8.1.2 測試數(shù)據(jù)生成的時機 248
8.1.3 統(tǒng)一測試數(shù)據(jù)平臺 252
8.2 數(shù)據(jù)驅動的測試用例 259
8.2.1 測試過程復用和數(shù)據(jù)替換 260
8.2.2 適宜的數(shù)據(jù)驅動策略 265
8.3 測試用例參數(shù)的傳遞設計 266
8.3.1 測試數(shù)據(jù)的傳遞 266
8.3.2 數(shù)據(jù)驅動裝飾器的實現(xiàn) 268
8.3.3 測試數(shù)據(jù)的變量化 271
8.4 總結 277
第9章 代碼自動生成 278
9.1 重復勞動的封裝作業(yè) 279
9.1.1 協(xié)議驗證測試和數(shù)據(jù)報文分析 280
9.1.2 RESTful API測試 285
9.2 文檔和元數(shù)據(jù)驅動 287
9.2.1 元數(shù)據(jù) 288
9.2.2 手工開發(fā)代碼的實現(xiàn) 296
9.3 代碼自動生成的實現(xiàn) 302
9.3.1 自動生成代碼的工具 302
9.3.2 中間對象的定義 311
9.3.3 代碼的自動生成 326
9.4 測試用例的自動生成 337
9.4.1 技術代碼和業(yè)務數(shù)據(jù)的分離 337
9.4.2 API接口測試 340
9.5 總結 342
第10章 測試工具和設備的驅動設計 343
10.1 命令行工具 344
10.1.1 命令行接口類的實現(xiàn) 345
10.1.2 接口的實例化 351
10.2 Selenium的二次封裝 353
10.2.1 瀏覽器的二次封裝 353
10.2.2 頁面元素封裝 358
10.3 技術代碼下沉和測試業(yè)務封裝 364
10.3.1 網(wǎng)絡設備流量測試的典型場景 365
10.3.2 網(wǎng)絡設備流量測試過程的抽象 367
10.4 總結 372
第11章 事件驅動測試模式 373
11.1 傳統(tǒng)測試用例的挑戰(zhàn) 374
11.1.1 固定的測試步驟和覆蓋率 374
11.1.2 客戶問題的復現(xiàn) 375
11.1.3 大系統(tǒng)和長時間的測試挑戰(zhàn) 376
11.2 何為事件驅動 377
11.2.1 事件驅動的特點 377
11.2.2 事件驅動的一些問題 381
11.3 事件驅動引擎的設計 385
11.3.1 事件驅動的基本流程 385
11.3.2 事件的設計和實現(xiàn) 386
11.3.3 與現(xiàn)有平臺相結合 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 微服務的基本形態(tài) 405
12.3 測試平臺的微服務化 407
12.3.1 統(tǒng)一的測試平臺 407
12.3.2 服務邊界 409
12.3.3 基本服務的設計 411
12.3.4 消息隊列 414
12.4 總結 414
第13章 實戰(zhàn)成功案例介紹 416
13.1 四兩撥千斤的自動化測試平臺 416
13.1.1 初期階段—產(chǎn)品測試模式和自動化測試平臺的建立 417
13.1.2 擴展階段—更智能的測試平臺 421
13.1.3 推廣階段—公司的明星級測試平臺 423
13.2 全球大型電商的自動化測試中臺 424
13.2.1 測試中臺的全局架構 424
13.2.2 統(tǒng)一測試執(zhí)行服務 426
13.2.3 統(tǒng)一測試數(shù)據(jù)服務 426
13.2.4 統(tǒng)一測試執(zhí)行環(huán)境服務 427
13.2.5 被測系統(tǒng)部署服務 429
13.2.6 測試報告服務 429
13.2.7 全局測試配置服務 430
13.2.8 GUI自動化測試服務 432
13.2.9 API自動化測試服務 432
13.2.10 統(tǒng)一Mock服務 433
13.2.11 工程效率工具鏈倉庫 433