- 構(gòu)建高質(zhì)量軟件:持續(xù)集成與持續(xù)交付系統(tǒng)實(shí)踐
- 心藍(lán)
- 739字
- 2021-10-09 14:32:56
第一部分
提高軟件的開發(fā)質(zhì)量及開發(fā)效率
- 第1章 單元測(cè)試與TDD
- 第2章 Hamcrest:優(yōu)雅強(qiáng)大的對(duì)象匹配器
- 第3章 Git及Git工作流程
- 第4章 持續(xù)集成與持續(xù)交付
第一部分共包含四章,第1章主要介紹什么是單元測(cè)試,什么是測(cè)試驅(qū)動(dòng)開發(fā)(Test Driven Development,TDD)。如果說(shuō)單元測(cè)試是一種技術(shù)(我們可以借助于很多工具或框架,完成對(duì)函數(shù)級(jí)別或代碼片段級(jí)別的測(cè)試和驗(yàn)證工作),那么TDD則是一種方法論和開發(fā)模式。本書不會(huì)具體講解單元測(cè)試技術(shù)(比如JUnit)的使用方法,但是會(huì)非常詳細(xì)地講解mock技術(shù)(本書的第二部分會(huì)有詳細(xì)講解)。
第2章將詳細(xì)講解Hamcrest,Hamcrest可以理解為一個(gè)靈活的、強(qiáng)大的期望值和實(shí)際值的匹配(Matcher)庫(kù),Hamcrest與JUnit、Mockito和Powermock等都可以進(jìn)行很好的集成。通過assertThat方法,再結(jié)合Hamcrest提供的對(duì)象匹配庫(kù),我們完全可以摒棄JUnit自帶的各種斷言工具和方法,達(dá)到與之一樣的斷言效果,甚至功能更為強(qiáng)大,且容易擴(kuò)展,優(yōu)雅易讀。
第3章主要介紹Git這一分布式版本控制系統(tǒng)(Version Control System,VCS)的使用方法,如果一個(gè)團(tuán)隊(duì)想要更好地協(xié)同工作,就要擬定一套適用于團(tuán)隊(duì)協(xié)作、并行開發(fā)工作的版本控制流程,本章將以目前使用最廣泛的Git Work Flow作為參考進(jìn)行講解。
第4章將從背景、流程和生命周期等角度,解析現(xiàn)代軟件開發(fā)模式:持續(xù)集成(Continuous Integration,CI)、持續(xù)交付(Continuous Delivery,CD)、持續(xù)部署(Continuous Deployment,CD)。
另外需要說(shuō)明的一點(diǎn)是,本書會(huì)涉及比較多的工具和技術(shù)(比如JUnit、Hamcrest、Git、GitHub、Maven、Nexus、Jenkins、Ocean Blue、Mockito、Powermock、Concordion、Cucumber、Ansible、Ansible-Playbook等),以及一些代碼規(guī)范類的檢查插件或服務(wù)(比如JaCoCo、PMD、FindBugs、SpotBots、OWASP等)。由于篇幅所限,部分工具無(wú)法進(jìn)行詳細(xì)講解,各章最后均會(huì)提供相關(guān)拓展閱讀,大家如有需要可以自行學(xué)習(xí)。作為開發(fā)人員,我們的首要目標(biāo)是保證開發(fā)出高質(zhì)量的代碼,以及進(jìn)行快速測(cè)試、快速集成和高質(zhì)量的交付等。因此本書將重點(diǎn)講解所涉及的單元測(cè)試和功能測(cè)試等相關(guān)內(nèi)容。
- 從零開始構(gòu)建企業(yè)級(jí)RAG系統(tǒng)
- Photoshop智能手機(jī)APP UI設(shè)計(jì)之道
- Visual Basic程序開發(fā)(學(xué)習(xí)筆記)
- Learn to Create WordPress Themes by Building 5 Projects
- Manga Studio Ex 5 Cookbook
- JMeter 性能測(cè)試實(shí)戰(zhàn)(第2版)
- Python王者歸來(lái)
- Python程序設(shè)計(jì)
- Learning AndEngine
- SQL Server從入門到精通(第3版)
- SQL Server數(shù)據(jù)庫(kù)管理與開發(fā)兵書
- 利用Python進(jìn)行數(shù)據(jù)分析
- 響應(yīng)式架構(gòu):消息模式Actor實(shí)現(xiàn)與Scala、Akka應(yīng)用集成
- C語(yǔ)言從入門到精通
- Linux Shell核心編程指南