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