本書(shū)主要介紹敏捷測(cè)試的流程方法及技術(shù)實(shí)踐過(guò)程。本書(shū)以當(dāng)下主流的敏捷體系實(shí)踐為藍(lán)本,從用戶故事地圖開(kāi)始逐步梳理迭代過(guò)程、構(gòu)建迭代交付計(jì)劃,為研發(fā)域構(gòu)建持續(xù)集成和持續(xù)發(fā)布流水線,從而進(jìn)行特性分支開(kāi)發(fā),進(jìn)一步完成主流微服務(wù)架構(gòu)代碼編寫(xiě)及分層自動(dòng)化體系構(gòu)建,配套基于容器化的管理維護(hù)體系,最終完成整個(gè)交付生存周期的知識(shí)體系梳理。本書(shū)可讓讀者清晰、完整地了解整個(gè)敏捷測(cè)試流程下的端到端過(guò)程,從而拓展眼界,逐步提升測(cè)試意識(shí)及能力,達(dá)到敏捷測(cè)試所需要的技術(shù)全棧要求。
本書(shū)適合測(cè)試人員、測(cè)試管理人員、程序員學(xué)習(xí),還可作為高等院校相關(guān)專(zhuān)業(yè)師生的學(xué)習(xí)用書(shū)和培訓(xùn)學(xué)校的教材。
1.業(yè)界大咖朱少民、茹炳晟等聯(lián)袂推薦的測(cè)試專(zhuān)家云層的ZUI新力作;
2.全面講解微服務(wù)和敏捷模式下的軟件測(cè)試知識(shí),知識(shí)系統(tǒng),逐層推進(jìn);
3.從理論到實(shí)踐,全面闡述構(gòu)建敏捷測(cè)試的技術(shù);
4.分享一線敏捷、測(cè)試、研發(fā)、運(yùn)維測(cè)試專(zhuān)家的實(shí)戰(zhàn)知識(shí),涵蓋一線客戶交付實(shí)戰(zhàn);
5.覆蓋敏捷測(cè)試的全面技術(shù),從版本控制利器Git/Github/GitLab、持續(xù)集成工具Jenkins、容器 Docker CE/DockerRegistry、Kubernetes等搭建與使用,一直擴(kuò)展到微服務(wù)、大數(shù)據(jù)的測(cè)試。幫助讀者實(shí)戰(zhàn)落地和測(cè)試轉(zhuǎn)型;
6.提供完整代碼及容器化技術(shù)。
陳霽,DevOps、敏捷測(cè)試資深專(zhuān)家,騰訊課堂認(rèn)證講師、EXIN認(rèn)證DevOps講師、華為云MVP、阿里云MVP、阿里巴巴研發(fā)效能事業(yè)部認(rèn)證解決方案架構(gòu)師,《測(cè)試敏捷化白皮書(shū)》項(xiàng)目經(jīng)理,PMI-ACP、EXIN DOM/ASM、SAFe5 Agilist證書(shū)獲得者,TMMI會(huì)員。
陸怡頤,美國(guó)質(zhì)量學(xué)會(huì)認(rèn)證的質(zhì)量工程師、項(xiàng)目管理與質(zhì)量管理專(zhuān)家,CSTQB認(rèn)證講師。曾供職于中國(guó)航天研究所軟件檢測(cè)站、華為、中國(guó)平安等多家知名企業(yè)。
王朝陽(yáng),Oracle ACE、阿里云MVP、Oracle年輕專(zhuān)家。就職于海通證券股份有限公司,主要負(fù)責(zé)云計(jì)算、容器化、數(shù)據(jù)庫(kù)、存儲(chǔ)和SDN等方面的工作。具有10多年的工作經(jīng)驗(yàn),熱衷于分享技術(shù)心得和最佳實(shí)踐,先后在許多技術(shù)峰會(huì)上做過(guò)主題分享。
傅江如,大數(shù)據(jù)架構(gòu)師及數(shù)據(jù)分析專(zhuān)家、項(xiàng)目管理與質(zhì)量管理專(zhuān)家,PMP、CMMI評(píng)估師、FRM證書(shū)獲得者,ISO27001&9001內(nèi)審員,CSTQB金融組組員等。目前就職于申萬(wàn)宏源證券有限公司,負(fù)責(zé)大數(shù)據(jù)平臺(tái)架構(gòu)和數(shù)據(jù)服務(wù)提供工作。
目錄
第 1章 敏捷測(cè)試?yán)砟睢?
1.1 敏捷的價(jià)值 2
1.1.1 VUCA的行業(yè)背景 2
1.1.2 敏捷的核心價(jià)值觀 2
1.2 DevOps解決問(wèn)題更快 3
1.2.1 團(tuán)隊(duì)組織的變化 3
1.2.2 流水線對(duì)測(cè)試的依賴 4
1.2.3 為系統(tǒng)制造問(wèn)題 5
1.3 測(cè)試與行業(yè)發(fā)展 5
1.3.1 有效自動(dòng)化 6
1.3.2 測(cè)試運(yùn)維的興起 6
1.3.3 測(cè)試的三大階段 7
1.4 測(cè)試敏捷化之路 8
1.4.1 敏捷測(cè)試 8
1.4.2 測(cè)試敏捷化 10
第 2章 敏捷測(cè)試的相關(guān)體系 11
2.1 從UserStory開(kāi)始 12
2.1.1 UserStory定性 12
2.1.2 UserStory編寫(xiě)格式 13
2.1.3 基本的格式模板 13
2.1.4 進(jìn)階的基本格式模板 13
2.1.5 高級(jí)格式模板 14
2.1.6 UserStory中的優(yōu)先級(jí)與
故事點(diǎn)數(shù) 15
2.1.7 UserStory實(shí)例化、驗(yàn)收
標(biāo)準(zhǔn)與完成定義 15
2.1.8 驗(yàn)收標(biāo)準(zhǔn) 16
2.1.9 完成定義 16
2.1.10 UserStory骨干、地圖和
迭代規(guī)劃 17
2.2 看板看出名堂 19
2.3 Scrum的流程 22
2.4 DevOps帶來(lái)的價(jià)值流 24
2.5 從敏捷測(cè)試到測(cè)試敏捷化 25
第3章 敏捷用戶故事實(shí)戰(zhàn) 26
3.1 引言 27
3.2 用戶故事背景 27
3.2.1 規(guī)劃角色 27
3.2.2 羅列用戶故事 28
3.2.3 評(píng)估用戶故事優(yōu)先級(jí) 29
3.2.4 評(píng)估用戶故事大小 31
3.2.5 用戶故事地圖 33
3.2.6 用戶故事迭代計(jì)劃 33
3.3 用戶故事范例 34
第4章 版本控制利器——Git 35
4.1 為何要版本控制 36
4.2 版本控制的演進(jìn)歷史 36
4.2.1 本地版本控制 36
4.2.2 集中化版本控制 37
4.2.3 分布式版本控制 38
4.3 Git的基本概念 39
4.3.1 Git的3個(gè)工作區(qū)域 39
4.3.2 本地、遠(yuǎn)程以及Origin 41
4.4 Git的安裝 41
4.5 開(kāi)啟Git協(xié)議 41
4.6 Git命令簡(jiǎn)介 43
第5章 GitHub入門(mén) 46
5.1 初識(shí)GitHub 47
5.2 賬號(hào)安全 48
5.3 Repository(倉(cāng)庫(kù)) 49
5.4 事務(wù)管理 52
5.4.1 Assignees(指派人) 53
5.4.2 Labels(標(biāo)簽) 54
5.4.3 Projects(項(xiàng)目) 54
5.4.4 Milestone(里程碑) 56
5.5 豐富的項(xiàng)目文檔——Wiki 56
5.6 Pull Request 57
5.7 Fork功能 59
5.8 代碼分享功能——Gist 60
5.9 GitHub CI/CD 61
5.9.1 準(zhǔn)備代碼 61
5.9.2 編寫(xiě)GitHub CI/CD腳本 64
5.9.3 運(yùn)行工作流 66
第6章 微服務(wù) 67
6.1 為什么要微服務(wù) 68
6.2 微服務(wù)架構(gòu) 68
6.3 微服務(wù)實(shí)例 69
6.3.1 Spring Cloud簡(jiǎn)介 69
6.3.2 快速構(gòu)建Spring Cloud
項(xiàng)目 70
6.3.3 Spring Cloud演示項(xiàng)目的
實(shí)現(xiàn) 77
6.3.4 驗(yàn)證微服務(wù) 99
6.4 API管理 103
第7章 GitLab 106
7.1 GitLab的安裝 107
7.1.1 硬件要求 107
7.1.2 操作系統(tǒng) 108
7.1.3 綜合安裝包安裝 109
7.2 GitLab的配置與啟動(dòng) 111
7.2.1 修改GitLab服務(wù)端口 111
7.2.2 啟動(dòng)與停止服務(wù) 112
7.3 GitLab的使用 112
7.3.1 系統(tǒng)管理 112
7.3.2 GitLab基本使用 116
7.3.3 運(yùn)行器(Runner) 116
7.4 CI/CD 118
7.4.1 GitLab-CI基本用法 118
7.4.2 CI/CD實(shí)戰(zhàn) 124
第8章 Jenkins 135
8.1 Jenkins的持續(xù)集成 136
8.2 什么是Jenkins Pipeline 136
8.3 Jenkins Pipeline實(shí)戰(zhàn) 136
8.3.1 安裝Jenkins 136
8.3.2 定義CI/CD流程 137
8.3.3 多分支Pipeline任務(wù) 137
8.3.4 Pipeline任務(wù)進(jìn)階 142
8.4 API自動(dòng)化測(cè)試 154
8.5 基于敏捷模式的開(kāi)發(fā)實(shí)踐 162
8.5.1 一切從Story開(kāi)始 162
8.5.2 和諧的結(jié)對(duì)編程與TDD 163
8.5.3 特性分支合入 174
8.5.4 提交測(cè)試分支 175
第9章 容器概述 176
9.1 容器技術(shù)棧介紹 177
9.1.1 容器核心技術(shù) 177
9.1.2 容器平臺(tái)技術(shù) 178
9.1.3 容器支持技術(shù) 179
9.2 為什么使用容器 179
9.2.1 容器與虛擬機(jī)技術(shù) 179
9.2.2 容器的優(yōu)點(diǎn) 180
9.2.3 容器的業(yè)務(wù)價(jià)值 180
9.3 Docker簡(jiǎn)介 181
9.3.1 Docker平臺(tái) 181
9.3.2 Docker引擎 181
9.3.3 Docker架構(gòu) 182
9.3.4 Docker使用的底層
技術(shù) 185
第 10章 安裝Docker CE 186
10.1 實(shí)驗(yàn)環(huán)境介紹 187
10.1.1 服務(wù)器信息 187
10.1.2 基本配置 187
10.2 Docker版本概覽 188
10.3 單主機(jī)安裝Docker CE 188
10.3.1 卸載舊版本(推薦全新
環(huán)境安裝) 189
10.3.2 使用YUM安裝
Docker 189
10.3.3 使用RPM包安裝
Docker 190
10.3.4 卸載Docker CE 192
10.4 多主機(jī)安裝Docker CE 192
10.4.1 使用Docker Machine批量
安裝Docker主機(jī) 193
10.4.2 卸載Docker Machine 197
10.4.3 使用Ansible批量安裝
Docker主機(jī) 197
10.5 查閱Docker幫助文檔 201
10.5.1 在線查閱文檔 201
10.5.2 離線查閱文檔 202
第 11章 搭建私有Docker Registry 204
11.1 Docker Hub簡(jiǎn)介 205
11.2 搭建私有鏡像倉(cāng)庫(kù) 205
11.3 鏡像打標(biāo)簽的最佳實(shí)踐 209
第 12章 Kubernetes概述 210
12.1 Kubernetes架構(gòu)簡(jiǎn)介 211
12.1.1 Master節(jié)點(diǎn) 211
12.1.2 Worker節(jié)點(diǎn) 213
12.1.3 插件 213
12.2 Kubernetes的高可用集群方案
介紹 214
12.2.1 堆疊etcd拓?fù)洹?14
12.2.2 外部etcd拓?fù)洹?15
第 13章 使用kubeadm搭建Kubernetes
v1.13.2單主節(jié)點(diǎn)集群 216
13.1 實(shí)驗(yàn)環(huán)境介紹 217
13.1.1 服務(wù)器信息 217
13.1.2 基本的配置 217
13.2 安裝Docker CE 219
13.2.1 解壓縮安裝包 219
13.2.2 RPM包方式安裝
Docker CE 220
13.2.3 啟動(dòng)服務(wù),并檢查服務(wù)
狀態(tài) 221
13.3 安裝Kubernetes組件 221
13.3.1 解壓縮安裝包 221
13.3.2 安裝kubeadm、kubectl、
kubelet軟件包 222
13.3.3 準(zhǔn)備Docker鏡像 222
13.4 初始化主節(jié)點(diǎn) 224
13.4.1 設(shè)置主節(jié)點(diǎn)相關(guān)配置 224
13.4.2 初始化的過(guò)程 226
13.5 安裝Pod網(wǎng)絡(luò)插件 227
13.5.1 檢查Pod的狀態(tài) 227
13.5.2 安裝插件 227
13.6 注冊(cè)新節(jié)點(diǎn)到集群 228
13.6.1 導(dǎo)入所需鏡像 229
13.6.2 配置新節(jié)點(diǎn) 229
13.6.3 注冊(cè)新節(jié)點(diǎn) 230
13.6.4 檢查Pod和節(jié)點(diǎn)的
狀態(tài) 230
13.7 安裝可視化圖形界面
(可選) 231
第 14章 初探大數(shù)據(jù) 233
14.1 無(wú)處不在的大數(shù)據(jù) 234
14.2 大數(shù)據(jù)特征 235
14.2.1 數(shù)據(jù)量 236
14.2.2 速度 237
14.2.3 多樣性 237
14.2.4 價(jià)值 238
14.3 Hadoop生態(tài)系統(tǒng) 239
14.3.1 Hadoop技術(shù)概覽 239
14.3.2 HDFS 241
14.3.3 YARN 242
14.3.4 Spark 244
14.3.5 SQL解決方案 244
14.3.6 對(duì)流數(shù)據(jù)的處理 246
14.3.7 NoSQL型數(shù)據(jù)庫(kù) 251
14.3.8 任務(wù)調(diào)度 252
14.3.9 協(xié)調(diào)和管理 253
14.3.10 ETL工具 255
14.3.11 寫(xiě)給測(cè)試人員的話 257
第 15章 大數(shù)據(jù)測(cè)試探索 258
15.1 從用戶故事開(kāi)始 259
15.2 大數(shù)據(jù)系統(tǒng)設(shè)計(jì) 260
15.3 搭建Hadoop系統(tǒng) 261
15.3.1 安裝CentOS虛擬機(jī) 261
15.3.2 安裝JDK 262
15.3.3 配置SSH免密登錄 263
15.3.4 安裝Hadoop系統(tǒng) 263
15.3.5 開(kāi)通虛擬機(jī)防火墻
端口 266
15.4 安裝Hive組件 268
15.4.1 安裝MySQL 268
15.4.2 安裝Hive組件 270
15.5 平臺(tái)架構(gòu)測(cè)試 274
15.5.1 可靠性測(cè)試 274
15.5.2 性能測(cè)試 276
15.6 業(yè)務(wù)應(yīng)用測(cè)試 278
15.6.1 數(shù)據(jù)ETL測(cè)試 279
15.6.2 業(yè)務(wù)邏輯測(cè)試 283
15.6.3 應(yīng)用性能測(cè)試 287