質量之匙:持續集成工具與實踐(2)

發表于:2015-07-16來源:uml.org.cn作者:不詳點擊數: 標簽:軟件測試
目前有一些工作流程和發布管理的工具,但價錢一般都不便宜。Cruise即將發布的1.0版本針對中小型公司,或一個大公司里面的中小型團隊,可以把持續集成

  目前有一些工作流程和發布管理的工具,但價錢一般都不便宜。Cruise即將發布的1.0版本針對中小型公司,或一個大公司里面的中小型團隊,可以把持續集成的好處立刻帶給它們。

  記者:你們開發Cruise的時候,是用什么工具呢?

  Jez:最初我們用CruiseControl,但三個月前我們就用Cruise作為我們自己的持續集成工具。

  記者:但是你們用Cruise時,也需要其他工具的配合,比方說測試、版本控制等工具。

  Jez:我們的開發最初用SVN ,但是之后我們看到整個軟件開發業,有開始轉向分布式版本控制系統的趨勢(Distributed Version Control System, e.g.Git, Mercurial,Bitkeeper),我們選擇了Mercurial。Cruise的1.0版本支持SVN和Mercurial。我們也用Ant, JUnit和Selenium作為測試和構建的工具。Cruise也支持NUnit和NAnt。

  CruiseControl, CruiseControl.NET,和 CruiseControl.rb是針對各自語言領域設計的工具。Cruise作為一個企業版軟件,對于.NET, Java和Ruby項目,都是“開箱即用” 。持續集成工具和 Version Control System一樣,是沒有理由硬把它們分開為SVN.NET、SVN.Ruby等等。

  記者:你可以介紹一下 “構建管道 ”(“pipeline”)的概念嗎?

  Jez:一個 pipeline 基本上就是一個工作流程。一個build通常是從單元測試開始,之后有功能測試,之后還可能有性能測試,之后把它部署到UAT(用戶驗收測試 user acceptance testing)環境作人工測試,再把它部署到staging server,最后部署到產品環境里。 每一個build都從版本控制系統取到一個版本的代碼,然后通過每一個上述的階段(單元測試、功能測試),這個過程就是一個Pipeline。

  比方說,這個build通過了單元測試,但功能測試失敗。另外的一個build通過了所有測試,可以隨時將它部署。 利用這個pipeline的概念,就可以一目了然的看到你開發的軟件的最新動態。

  記者:這么說來,你在寫實現代碼之前,需要寫很多的測試?

  Jez:不錯,如果你想得到持續集成帶給你所有的好處,是需要寫很多的測試。這個也是持續集成被廣泛接受得比較慢的原因。但是這是值得的;測試可以把你的軟件的質量提高,減低bug的數量,應付變化也可以比較快。這些都是對你的公司有利的。

  不過,就算你沒有很多測試,Cruise也能帶給你很多的得益,因為它能幫助你把軟件部署的過程自動化,從而減低部署上會遇到的風險。

  記者:我覺得要從CruiseControl上獲得最大的好處,就要test-first(先寫測試)。我覺得它對于部署方面,不是最重要的一環。所以你需要說服人們多寫測試?

  Jez:對,我也同意測試是很重要的,也要對人們多加強調這一點。

  記者:Thoughtworks有一些幫助客戶利用test-first的成功個案,可以跟我們分享嗎?

  Jez:Thoughtworks發表了好幾個個案研究。另外,Thoughtworks最近出版了一部名為“Thoughtworks Anthology”的書,內容講述我們幫助客戶時用過很多不同的技術和技巧。我們Cruise也會用視頻和播客的形式,來講述Cruise的用法和好處。

  如你所說,認知是很重要的。我們要向人們顯示Cruise和持續集成帶來的好處,要不然他們當然不會花這個力氣。

  記者: Cruise怎樣支持一個項目里的(在版本控制系統上的)多個分支?

  Jez:一般來說,一個軟件系統有三方面: a)部署-把軟件放在不同的環境上。b)依賴-e.g.兩個模塊都依賴于一個共同的框架。c) 分支。在Cruise Release 1.0,你可以用不同的pipeline來代表不同的分支,比如說把一個pipeline設定為產品分支,而把另外的pipeline設定為舊版本的分支。

  記者: Cruise將會在何時發布?

  Jez:第三季度初。

  記者:在“敏捷中國” 技術大會里, 會有Cruise的演示嗎?

  Jez:有。我和我的中國同事將會一起演示Cruise。

  記者:聽說Martin Fowler也會出席這次大會,你和他見過面嗎?

  Jez:去年我和我們的中國同事們去了倫敦,和他,還有其他的同事,一起設計Cruise的架構。

  記者: Cruise的開發用了多少時間?

  Jez:我們去年12月開始開發。

  記者:只用了不過半年,也挺快的。

  Jez:這半年間也是非常辛勞的,但同時也非常刺激、非???。敏捷開發的其中一個好處是可以很快的做出成果,和對客戶的要求作出快捷的反應。我們當然在開發Cruise的時候也用得上敏捷帶來的好處。

原文轉自:http://www.uml.org.cn/Test/200805231.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97