注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)構(gòu)建高質(zhì)量軟件:持續(xù)集成與持續(xù)交付系統(tǒng)實(shí)踐

構(gòu)建高質(zhì)量軟件:持續(xù)集成與持續(xù)交付系統(tǒng)實(shí)踐

構(gòu)建高質(zhì)量軟件:持續(xù)集成與持續(xù)交付系統(tǒng)實(shí)踐

定 價(jià):¥99.00

作 者: 心藍(lán)(汪文君)
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111690207 出版時(shí)間: 2021-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 364 字?jǐn)?shù):  

內(nèi)容簡介

  本書共10 章,分為四大部分。部分(第1~4 章)主要圍繞如何提高軟件的開發(fā)質(zhì)量和效率展開,詳細(xì)講述了單元測試的常用工具和實(shí)踐,并展開闡述了持續(xù)集成、持續(xù)交付、持續(xù)部署等概念;第二部分(第5~6 章)詳細(xì)講解兩個(gè)常用的mock 工具——Mockito 和Powermock,通過實(shí)例詳盡地講解了它們的語法規(guī)則和使用場景,目的是讓開發(fā)者在不修改軟件源代碼和程序結(jié)構(gòu)的前提下盡可能確保軟件具備可測試性;第三部分(第7~8 章)詳細(xì)講述兩個(gè)行為驅(qū)動(dòng)開發(fā)工具(功能測試)Concordion 和Cucumber,這兩個(gè)工具可以幫助我們很好地完成功能測試、驗(yàn)收測試、回歸測試等工作;第四部分(第9~10 章)綜合前面三部分的知識(shí)點(diǎn),并引入代碼風(fēng)格檢查、靜態(tài)代碼分析、第三方依賴安全性檢查、企業(yè)內(nèi)部私服的原理和搭建、Ansible 自動(dòng)化軟件部署工具、Jenkins Pipeline 等知識(shí),幫助讀者構(gòu)建完整的CI/CD 流程。

作者簡介

  心藍(lán),某外資零售銀行電子渠道高級(jí)開發(fā)總監(jiān)、技術(shù)專家,有超過十年的系統(tǒng)設(shè)計(jì)、一線開發(fā)經(jīng)驗(yàn)。對(duì)團(tuán)隊(duì)管理、項(xiàng)目管理有自己獨(dú)到的見解。擁有多年的移動(dòng)網(wǎng)關(guān)通訊研發(fā)經(jīng)驗(yàn),以及移動(dòng)互聯(lián)網(wǎng)開發(fā)與產(chǎn)品運(yùn)營、云計(jì)算、B2C電子商務(wù)平臺(tái)開發(fā)經(jīng)驗(yàn),熱衷于技術(shù)分享,目前已錄制20余套技術(shù)視頻,在互聯(lián)網(wǎng)上廣泛傳播。所著圖書包括《Java高并發(fā)編程詳解:多線程與架構(gòu)設(shè)計(jì)》、《Java高并發(fā)編程詳解:深入理解并發(fā)核心庫》等。

圖書目錄

【部分 提高軟件的開發(fā)質(zhì)量及開發(fā)效率】
 
第1章 單元測試與TDD3
1.1 單元測試的定義3
1.2 單元測試的好處5
1.3 單元測試的FIRST原則6
1.4 JUnit實(shí)踐10
1.5 測試驅(qū)動(dòng)開發(fā)14
1.5.1 紅–綠–重構(gòu)15
1.5.2 TDD工作流程16
1.5.3 TDD實(shí)踐17
1.6 本章總結(jié)26
 
第2章 Hamcrest:優(yōu)雅強(qiáng)大的對(duì)象匹配器27
2.1 Hamcrest概述27
2.2 Hamcrest對(duì)象匹配器詳解34
2.2.1 org.hamcrest.core34
2.2.2 org.hamcrest.beans37
2.2.3 org.hamcrest.collection38
2.2.4 org.hamcrest.number41
2.2.5 org.hamcrest.text42
2.2.6 org.hamcrest.xml43
2.3 自定義對(duì)象匹配器44
2.4 REST-Assured的使用47
2.5 本章總結(jié)51
 
