《持續(xù)集成:軟件質(zhì)量改進(jìn)和風(fēng)險降低之道》讀書筆記

封面.jpg

作者:[美]Paul M. Duvall保羅.M. 杜瓦爾Steve Matyas史蒂夫.邁耶斯Andrew Glover(安德魯.格洛弗) 著,王海鵬 譯出版社:電子工業(yè)出版社出版時間:2012年06月

摘要:

主要包含 :構(gòu)建,集成,部署,測試,審查,文檔與反饋

第二章:引入集成

集成的價值

? ? ? ?減少風(fēng)險,減少重復(fù)工作,增加項目可度量性,隨時提供可用產(chǎn)品,增強(qiáng)開發(fā)人員對產(chǎn)品的信心

集成實踐內(nèi)容

? ? ? ?修改代碼后要及時向版本庫提示可編譯的代碼;自動化測試;及時修復(fù)構(gòu)建失敗的代碼;自動化審查代碼標(biāo)準(zhǔn);做到至少每日一次自動化構(gòu)建。

第三章:通過CI來減少風(fēng)險

1.缺少可部署的軟件
(ant定期編譯)
2.很晚才發(fā)現(xiàn)缺陷
(單元測試,自動化測試)
3.項目可見性差
(SMS,EMAIL通知相關(guān)人員)
4.低品質(zhì)的軟件
(編碼標(biāo)準(zhǔn)checkstyle/PMD/Findbug,架構(gòu)標(biāo)準(zhǔn) Jdepend)

四:及時構(gòu)建軟件

? ? ? ?構(gòu)建頻率要至少半小時以上,無需每分鐘,因項目基本上都不可能幾分鐘就構(gòu)建完成了。

五:持續(xù)數(shù)據(jù)庫集成 CDBI

1?.版本庫管理數(shù)據(jù)庫腳本要像源代碼一樣進(jìn)行管理,規(guī)劃好資源目錄
2.提供不同環(huán)境的執(zhí)行腳本,做到重建數(shù)據(jù)庫及數(shù)據(jù)
?3.測試存儲過程或函數(shù)
?4.多版本并行開發(fā)也是同樣道理
?5.DBA要成為開發(fā)中的一員,完成SQL性能優(yōu)化,腳本規(guī)范化等工作

六:測試

1?.將測試分組:單元、組件、系統(tǒng)、功能
?2.先執(zhí)行較快的測試:單元
?3.為缺陷編寫測試案例,防止相同錯誤再次出現(xiàn)
?4.一個測試用例使用一個斷言
?5.測試數(shù)據(jù)共享,可重復(fù)

七:審查

1?.人工和自動化審查互補(bǔ)
?2.審查編碼標(biāo)準(zhǔn),架構(gòu)分層,重復(fù)代碼
?3.降低代碼復(fù)雜度,CCN > 10不安全,降低圈度復(fù)雜度方法是《重構(gòu)》和增加測試案例
4?.重構(gòu)前要先編寫測試用例
?5.常用工具:javaNCSS,PMD,Checkstyle
?6.對象依賴:傳入耦合高的對象會造成破會,傳出耦合高的配件會遭到破會(JDepend)
?7.代碼覆蓋率工具:PMD-CPD,Simian,Cobertura,EMMA,Clover,jacoco
?8.通過代碼覆蓋率工具檢查代碼測試案例不足的功能(重要)

八:部署

?1.隨時隨地提供可運行的軟件
?2.最好有回滾到上個版本的能力
?3.生成報告,及時反饋

九:反饋

? ? ? ?在正確的時間,以正確的方式,將正確的信息,發(fā)送給正確的人

導(dǎo)圖輸出

持續(xù)集成:軟件質(zhì)量改進(jìn)和風(fēng)險降低之道.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容