持續(xù)集成
1.什么是持續(xù)集成
持續(xù)集成是指開發(fā)階段,對項目進(jìn)行持續(xù)性自動化編譯、測試,以達(dá)到控制代碼質(zhì)量的手段。持續(xù)集成是一種軟件開發(fā)實踐。
2.持續(xù)集成的優(yōu)點
在軟件工程中,持續(xù)集成是指軟件開發(fā)流程中一系列的最佳實踐,近幾年已被廣發(fā)應(yīng)用到實際項目開發(fā)中。極限編程中一項建議實踐便是持續(xù)集成,它提供了及時發(fā)現(xiàn)問題、追蹤問題、修復(fù)問題的機制,替代了傳統(tǒng)的在所有代碼編寫完畢后才提交QA部門進(jìn)行測試的方法。持續(xù)集成對單元測試較為依賴,測試覆蓋率越高,單元測試越準(zhǔn)確,越能體現(xiàn)持續(xù)集成的效果。持續(xù)集成主要在以下方面提供好處:
1、持續(xù)自動化測試(持續(xù)集成可通過時間間隔觸發(fā),或其他方式觸發(fā))
2、跟蹤工程健康狀況
3、強制性單元測試用例,驗收測試用例等
4、靜態(tài)代碼檢測,生成測試報告
3.持續(xù)集成的實現(xiàn)
理想的持續(xù)集成的實現(xiàn)方法:
- 同一個軟件產(chǎn)品要有集中的同一臺開發(fā)服務(wù)器,即所有人的最新的、各自編譯通過的源代碼都在配置管理工具如VSS中。
- 有一臺運行主創(chuàng)建的機器,有計劃的運行日構(gòu)建, 日構(gòu)建中有一個創(chuàng)建進(jìn)程,該創(chuàng)建進(jìn)程是在一個隨時保持運行的Java類中進(jìn)行的,如果沒有創(chuàng)建任務(wù),創(chuàng)建進(jìn)程就一直循環(huán)等待。
- 守護進(jìn)程將全部代碼(包括原程序和配置文件,數(shù)據(jù)庫腳本等)提取到創(chuàng)建機器的一個目錄中。提取完成之后,守護進(jìn)程就會在這個目錄里調(diào)用Ant腳本。
- Ant會接管整個創(chuàng)建過程,對所有源代碼做一次完整的創(chuàng)建。Ant腳本會負(fù)責(zé)整個編譯過程,并把得到的class文件放進(jìn)六個jar包里,發(fā)布到EJB服務(wù)器上。
- 當(dāng)Ant完成了編譯和發(fā)布的工作之后,創(chuàng)建守護進(jìn)程就會在EJB服務(wù)器上開始運行新的jar,同時開始運行BVT測試套件:即利用Junit進(jìn)行單元測試。單元測試完成后,日構(gòu)建會把單元測試報告發(fā)給有錯誤的開發(fā)人員。
- 為了利用自動化工具(WINRUNNER)進(jìn)行功能測試,必須對JSP編譯,利用jspc命令進(jìn)行包裝一層,就可以自動的對所有的jsp文件進(jìn)行編譯,但由于編譯jsp的時間非常長(越比編譯java代碼時間長),所以一般利用單獨的編譯服務(wù)器進(jìn)行編譯。發(fā)布編譯好的jsp文件進(jìn)行自動化測試的成功率高(因為第一次運行jsp文件非常慢,而自動化測試最忌諱運行時和錄制時等待得時間不一樣)。而功能性自動化測試也需要按計劃有順序的執(zhí)行,這需要TestDirector測試管理系統(tǒng)來調(diào)度Winrunner進(jìn)行測試。
評論 | 0條評論
評論