第3章 Git及Git工作流程52
3.1 快速上手Git53
3.2 文件狀態(tài)生命周期及Git中的對(duì)象56
3.2.1 文件狀態(tài)生命周期56
3.2.2 Git中的對(duì)象59
3.3 Git與本地倉庫64
3.3.1 add與commit命令64
3.3.2 log命令65
3.3.3 diff與blame命令65
3.3.4 Git的分支及操作66
3.3.5 stash命令69
3.3.6 reset命令70
3.3.7 標(biāo)簽的操作73
3.3.8 “.gitignore”文件的規(guī)則74
3.4 Git與遠(yuǎn)程倉庫75
3.4.1 遠(yuǎn)程倉庫的管理76
3.4.2 遠(yuǎn)程倉庫的操作77
3.4.3 本地倉庫與遠(yuǎn)程倉庫的其他協(xié)同操作78
3.5 Git的配置和別名操作81
3.5.1 Git的基本配置81
3.5.2 Git的別名82
3.6 Git工作流程82
3.7 本章總結(jié)85
 
第4章 持續(xù)集成與持續(xù)交付86
4.1 什么是持續(xù)集成87
4.2 什么是持續(xù)交付89
4.3 什么是持續(xù)部署91
4.4 本章總結(jié)94
 
【第二部分 mock:構(gòu)造測試對(duì)象的替身】
 
第5章 Mockito:熱門的mock工具97
5.1 mock技術(shù)97
5.2 快速上手Mockito98
5.2.1 引入Mockito98
5.2.2 測試用戶登錄99
5.3 創(chuàng)建mock“替身”對(duì)象實(shí)例104
5.3.1 四種mock方式104
5.3.2 深度mock108
5.4 Stubbing語法詳解111
5.4.1 when...thenReturn和doReturn...when語法111
5.4.2 doNothing...when語法112
5.4.3 when...thenThrow和doThrow...when語法115
5.4.4 when...thenAnswer和doAnswer...when語法117
5.4.5 多值返回的Stubbing語法117
5.4.6 級(jí)聯(lián)風(fēng)格的Stubbing語法118
5.4.7 when...thenCallRealMethod和doCallRealMethod...when語法119
5.5 Spying詳解120
5.6 Argument對(duì)象匹配器詳解123
5.6.1 Argument對(duì)象匹配器在Stubbing語法中的使用123
5.6.2 自定義Argument對(duì)象匹配器125
5.6.3 集成Hamcrest中的對(duì)象匹配器126
5.7 Mockito Verify與ArgumentsCaptor127
5.7.1 Mockito Verify操作127
5.7.2 VerificationMode詳解130
5.7.3 ArgumentCaptor與@Captor132
5.8 InjectMocks134
5.9 Mockito對(duì)BDD風(fēng)格的支持135
5.10 Mockito Inline136
5.11 本章總結(jié)138
 
第6章 Powermock詳解140
6.1 快速入門Powermock141
6.1.1 為什么需要Powermock141
6.1.2 搭建Powermock環(huán)境141
6.1.3 Powermock入門143
6.2 Powermock如何通過mock操作局部變量145
6.3 Powermock如何通過mock操作靜態(tài)方法148
6.4 Powermock如何通過mock操作final修飾的類151
6.5 Powermock如何通過mock操作私有方法152
6.6 Powermock中的Spying154
6.7 Powermock與JaCoCo155
6.8 本章總結(jié)160
 
【第三部分 行為驅(qū)動(dòng)開發(fā)】
 
第7章 Concordion:測試即文檔163
7.1 Concordion的開發(fā)流程164
7.2 搭建Concordion環(huán)境174
7.2.1 搭建Concordion基礎(chǔ)環(huán)境174
7.2.2 Concordion與Maven進(jìn)行集成176
7.3 Concordion的指令詳解178
7.4 在Specification文檔中處理Java返回的結(jié)果183
7.4.1 簡單的數(shù)據(jù)類型183
7.4.2 復(fù)雜的數(shù)據(jù)類型188
7.5 table和list中的指令191
7.5.1 使用table標(biāo)簽批量執(zhí)行測試用例191
7.5.2 使用list標(biāo)簽批量執(zhí)行測試用例193
7.6 拾遺補(bǔ)漏194
7.7 本章總結(jié)196
 
