幫助中心 | 我的帳號 | 關於我們

構建高質量軟體(持續集成與持續交付系統實踐)

  • 作者:心藍|責編:楊?國
  • 出版社:機械工業
  • ISBN:9787111690207
  • 出版日期:2021/09/01
  • 裝幀:平裝
  • 頁數:351
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    隨著DevOps的火熱,快速發布與交付軟體甚至隨時發布與交付已經成為度量軟體執行力的重要指標。但是,快速發布與交付的前提是軟體足夠健壯,開發人員開發的每一行代碼均可測試,可快速進行錯誤重現、定位並解決問題,且能以較低的成本進行回歸測試。這是一本從開發人員視角來介紹如何交付高質量軟體產品的書,書中採用理論與實踐相結合的方式講述了持續集成、持續交付、持續部署三大開發實踐的生命周期,以及它們彼此的關係,裡面包含豐富的實戰案例、各類工具的使用技巧。
    全書共10章,分為四大部分。
    第一部分(第1?4章)主要圍繞如何提高軟體的開發質量和效率展開,詳細講述了單元測試的常用工具和最佳實踐,並展開闡述了持續集成、持續交付、持續部署等概念。
    第二部分(第5?6章)詳細講解了兩個常用的mock工具——Mockito和Powermock,通過實例詳盡地講解了它們的語法規則和使用場景,目的是讓開發者在不修改軟體源代碼和程序結構的前提下盡可能確保軟體具備可測試性。
    第三部分(第7?8章)詳細講述了兩個行為驅動開發工具(功能測試)Concordion和Cucumber,這兩個工具可以幫助我們很好地完成功能測試、驗收測試、回歸測試等工作。
    第四部分(第9?10章)綜合前面三部分的知識點,並引入代碼風格檢查、靜態代碼分析、第三方依賴安全性檢查、企業內部私服的原理和搭建、Ansible自動化軟體部署工具、Jenkins Pipeline等知識,幫助讀者構建完整的CI/CD流程。

作者介紹
心藍|責編:楊?國
    心藍,某外資零售銀行電子渠道高級開發總監、技術專家,有超過十年的系統設計、開發經驗,對團隊管理、項目管理有自己獨到的見解。擁有多年移動網關通信研發,以及移動互聯網開發與產品運營、雲計算、B2C電子商務平台開發經驗,熱衷於技術分享,錄製的20余套技術視頻在互聯網上廣泛傳播。所著圖書包括《Java高併發編程詳解:多線程與架構設計》《Java高併發編程詳解:深入理解併發核心庫》等。

目錄
第一部分  提高軟體的開發質量及開發效率
  第1章  單元測試與TDD
    1.1  單元測試的定義
    1.2  單元測試的好處
    1.3  單元測試的FIRST原則
    1.4  JUnit實踐
    1.5  測試驅動開發
      1.5.1  紅-綠-重構
      1.5.2  TDD工作流程
      1.5.3  TDD實踐
    1.6  本章總結
  第2章  Hamcrest:優雅強大的對象匹配器
    2.1  Hamcrest概述
    2.2  Hamcrest對象匹配器詳解
      2.2.1  org.hamcrest.core
      2.2.2  org.hamcrest.beans
      2.2.3  org.hamcrest.collection
      2.2.4  org.hamcrest.number
      2.2.5  org.hamcrest.text
      2.2.6  org.hamcrest.xml
    2.3  自定義對象匹配器
    2.4  REST-Assured的使用
    2.5  本章總結
  第3章  Git及Git工作流程
    3.1  快速上手Git
    3.2  文件狀態生命周期及Git中的對象
      3.2.1  文件狀態生命周期
      3.2.2  Git中的對象
    3.3  Git與本地倉庫
      3.3.1  add與commit命令
      3.3.2  log命令
      3.3.3  diff與blame命令
      3.3.4  Git的分支及操作
      3.3.5  stash命令
      3.3.6  reset命令
      3.3.7  標籤的操作
      3.3.8  「.gitignore」文件的規則
    3.4  Git與遠程倉庫
      3.4.1  遠程倉庫的管理
      3.4.2  遠程倉庫的操作
      3.4.3  本地倉庫與遠程倉庫的其他協同操作
    3.5  Git的配置和別名操作
      3.5.1  Git的基本配置
      3.5.2  Git的別名
    3.6  Git工作流程
    3.7  本章總結
  第4章  持續集成與持續交付
    4.1  什麼是持續集成
    4.2  什麼是持續交付
    4.3  什麼是持續部署

    4.4  本章總結
