【落葉339】【周問日答】(5)原來這就是持續集成?。?/h1>
文/秋之川

【目錄】

這是《落葉》文集里第 339 片落葉,希望你能喜歡,不為別的,只為這份堅持。

【提問】

原來這就是持續集成啊?

【舊識】

很多年前在做項目的時候,其實就已經接觸到了持續集成,只是那時候好像沒有這么一種叫法,或者說也沒現在處于互聯網產品時代的這么火熱,所以,有相當長的一段時間,一直認為持續集成是個新生事物,自己一直都沒有接觸過它,很神秘。

那時候只是很簡單的目的,為了方便、快速地生成可部署、可測試的包。

這不就是自動構建嗎?
那時候,項目開始的時候,就會建立一個新的 branch,開發寫完某個功能,或者修復完一個 bug,就將 code check-in 到對應的版本分支里,根據開發和測試的計劃,大概在代碼集成階段就會在一個 web 端的 build 系統里去創建 Daily Build Job,每天在中國時間的凌晨開始,系統自動檢測 svn 里對應分支是否有代碼更新,并從中 check-out 最新的 code,然后構建成 build。如果構建出錯了,會生成 build failed log,能通過日子定位到相關的代碼和開發工程師。測試工程師早上來上班第一件事,就是從 build server 上下載最新的 build,然后部署,開始一天的測試工作。

這不就是自動部署嗎?
后來,測試工程師為了提升工作效率,想讓自己一到辦公室就可以開始測試,于是基于這個 Auto Build 系統,又開發了 Auto Deployment 腳本,自動檢測是否有最新的包,有的話就去下載并自動安裝。

這不就是自動驗證嗎?
再后來,測試工程師為了再次提升工作價值,讓自己每天聚焦在更有意義的 bug 深度挖掘工作上,又將 BVT Automation 集成了進去,當自動部署完成之后,自動執行 BVT TA 腳本,用于檢測最新的構建包是否存在一些很淺顯的和阻礙性的缺陷。

最近,因為越來越多的同學會問到持續集成的問題,所以找了一些書和資料,學習了一下,然后問了自己一個問題:原來這就是持續集成???

【新知】

這幾年持續集成的興起,并不是因為測試工程師越來越“懶”,而是隨著互聯網產品的運營模式和敏捷研發的廣泛應用,提升研發團隊持續交付能力的一個很重要的技術越來越受用,那就是持續集成。

我們先來看看引入持續集成的好處:

  1. 隨著項目越來越大,越來越復雜,每天各種各樣的開發工程師都在 check-in 代碼,如何能快速發現其中會導致構建失敗的錯誤代碼呢?-- 持續集成
  2. 隨著研發速度越來越敏捷,測試工程師可能隨時都需要一個可測的版本去驗證 bug,做回歸測試,而不能等待所有的開發都提交了最新的、完整的代碼,再打一個沒問題的測試包,那怎么辦呢?-- 持續集成。
  3. 產品也需要經常拿一個可用的、最新的版本去體驗最新的功能,去驗收已經完成的需求,他可以找誰呢?-- 持續集成。
  4. 每日構建其實是一個重復性的活動,但又需要人每天去做這么一件事情,在它完成之前,大家都得等著,假如測試人員來的很早,那負責每日構建的人就要來的更早,怎樣才能既減少人力的重復勞動,又能提高效率呢?-- 持續集成
  5. 我們現在有很多自動化測試工具、靜態掃描工具和性能測試工具,那怎樣才能讓它們在有限的測試周期中發揮及時、有效的作用呢?-- 持續集成

查看全部《周問日答》

作者簡介:14 年測試 + 11 年項目管理 + 11 年團隊管理 = 一個測試老兵

【目錄】

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容