它完全避免了開發者們的"除蟲會議"--以前開發者們經常需要開這樣的會,因為某個人在工作的時候踩進了別人的領域、影響了別人的代碼,而被影響的人還不知道發生了什么,于是bug就出現了。
這樣的bug絕大多數都可以在引入的同一天就被發現。由于一天之中發生變動的部分并不多,所以可以很快找到出錯的位置。
持續集成可以把發現的錯誤根據源代碼的作者,以郵件和日志的方式分發給作者,第二天一上班的第一件事就是先修改錯誤。
持續集成可以減少集成階段"捉蟲"消耗的時間、 頻繁發布新版本的時間,從而最終提高生產力和軟件質量。
3、理想的持續集成的實現方法:
A)、同一個軟件產品要有集中的同一臺開發服務器,即所有人的最新的、各自編譯通過的源代碼都在配置管理工具如VSS中。
B)、有一臺運行主創建的機器,有計劃的運行日構建, 日構建中有一個創建進程,該創建進程是在一個隨時保持運行的Java類中進行的,如果沒有創建任務,創建進程就一直循環等待。
C)、守護進程將全部代碼(包括原程序和配置文件,數據庫腳本等)提取到創建機器的一個目錄中。提取完成之后,守護進程就會在這個目錄里調用Ant腳本。
D)、Ant會接管整個創建過程,對所有源代碼做一次完整的創建。Ant腳本會負責整個編譯過程,并把得到的class文件放進六個jar包里,發布到EJB服務器上。
創建結束之后,創建守護進程會給所有向最新一次創建歸還了代碼的開發者發一個e-mail,匯報創建的情況。
E)、當Ant完成了編譯和發布的工作之后,創建守護進程就會在EJB服務器上開始運行新的jar,同時開始運行BVT測試套件:即利用Junit進行單元測試。
單元測試完成后,日構建會把單元測試報告發給有錯誤的開發人員。
F)、為了利用自動化工具(WINRUNNER)進行功能測試,必須對JSP編譯,利用jspc命令進行包裝一層,就可以自動的對所有的jsp文件進行編譯, 但由于編譯jsp的時間非常長(越比編譯java代碼時間長),所以一般利用單獨的編譯服務器進行編譯。 發布編譯好的jsp文件進行自動化測試的成功率高(因為第一次運行jsp文件非常慢,而自動化測試最忌諱運行時和錄制時等待得時間不一樣)。 而功能性自動化測試也需要按計劃有順序的執行,這需要TestDirector測試管理系統來調度Winrunner進行測試。
讓所有的重復的繁瑣的事情都完全自動化,并且要經常進行集成,讓重復的測試自動化。
四、測試套件實現測試流程.
當具備持續集成和測試自動化的能力后,需要一套測試體系來支持和維護您的測試流程,確保測試過程是符合流程、標準,而且是持續改進的。
(一)、為什么需要一個流程?很多公司投入了大量的測試經費,然而還是沒有收到預期的收益。這可能是因為:缺乏足夠的測試計劃、缺乏測試的優先次序、工作的重復、沒有利用工具來配合人工測試、沒有利用測試自動化工具、測試自動化運用不夠或者運用的不恰當等等。所以需要有測試套件的實施流程。
文章來源于領測軟件測試網 http://www.kjueaiud.com/