第二部分  mock:構造測試對象的替身
  第5章  Mockito:熱門的mock工具
    5.1  mock技術
    5.2  快速上手Mockito
      5.2.1  引入Mockito
      5.2.2  測試用戶登錄
    5.3  創建mock「替身」對象實例
      5.3.1  四種mock方式
      5.3.2  深度mock
    5.4  Stubbing語法詳解
      5.4.1  when…thenReturn和doReturn…when語法
      5.4.2  doNothing…when語法
      5.4.3  when…thenThrow和doThrow…when語法
      5.4.4  when…thenAnswer和doAnswer…when語法
      5.4.5  多值返回的Stubbing語法
      5.4.6  級聯風格的Stubbing語法
      5.4.7  when…thenCallRealMethod和doCallRealMethod…when語法
    5.5  Spying詳解
    5.6  Argument對象匹配器詳解
      5.6.1  Argument對象匹配器在Stubbing語法中的使用
      5.6.2  自定義Argument對象匹配器
      5.6.3  集成Hamcrest中的對象匹配器
    5.7  Mockito Verify與Arguments Captor
      5.7.1  Mockito Verify操作
      5.7.2  VerificationMode詳解
      5.7.3  ArgumentCaptor與@Captor
    5.8  InjectMocks
    5.9  Mockito對BDD風格的支持
    5.10  Mockito Inline
    5.11  本章總結
  第6章  Powermock詳解
    6.1  快速入門Powermock
      6.1.1  為什麼需要Powermock
      6.1.2  搭建Powermock環境
      6.1.3  Powermock入門
    6.2  Powermock如何通過mock操作局部變數
    6.3  Powermock如何通過mock操作靜態方法
    6.4  Powermock如何通過mock操作final修飾的類
    6.5  Powermock如何通過mock操作私有方法
    6.6  Powermock中的Spying
    6.7  Powermock與JaCoCo
    6.8  本章總結
第三部分  行為驅動開發
  第7章  Concordion:測試即文檔
    7.1  Concordion的開發流程
    7.2  搭建Concordion環境
      7.2.1  搭建Concordion基礎環境
      7.2.2  Concordion與Maven進行集成
    7.3  Concordion的指令詳解

    7.4  在Specification文檔中處理Java返回的結果
      7.4.1  簡單的數據類型
      7.4.2  複雜的數據類型
    7.5  table和list中的指令
      7.5.1  使用table標籤批量執行測試用例
      7.5.2  使用list標籤批量執行測試用例
    7.6  拾遺補漏
    7.7  本章總結
  第8章  Cucumber:熱門的行為驅動開發工具
    8.1  Cucumber簡介
      8.1.1  快速上手Cucumber
      8.1.2  Cucumber與IntelliJ IDEA集成
      8.1.3  Cucumber的執行流程
    8.2  Feature文檔的語法基礎:Gherkin
      8.2.1  什麼是Gherkin
      8.2.2  Gherkin語法基礎
      8.2.3  Gherkin中的註釋
      8.2.4  Gherkin對其他語系的支持
    8.3  Step Definitions詳解
      8.3.1  步驟的匹配
      8.3.2  通過正則表達式捕獲參數
      8.3.3  通過Cucumber表達式捕獲參數
      8.3.4  使用Java 8 Lambda表達式定義步驟方法
      8.3.5  Step Definitions的常見問題
      8.3.6  Cucumber中Step的執行過程
    8.4  Cucumber進階
      8.4.1  Background關鍵字
      8.4.2  Data Table
      8.4.3  Scenario Outline關鍵字
      8.4.4  Doc String
      8.4.5  Tagging & Hooks
    8.5  CucumberOptions
    8.6  Cucumber整合Selenium進行Web自動化測試
    8.7  Cucumber功能測試報告
    8.8  本章總結
第四部分  遇見Jenkins
  第9章  Jenkins的基礎知識
    9.1  Jenkins的安裝及快速構建Job
      9.1.1  Jenkins的安裝
      9.1.2  JenkinsJob的快速構建
    9.2  配置Jenkins
      9.2.1  Jenkins的基本配置
      9.2.2  為Jenkins配置集群節點
      9.2.3  Jenkins插件管理
      9.2.4  基於Role Strategy配置許可權
      9.2.5  構建Maven項目類型的Job
    9.3  Jenkins參數化及可視化構建
      9.3.1  參數化構建
      9.3.2  可視化構建
    9.4  Jenkins構建Pipeline Job

      9.4.1  GroovyPipeline Script
      9.4.2  Jenkinsfile
      9.4.3  Blue Ocean
    9.5  本章總結
  第10章  基於Jenkins構建持續集成與持續交付
    10.1  Spring Boot開發RESTful應用
      10.1.1  搭建Spring Boot環境
      10.1.2  代碼檢查與分析
      10.1.3  基於測試驅動開發完成應用程序開發
      10.1.4  使用Cucumber開發自動化功能測試程序
    10.2  Nexus私服
      10.2.1  搭建Nexus私服
      10.2.2  私服倉庫配置
    10.3  RedHat Ansible
      10.3.1  Ansible的安裝
      10.3.2  Ad-hoc及Playbook簡介
      10.3.3  Ansible模板引擎jinjia2
      10.3.4  通過Playbook逐步完成軟體自動化部署
    10.4  創建Jenkins Pipeline
      10.4.1  創建CI/CD Jenkins Pipeline Job
      10.4.2  GitHub WebHook自動觸發Jenkins Job
    10.5  本章總結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032