網(wǎng)站建設(shè)頭部代碼網(wǎng)站描述和關(guān)鍵詞怎么寫
目錄
6.4 持續(xù)集成測試
6.4.1 持續(xù)集成的概念
6.4.2 持續(xù)集成測試框架設(shè)計
6.4 持續(xù)集成測試
持續(xù)集成(Continuous Integration,CI)是軟件開發(fā)DevOps(Development+Operations)中的一個概念,它強調(diào)的是軟件開發(fā)和IT運維人員之間協(xié)作軟件交付方式,以協(xié)作測試、打包和部署軟件為核心,目的是增強軟件版本的發(fā)布規(guī)律和可靠性。
6.4.1 持續(xù)集成的概念
CI是在源代碼變更后自動檢測、拉取、構(gòu)建以及進行單元測試的過程。?持續(xù)集成的目標(biāo)是快速確保開發(fā)人員新提交的代碼是合格的,并且適合在代碼庫中進一步使用。
開發(fā)人員常使用持續(xù)集成工具來構(gòu)建和集成。代碼集成且所有單元測試都通過,表明已成功集成在一起,并且代碼可以進行后續(xù)測試。
6.4.2 持續(xù)集成測試框架設(shè)計
作為測試人員,掌握持續(xù)集成方法,有利于提高軟件測試效率、提高生產(chǎn)效益,同時也可以衡量測試人員水平。在掌握持續(xù)集成的基本概念后,設(shè)計出當(dāng)前項目的持續(xù)集成框架顯得尤其重要。
1. 傳統(tǒng)持續(xù)集成框架設(shè)計
開發(fā)人員通常使用名為CI Server的工具來構(gòu)建和集成開發(fā)的項目。CI要求測試人員具備持續(xù)集成測試的能力,在掌握持續(xù)集成環(huán)境中使用的工具的同時要與項目開發(fā)人員進行溝通合作,以確保開發(fā)中的代碼按預(yù)期工作。
上圖是使用持續(xù)集成測試搭建的自動化測試框架流程圖。在啟動測試之前,測試所需要的數(shù)據(jù)、測試用例、測試框架已經(jīng)搭建完畢,并且項目通過編譯。若測試項目使用服務(wù)器和數(shù)據(jù)庫,這些資源也需要配備完成。
如果把集成工具比作管家,測試人員就是主人,只需要吩咐管家去完成主人安排的任務(wù)即可。測試框架搭建完成之后,就可以執(zhí)行測試。此時集成工具下載當(dāng)前版本的項目啟動測試,在搭建好的自動化測試框架中自動執(zhí)行測試用例,并自動調(diào)用準(zhǔn)備好的測試數(shù)據(jù)。
2. 持續(xù)集成容器化框架設(shè)計
基于容器的持續(xù)集成平臺在環(huán)境搭建上耗時少于傳統(tǒng)的持續(xù)集成系統(tǒng)搭建,可以在秒級內(nèi)啟動一個鏡像生成一個持續(xù)集成環(huán)境。容器占用資源少并且保證了開發(fā)環(huán)境和測試環(huán)境的統(tǒng)一,降低了測試重復(fù)率,極大地提高了測試效率。
使用Docker容器搭建的持續(xù)集成容器框架設(shè)計:
開發(fā)人員將代碼提交到版本控制系統(tǒng)之后,觸發(fā)Jenkins容器(Docker)自動部署開發(fā)人員提交的版本并進行單元測試、集成測試、構(gòu)建JAR包等任務(wù)。測試通過后測試人員可以獲取當(dāng)前項目,創(chuàng)建容器進行本地化測試,測試完成后將項目提交到遠(yuǎn)程容器倉庫進行管理,開始上線部署并觸發(fā)集成同步到鏡像庫后通知測試人員或者開發(fā)人員停止容器的創(chuàng)建(圖中虛線箭頭部分)。
使用容器技術(shù)進行測試方便應(yīng)用的部署以及不同場景下的測試,即一次構(gòu)建隨處運行。此外,容器技術(shù)在提高測試效率的同時降低了企業(yè)項目花費的成本、加快了開發(fā)速度。