1. 程式人生 > >淺談自動化測試之持續集成

淺談自動化測試之持續集成

之前 targe 修復 通知 編譯 工作 分享 image 環境

from:https://www.cnblogs.com/wysk/p/7517277.html

一、持續集成是什麽?

持續集成是一種軟件開發的實踐,即團隊開發成員經常集成他們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發內聚的軟件。

持續集成指的是,頻繁地(一天多次)將代碼集成到主幹,通過持續集成流程的進行自動化方式的構建,編譯和測試,提供可以部署發布的單元包

持續集成的目的,就是讓產品可以快速叠代,同時還能保持高質量。

它的核心措施是,代碼集成到主幹之前,必須通過自動化測試。

只要有一個測試用例失敗,就不能集成。

Martin Fowler說過,"持續集成並不能消除Bug,而是讓它們非常容易發現和改正。與持續集成相關的,還有兩個概念,分別是持續交付和持續部署。

二 持續集成的價值是什麽?

1、降低風險,由於持續集成不斷去構建,編譯和測試,可以很早期發現問題,所以修復的代價就少;

2、對系統健康持續檢查,減少發布風險帶來的問題;

3、減少重復性工作;

4、持續部署,提供可部署單元包;

5、持續交付可供使用的版本;

6、增強團隊信心;

三、持續集成流程

  持續集成一般的做法: 通過svn或其他工具拉取代碼->自動化構建->自動化編譯->自動化測試->自動化部署->自動化發布->郵件發送通知;

四、持續交付

  持續交付(Continuous delivery)指的是,頻繁地將軟件的新版本,交付給質量團隊或者用戶,以供評審。如果評審通過,代碼就進入生產階段。

  持續交付可以看作持續集成的下一步。它強調的是,不管怎麽更新,軟件是隨時隨地可以交付的。

五、持續部署

  持續部署(continuous deployment)是持續交付的下一步,指的是代碼通過評審以後,自動部署到生產環境。

  持續部署的目標是,代碼在任何時刻都是可部署的,可以進入生產階段。

  持續部署的前提是能自動化完成測試、構建、部署等步驟。

測試是持續集成流程中重要的一環,也是區別去傳統的軟件開發流程中的一個重要的標誌。為什麽要有持續集成測試呢?

1、可以早點發現bug,這就是fix bug代價比較小

2、可以平滑產品,提高產品質量

3、可以讓團隊的每個人了解產品的質量狀態

4、每天都有持續集成測試的報告發布

5、開發者對自己提交的代碼測試情況有比較清晰的了解

6、可以有效地解決在QA人手不足的情況

7、盡可能地把測試自動化,讓持續集成測試系統去執行這些自動化測試的case

六、推薦書籍

技術分享圖片

淺談自動化測試之持續集成