互聯(lián)網(wǎng)產(chǎn)品的快速迭代,讓敏捷開發(fā)在各個領(lǐng)域都得到了廣泛應(yīng)用。同時,也加快了敏捷測試在各家企業(yè)落地生根的進程。
《敏捷測試:以持續(xù)測試促進持續(xù)交付》由測試領(lǐng)域老兵聯(lián)合10余位測試專家對敏捷測試的實踐經(jīng)驗匯總、整理而成。本書分為10章和4個附錄。從敏捷開發(fā)和敏捷測試基礎(chǔ)、人的因素、敏捷測試基礎(chǔ)設(shè)施、分析與計劃、設(shè)計與執(zhí)行、測試右移、收尾與改進、展望等角度入手,幾乎涵蓋實現(xiàn)高效敏捷測試所需的各個方面的知識,以及測試思維、測試流程、測試基礎(chǔ)設(shè)施和一系列的優(yōu)秀實踐,對提高測試效率進而提升產(chǎn)品交付質(zhì)量具有重大的指導(dǎo)意義。
《敏捷測試:以持續(xù)測試促進持續(xù)交付》理論知識與實際案例深度結(jié)合,輔以思維導(dǎo)圖、延伸閱讀等模塊,深入淺出,尤其適合有一定測試實踐經(jīng)驗的軟件質(zhì)量保障和測試人員,想要較為深入了解敏捷測試的專業(yè)人士閱讀參考。
1.測試領(lǐng)域大咖朱少民20余年關(guān)于敏捷測試的思考和實踐總結(jié)
2.給出敏捷測試落地實施的一套完整的實踐方法,幫助讀者顯著提升個人的測試能力。
3.每章開頭均有思維導(dǎo)圖來引導(dǎo)讀者學(xué)習(xí),每章結(jié)尾均有延伸閱讀。
4.以業(yè)界實踐為基礎(chǔ),典型敏捷測試真實案例貫穿全書始末。
5.幫助研發(fā)經(jīng)理或項目經(jīng)理提升對敏捷測試全局的理解。
6.20余名親歷一線的測試開發(fā)工程師、管理者及咨詢師傾情推薦!
朱少民 國內(nèi)知名測試專家、同濟大學(xué)特聘教授、軟件綠色聯(lián)盟標準評測組組長、《軟件學(xué)報》審稿人、QECon大會發(fā)起人。 近30年來,一直從事軟件測試、質(zhì)量管理等工作,先后獲得安徽省、原機械工業(yè)部、青島市等多項科技進步獎,出版《全程軟件測試》《軟件測試方法和技術(shù)》《軟件質(zhì)量保證和管理》《軟件項目管理》等10余部著作。 近5年來,致力于幫助國內(nèi)近百家企業(yè)提升其軟件研發(fā)能力水平,并經(jīng)常在國內(nèi)外學(xué)術(shù)會議或技術(shù)大會上發(fā)表演講,擁有個人公眾號軟件質(zhì)量報道,曾任思科(中國)軟件有限公司QA(質(zhì)量保證)高級總監(jiān),及IEEE ICST論壇主席、IEEE QRS和DSA、NASAC程序委員等。 李潔 中科創(chuàng)達軟件股份有限公司測試總監(jiān),曾任IBM研發(fā)經(jīng)理,索尼瑞典分公司高級測試經(jīng)理,諾基亞及Polycom QA總監(jiān)。擁有20余年軟件測試技術(shù)經(jīng)驗及管理經(jīng)驗。在測試專業(yè)雜志發(fā)表過多篇文章。
第 1 章 鋪墊:敏捷開發(fā)價值觀、原則與實踐/ 1
導(dǎo)讀/ 1
1.1 敏捷開發(fā)模式的由來/ 2
1.1.1 新產(chǎn)品開發(fā)方式Scrum / 3
1.1.2 輕量級軟件開發(fā)方法/ 5
1.1.3 敏捷宣言的誕生/ 6
1.2 敏捷價值觀/ 7
1.3 敏捷開發(fā)原則/ 8
1.4 常見的敏捷開發(fā)框架/ 9
1.4.1 極限編程/ 9
1.4.2 行為驅(qū)動開發(fā)/ 13
1.4.3 特性驅(qū)動開發(fā)/ 15
1.4.4 Scrum 開發(fā)框架/ 17
1.5 敏捷與看板、精益的關(guān)系/ 20
1.5.1 看板/ 21
1.5.2 精益軟件開發(fā)實踐/ 23
1.6 敏捷與DevOps 的關(guān)系/ 26
本章小結(jié)/ 29
延伸閱讀/ 29
第 2 章 基礎(chǔ):敏捷測試之道/ 31
導(dǎo)讀/ 31
2.1 什么是敏捷測試/ 32
2.1.1 從一個真實的案例說起/ 32
2.1.2 敏捷測試的含義/ 35
2.1.3 敏捷測試的其他定義/ 36
2.2 傳統(tǒng)測試與敏捷測試/ 38
2.2.1 鳳凰項目:一個IT 運維的傳奇故事/ 38
2.2.2 3 步工作法/ 39
2.2.3 鳳凰項目改造前后對比/ 40
2.2.4 傳統(tǒng)測試和敏捷測試的區(qū)別/ 41
2.3 敏捷測試的思維方式/ 41
2.3.1 固定性思維與敏捷思維/ 42
2.3.2 成長性思維/ 42
2.3.3 以實例來辨析不同思維的測試工程師/ 43
2.3.4 團隊對質(zhì)量負責(zé)的思維/ 44
2.3.5 上下文驅(qū)動的思維與用戶思維/ 45
2.4 敏捷測試流程解析/ 45
2.4.1 Scrum 模式下的測試流程/ 45
2.4.2 敏捷測試的通用流程/ 47
2.4.3 敏捷測試流程閉環(huán)與持續(xù)測試/ 48
2.4.4 從敏捷項目管理角度來看測試流程/ 49
2.5 新的敏捷測試四象限/ 50
2.5.1 敏捷測試四象限之歷史/ 50
2.5.2 新的敏捷測試四象限簡介/ 52
本章小結(jié)/ 53
延伸閱讀/ 54
第3 章 人是決定性因素/ 55
導(dǎo)讀/ 55
3.1 敏捷團隊究竟要不要專職的測試人員/ 56
3.1.1 問題的提出及各方的理由/ 56
3.1.2 根據(jù)上下文來確定是否需要/ 58
3.1.3 存在即合理/ 59
3.2 配備專職敏捷測試人員時的操作/ 60
3.2.1 Etsy 公司的優(yōu)秀實踐/ 60
3.2.2 敏捷測試人員的責(zé)任和具體任務(wù)/ 61
3.2.3 測試人員和開發(fā)人員的分工/ 63
3.2.4 測試敏捷化對團隊意味著什么/ 64
3.3 沒有專職的測試人員時的操作/ 64
3.3.1 是否借助灰度發(fā)布和一鍵回滾/ 65
3.3.2 消除系統(tǒng)測試不足帶來的影響/ 66
3.3.3 加強敏捷驗收測試和ATDD 的實踐/ 67
3.3.4 應(yīng)對其他挑戰(zhàn)/ 67
3.4 借助測試負責(zé)人角色完成團隊轉(zhuǎn)型/ 68
3.4.1 冰凍三尺并非一日之寒/ 69
3.4.2 多數(shù)團隊不是Google / 70
3.4.3 測試負責(zé)人角色的責(zé)任和具體實踐/ 71
3.4.4 測試主負責(zé)人角色/ 72
3.5 如何創(chuàng)建有強烈質(zhì)量意識的學(xué)習(xí)型團隊/ 73
3.5.1 達成質(zhì)量共識/ 73
3.5.2 營造良好的質(zhì)量文化氛圍/ 73
3.5.3 創(chuàng)建學(xué)習(xí)型團隊/ 74
3.5.4 業(yè)務(wù)學(xué)習(xí)與缺陷根因分析/ 76
3.6 如何更好地為測試而學(xué)/ 76
3.6.1 系統(tǒng)性思維訓(xùn)練/ 77
3.6.2 創(chuàng)造性思維訓(xùn)練/ 79
3.6.3 如何提升測試自動化能力/ 80
3.6.4 如何學(xué)習(xí)測試建模/ 80
3.6.5 借力提升自己/ 81
3.7 如何與產(chǎn)品、開發(fā)等角色協(xié)作/ 82
3.7.1 團隊協(xié)作的五大障礙/ 82
3.7.2 團隊協(xié)作高于一切/ 84
3.7.3 達成對質(zhì)量及其管理的共識/ 85
3.7.4 溝通的技巧/ 86
本章小結(jié)/ 87
延伸閱讀/ 87
第4 章 構(gòu)建強大的敏捷測試基礎(chǔ)設(shè)施/ 89
導(dǎo)讀/ 89
4.1 持續(xù)集成與持續(xù)交付意味著什么/ 90
4.1.1 敏捷的目標/ 91
4.1.2 持續(xù)集成中的測試活動/ 91
4.1.3 持續(xù)交付中的測試活動/ 93
4.1.4 持續(xù)集成 持續(xù)測試是關(guān)鍵/ 94
4.1.5 持續(xù)部署/ 95
4.1.6 持續(xù)運維/ 95
4.2 測試如何融入持續(xù)集成/ 持續(xù)交付環(huán)境/ 95
4.2.1 支撐持續(xù)集成的測試環(huán)境/ 96
4.2.2 支撐持續(xù)交付的測試環(huán)境/ 96
4.2.3 CI/CD 流水線中的測試過程/ 97
4.3 基于DevOps 的測試基礎(chǔ)設(shè)施構(gòu)成/ 99
4.3.1 DevOps 的測試/ 100
4.3.2 DevOps 測試基礎(chǔ)設(shè)施/ 101
4.3.3 基礎(chǔ)設(shè)施即代碼/ 103
4.3.4 對基礎(chǔ)設(shè)施進行驗證Testinfra / 104
4.4 虛擬機技術(shù)與容器技術(shù)的應(yīng)用/ 105
4.4.1 虛擬化技術(shù)虛擬機技術(shù)和容器技術(shù)/ 106
4.4.2 Sidecar 模式容器的設(shè)計模式/ 107
4.4.3 虛擬化技術(shù)之NUMA 和DPDK / 108
4.4.4 服務(wù)虛擬化的利器Hoverfly / 109
4.4.5 Molecule虛擬化技術(shù)的自動化測試工具/ 111
4.4.6 Kubernetes 與測試環(huán)境/ 112
4.5 如何完成自動部署/ 113
4.5.1 配置即代碼CI 配置管理工具:Ansible、Chef / 114
4.5.2 微服務(wù)的容器化部署/ 116
4.5.3 微服務(wù)在CI 環(huán)境中的自動化部署/ 117
4.5.4 Docker 容器的集群管理之Kubernetes / 119
4.5.5 基礎(chǔ)架構(gòu)即代碼的工具Terraform、CloudFormation / 122
4.5.6 管道即代碼的工具Concourse、Drone / 123
4.5.7 新一代的部署體驗Serverless 軟件系統(tǒng)架構(gòu)/ 125
4.5.8 產(chǎn)品發(fā)布之導(dǎo)流模式/ 125
4.6 如何完成全自動的BVT / 126
4.6.1 BVT 要驗證哪些點/ 126
4.6.2 不穩(wěn)定的情況Flaky / 128
4.7 自動的靜態(tài)測試和測試報告生成/ 130
4.7.1 代碼分析(靜態(tài)測試)/ 130
4.7.2 優(yōu)秀的靜態(tài)測試工具/ 131
4.7.3 靜態(tài)測試報告的自動生成/ 131
4.7.4 自動化測試報告的自動生成/ 135
4.8 測試分層策略與金字塔模型/ 139
4.9 搭建敏捷自動化測試框架及其案例分析/ 140
4.9.1 自動化測試框架的構(gòu)成/ 140
4.9.2 自動化測試框架的分類/ 142
4.9.3 單元測試框架JUnit 5 / 143
4.9.4 API 層的TA 測試框架Karate / 144
4.9.5 驗收測試框架Ginkgo / 146
本章小結(jié)/ 148
延伸閱讀/ 149
第5 章 測試左移更體現(xiàn)敏捷測試的價值/ 150
導(dǎo)讀/ 150
5.1 沒有ATDD,就沒有用戶故事的可測試性/ 151
5.1.1 可測試性的概念/ 151
5.1.2 需求、設(shè)計和代碼等不同層次的可測試性/ 152
5.1.3 用戶故事的可測試性和ATDD / 153
5.1.4 ATDD 與TDD( UTDD)的關(guān)系/ 154
5.1.5 如何具體實施ATDD / 156
5.2 產(chǎn)品價值分析:商業(yè)畫布、影響地圖與用戶故事地圖/ 156
5.2.1 產(chǎn)品價值是基礎(chǔ)/ 157
5.2.2 商業(yè)畫布/ 158
5.2.3 影響地圖/ 160
5.2.4 用戶故事地圖/ 161
5.3 從Epic 到用戶故事完成需求評審/ 162
5.3.1 通用的評審標準/ 163
5.3.2 Epic 的評審/ 164
5.3.3 用戶故事的評審/ 166
5.4 不可忽視的設(shè)計評審/ 169
5.4.1 設(shè)計評審的價值和重要性/ 170
5.4.2 如何完成架構(gòu)評審/ 170
5.4.3 有層次的(組件)評審/ 172
5.4.4 接口定義的評審/ 173
5.4.5 設(shè)計的可測試性/ 173
5.5 BDD 及其自動化實踐/ 174
5.5.1 什么是BDD / 174
5.5.2 BDD 和測試的關(guān)系/ 175
5.5.3 現(xiàn)有的BDD 自動化測試框架/ 177
5.5.4 BDD 實例/ 179
5.5.5 BDD 實踐中的常見問題/ 183
5.6 再進一步,讓實例化需求落地/ 183
5.6.1 什么是實例化需求/ 183
5.6.2 實例化需求的過程/ 185
5.6.3 RBE 的自動化實現(xiàn)/ 190
5.7 單元測試是否必須TDD / 191
5.7.1 為何TDD 是必需的/ 191
5.7.2 如何做好TDD / 192
5.7.3 UTDD 測試原則/ 193
5.7.4 UTDD 的具體實踐/ 194
本章小結(jié)/ 195
延伸閱讀/ 196
第6 章 敏捷測試的分析與計劃/ 197
導(dǎo)讀/ 197
6.1 基于上下文驅(qū)動思維的測試分析/ 198
6.1.1 上下文驅(qū)動測試流派/ 198
6.1.2 質(zhì)量標準/ 201
6.1.3 項目背景/ 202
6.1.4 產(chǎn)品元素/ 204
6.2 如何培養(yǎng)自己的業(yè)務(wù)與用戶體驗分析技能/ 205
6.2.1 用戶思維/ 205
6.2.2 場景是測試需求的靈魂/ 206
6.2.3 業(yè)務(wù)分析/ 207
6.2.4 用戶體驗要素/ 208
6.3 敏捷測試的主要風(fēng)險在哪里/ 209
6.3.1 需求不清晰/ 210
6.3.2 需求頻繁變更/ 211
6.3.3 時間太緊張/ 211
6.3.4 自動化測試的有效性/ 212
6.3.5 測試風(fēng)險項目檢查表/ 212
6.3.6 風(fēng)險控制/ 213
6.4 啟發(fā)式測試策略與測試策略的制定/ 215
6.4.1 什么是測試策略/ 215
6.4.2 啟發(fā)式測試策略模型/ 216
6.4.3 快速、高效地制定測試策略/ 218
6.5 代碼依賴性分析與精準測試/ 220
6.5.1 精準測試/ 221
6.5.2 如何建立測試用例和代碼的映射關(guān)系/ 222
6.5.3 代碼依賴性分析/ 223
6.5.4 代碼的變更分析/ 225
6.5.5 測試用例集如何優(yōu)化/ 225
6.5.6 優(yōu)秀實踐/ 226
6.6 敏捷測試要不要計劃/ 227
6.6.1 測試計劃的價值/ 227
6.6.2 一頁紙的測試計劃/ 228
6.6.3 如何編寫一頁紙的測試計劃/ 229
6.7 探索式測試與基于腳本的測試/ 232
6.7.1 什么是探索式測試/ 232
6.7.2 探索式測試的應(yīng)用場景/ 233
6.7.3 基于腳本的測試/ 234
6.7.4 探索式測試與基于腳本的測試的比較/ 235
6.7.5 敏捷擁抱探索式測試/ 236
6.8 SBTM 的由來及使用/ 237
6.8.1 SBTM 的由來/ 237
6.8.2 真正理解會話/ 237
6.8.3 測試計劃分解成多個子目標/ 239
6.8.4 測試子目標進一步分解為會話/ 240
6.9 一個應(yīng)用SBTM 的真實案例/ 241
6.9.1 案例背景/ 241
6.9.2 挑戰(zhàn)在哪里/ 242
6.9.3 測試子目標分解的結(jié)果/ 242
6.9.4 幾個典型的會話/ 243
6.9.5 會話表/ 246
6.9.6 口頭匯報/ 247
6.10 敏捷測試分析與計劃的案例/ 248
6.10.1 信息收集/ 249
6.10.2 測試目標/ 249
6.10.3 通過測試分析得到測試范圍/ 250
6.10.4 根據(jù)測試分析進行風(fēng)險分析和控制/ 251
6.10.5 基于風(fēng)險的測試策略/ 252
6.10.6 測試計劃/ 253
本章小結(jié)/ 254
延伸閱讀/ 255
第7 章 敏捷測試的設(shè)計與執(zhí)行/ 256
導(dǎo)讀/ 256
7.1 正確理解DoD 與敏捷中的驗收測試/ 257
7.1.1 什么是DoD / 257
7.1.2 如何創(chuàng)建DoD / 258
7.1.3 DoD 和敏捷驗收測試的關(guān)系/ 260
7.1.4 如何驗證DoD / 261
7.2 如何將用戶故事轉(zhuǎn)化為測試用例/ 261
7.2.1 轉(zhuǎn)換為場景/ 262
7.2.2 場景離測試用例還差一步/ 263
7.2.3 用戶故事轉(zhuǎn)化為測試用例的模型/ 263
7.3 基于場景/ 事件流的測試用例設(shè)計/ 265
7.3.1 事件流圖/ 265
7.3.2 在敏捷測試中的應(yīng)用/ 266
7.3.3 狀態(tài)圖與有限狀態(tài)機/ 268
7.4 探索式測試過程與生態(tài)/ 270
7.4.1 調(diào)查、分析、排序和實驗/ 270
7.4.2 以分析為中心/ 270
7.4.3 自我管理環(huán)、學(xué)習(xí)環(huán)/ 271
7.4.4 協(xié)作環(huán)與測試環(huán)/ 272
7.5 探索式測試中的角色扮演與場景挖掘/ 272
7.5.1 批判性思維與探索式測試設(shè)計執(zhí)行/ 272
7.5.2 角色扮演/ 273
7.5.3 場景挖掘/ 274
7.6 探索式測試的具體技巧/ 276
7.6.1 業(yè)務(wù)路徑測試/ 277
7.6.2 遍歷測試/ 279
7.6.3 極限情況的測試/ 279
7.6.4 異常情況的測試/ 280
7.7 測試自動化設(shè)計模式:一步到位/ 280
7.7.1 基于模型的自動化測試/ 281
7.7.2 狀態(tài)圖生成測試用例/ 281
7.7.3 測試數(shù)據(jù)的自動生成/ 284
7.8 UI 腳本開發(fā)與維護的常用技巧/ 287
7.8.1 腳本語言和測試框架的選擇/ 287
7.8.2 UI 元素定位/ 288
7.8.3 測試代碼的模塊化和參數(shù)化/ 291
7.8.4 Selenium 集成自動化測試框架/ 293
7.8.5 Page Object 設(shè)計模式/ 295
7.8.6 隱式等待/ 296
7.9 質(zhì)效合一:自動化測試和手工測試的完美融合/ 296
7.9.1 一個關(guān)于測試策略的案例/ 296
7.9.2 新功能手工測試,回歸測試自動化/ 297
7.9.3 探索未知的,自動化已知的/ 299
7.9.4 自動化回歸測試怎么做/ 300
7.10 優(yōu)先實現(xiàn)面向接口的測試/ 300
7.10.1 接口(API)測試越來越重要/ 301
7.10.2 接口測試示例/ 301
7.10.3 如何獲取接口信息/ 304
7.10.4 契約測試和微服務(wù)的接口測試/ 306
7.10.5 API 持續(xù)測試平臺:API Fortress / 308
本章小結(jié)/ 308
延伸閱讀/ 309
第8 章 測試右移:從敏捷到DevOps / 310
導(dǎo)讀/ 310
8.1 在線性能測試/ 311
8.1.1 全鏈路壓測/ 311
8.1.2 在線性能監(jiān)控/ 313
8.1.3 流量回放技術(shù)/ 314
8.2 A/B 測試/ 316
8.2.1 什么是A/B 測試/ 316
8.2.2 A/B 測試的設(shè)計/ 317
8.2.3 A/B 測試平臺與測試執(zhí)行/ 319
8.2.4 關(guān)于用戶體驗的度量/ 320
8.3 監(jiān)控告警系統(tǒng)/ 321
8.3.1 日志分析及Elastic Stack 的使用/ 323
8.3.2 調(diào)用鏈分析及SkyWalking 的使用/ 324
8.3.3 指標監(jiān)控及Prometheus 的使用/ 327
8.3.4 監(jiān)控系統(tǒng)解決方案/ 329
8.4 安全性監(jiān)控/ 330
8.5 混沌工程/ 331
8.5.1 混沌工程的由來/ 332
8.5.2 基于故障注入的測試/ 333
8.5.3 混沌工程平臺與工具/ 334
8.5.4 混沌工程的具體實施/ 336
8.5.5 為系統(tǒng)彈性做好設(shè)計/ 337
8.6 智能運維與測試/ 340
8.6.1 從自動化運維到智能運維/ 340
8.6.2 智能運維的典型場景/ 341
本章小結(jié)/ 342
延伸閱讀/ 343
第9 章 敏捷測試的收尾與改進/ 344
導(dǎo)讀/ 344
9.1 如何分析測試結(jié)果和評估測試工作的質(zhì)量/ 345
9.1.1 如何評估敏捷測試過程/ 345
9.1.2 敏捷測試過程的度量體系/ 346
9.1.3 測試工作質(zhì)量的分析/ 348
9.1.4 代碼覆蓋率/ 348
9.1.5 功能覆蓋率/ 349
9.1.6 業(yè)務(wù)覆蓋率/ 349
9.1.7 基于缺陷分析測試質(zhì)量/ 350
9.2 如何獲得良好的可追溯性、可視化/ 350
9.2.1 測試管理系統(tǒng)/ 351
9.2.2 需求與測試用例的映射關(guān)系,以及測試用例與缺陷的映射關(guān)系/ 352
9.2.3 示例:Jira Zephyr 實現(xiàn)可追溯性/ 353
9.2.4 測試與質(zhì)量度量的可視化/ 355
9.2.5 質(zhì)量雷達圖/ 357
9.3 敏捷測試優(yōu)秀實踐/ 357
9.3.1 微軟的優(yōu)秀實踐/ 358
9.3.2 谷歌的優(yōu)秀實踐/ 359
9.3.3 亞馬遜的優(yōu)秀實踐/ 360
9.3.4 ThoughtWorks 的優(yōu)秀實踐/ 361
9.3.5 騰訊的優(yōu)秀實踐/ 364
9.3.6 阿里巴巴的優(yōu)秀實踐/ 365
9.4 敏捷過程的反思與持續(xù)改進/ 366
9.4.1 敏捷過程的反思/ 367
9.4.2 敏捷測試過程的改進分析/ 368
9.4.3 數(shù)據(jù)驅(qū)動改進/ 369
9.4.4 PDCA 循環(huán)/ 369
9.4.5 根因分析/ 371
本章小結(jié)/ 372
延伸閱讀/ 372
第 10 章 敏捷測試的展望/ 374
導(dǎo)讀/ 374
10.1 大數(shù)據(jù)的測試/ 375
10.1.1 大數(shù)據(jù)的特性與挑戰(zhàn)/ 376
10.1.2 大數(shù)據(jù)的測試方法/ 378
10.1.3 大數(shù)據(jù)的測試實踐/ 380
10.1.4 大數(shù)據(jù)的測試工具/ 381
10.2 人工智能系統(tǒng)的測試/ 382
10.2.1 人工智能系統(tǒng)的不確定性和不可解釋性/ 383
10.2.2 人工智能系統(tǒng)的白盒測試/ 384
10.2.3 人工智能系統(tǒng)的算法驗證/ 386
10.2.4 示例:針對智能語音的設(shè)計與執(zhí)行/ 388
10.3 人工智能助力敏捷測試/ 392
10.3.1 基于圖像識別技術(shù)的UI測試/ 392
10.3.2 基于人工智能的、全自動化的API 測試/ 397
10.3.3 人工智能助力代碼深度分析/ 399
10.3.4 人工智能驅(qū)動測試/ 401
10.3.5 人工智能測試工具/ 403
10.4 敏捷測試工具的未來/ 406
10.4.1 敏捷測試工具的發(fā)展趨勢/ 406
10.4.2 MBT 的前景如何/ 408
10.4.3 無代碼化的測試自動化/ 409
10.5 徹底實現(xiàn)持續(xù)測試/ 413
10.5.1 重新理解持續(xù)測試/ 414
10.5.2 持續(xù)測試的實現(xiàn)框架/ 415
10.5.3 持續(xù)測試成熟度模型/ 424
10.5.4 徹底的持續(xù)測試/ 425
本章小結(jié)/ 426
延伸閱讀/ 427
附錄A 基于Kubernetes 和Docker搭建Jenkins 可伸縮持續(xù)集成系統(tǒng)/ 428
導(dǎo)讀/ 428
A.1 工作流程圖/ 429
A.2 系統(tǒng)配置/ 429
A.3 安裝Kubernetes 集群/ 430
A.3.1 安裝前的準備/ 430
A.3.2 安裝配置/ 430
A.4 Harbor 的安裝部署/ 434
A.4.1 下載Harbor 離線安裝包/ 434
A.4.2 安裝Docker / 435
A.4.3 安裝Docker Compose / 435
A.4.4 Harbor 的安裝與配置/ 435
A.4.5 客戶端訪問Harbor 倉庫/ 436
A.5 采用Jenkins Pipeline 實現(xiàn)自動構(gòu)建并部署至k8s / 438
A.5.1 部署Jenkins / 438
A.5.2 新建Spring Boot Java工程/440
A.5.3 配置Jenkins Pipeline任務(wù)/ 444
A.5.4 測試Pipeline 任務(wù)/ 446
A.5.5 遇到的問題及解決方法/ 449
附錄B 敏捷實踐發(fā)展史/ 451
附錄C 后敏捷時代暨DevOps發(fā)展史/ 461
附錄D 中國敏捷測試大事記/ 463
參考文獻/ 465