第8章 Cucumber:熱門的行為驅(qū)動(dòng)開發(fā)工具197
8.1 Cucumber簡介198
8.1.1 快速上手Cucumber199
8.1.2 Cucumber與IntelliJ IDEA集成204
8.1.3 Cucumber的執(zhí)行流程207
8.2 Feature文檔的語法基礎(chǔ):Gherkin208
8.2.1 什么是Gherkin209
8.2.2 Gherkin語法基礎(chǔ)209
8.2.3 Gherkin中的注釋212
8.2.4 Gherkin對(duì)其他語系的支持213
8.3 Step Definitions詳解214
8.3.1 步驟的匹配215
8.3.2 通過正則表達(dá)式捕獲參數(shù)217
8.3.3 通過Cucumber表達(dá)式捕獲參數(shù)220
8.3.4 使用Java 8 Lambda表達(dá)式定義步驟方法223
8.3.5 Step Definitions的常見問題225
8.3.6 Cucumber中Step的執(zhí)行過程227
8.4 Cucumber進(jìn)階228
8.4.1 Background關(guān)鍵字228
8.4.2 Data Table229
8.4.3 Scenario Outline關(guān)鍵字233
8.4.4 Doc String 235
8.4.5 Tagging & Hooks236
8.5 CucumberOptions239
8.6 Cucumber整合Selenium進(jìn)行Web自動(dòng)化測試241
8.7 Cucumber功能測試報(bào)告246
8.8 本章總結(jié)248
 
【第四部分 遇見Jenkins】
 
第9章 Jenkins的基礎(chǔ)知識(shí)253
9.1 Jenkins的安裝及快速構(gòu)建Job253
9.1.1 Jenkins的安裝253
9.1.2 Jenkins Job的快速構(gòu)建258
9.2 配置Jenkins261
9.2.1 Jenkins的基本配置261
9.2.2 為Jenkins配置集群節(jié)點(diǎn)264
9.2.3 Jenkins插件管理268
9.2.4 基于Role Strategy配置權(quán)限270
9.2.5 構(gòu)建Maven項(xiàng)目類型的Job272
9.3 Jenkins參數(shù)化及可視化構(gòu)建274
9.3.1 參數(shù)化構(gòu)建275
9.3.2 可視化構(gòu)建280
9.4 Jenkins構(gòu)建Pipeline Job282
9.4.1 Groovy Pipeline Script282
9.4.2 Jenkinsfile285
9.4.3 Blue Ocean286
9.5 本章總結(jié)288
 
第10章 基于Jenkins構(gòu)建持續(xù)集成與持續(xù)交付290
10.1 Spring Boot開發(fā)RESTful應(yīng)用291
10.1.1 搭建Spring Boot環(huán)境291
10.1.2 代碼檢查與分析295
10.1.3 基于測試驅(qū)動(dòng)開發(fā)完成應(yīng)用程序開發(fā)303
10.1.4 使用Cucumber開發(fā)自動(dòng)化功能測試程序311
10.2 Nexus私服317
10.2.1 搭建Nexus私服318
10.2.2 私服倉庫配置319
10.3 RedHat Ansible326
10.3.1 Ansible的安裝326
10.3.2 Ad-hoc及Playbook簡介330
10.3.3 Ansible模板引擎jinjia2333
10.3.4 通過Playbook逐步完成軟件自動(dòng)化部署335
10.4 創(chuàng)建Jenkins Pipeline343
10.4.1 創(chuàng)建CI/CD Jenkins Pipeline Job343
10.4.2 GitHub WebHook自動(dòng)觸發(fā)Jenkins Job348
10.5 本章總結(jié)351

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)