更新時間:2023年08月17日16時53分 來源:傳智教育 瀏覽次數(shù):
傳統(tǒng)集成框架
傳統(tǒng)持續(xù)集成框架設(shè)計(jì)是軟件測試培訓(xùn)中不可缺少的一環(huán),互聯(lián)網(wǎng)軟件開發(fā)已經(jīng)成熟、標(biāo)準(zhǔn)化,作為測試人員,持續(xù)掌握集成方法,有利于提高軟件測試效率、提高生產(chǎn)效益,同時也可以衡量測試人員水平。在掌握持續(xù)集成的基本概念后,設(shè)計(jì)出當(dāng)前項(xiàng)目的持續(xù)集成框架顯得尤為重要。
開發(fā)人員通常使用名為CI Server的工具來構(gòu)建和集成開發(fā)的項(xiàng)目。CI要求測試人員具備持續(xù)集成測試的能力,在掌握持續(xù)集成環(huán)境中使用的工具的同時要與項(xiàng)目開發(fā)人員進(jìn)行溝通合作,以確保開發(fā)中的代碼按預(yù)期工作。這些最初的測試通常被稱為單元測試,是確保項(xiàng)目再進(jìn)行下一步測試的前提。傳統(tǒng)持續(xù)集成框架設(shè)計(jì)如圖6-4所示。
下圖是使用持續(xù)集成測試搭建的自動化測試框架流程圖。在啟動測試之前,測試所需要的數(shù)據(jù)、測試用例、測試框架已經(jīng)搭建完畢,并且項(xiàng)目通過編譯。若測試項(xiàng)目使用服務(wù)器和數(shù)據(jù)庫,這些資源也需要配備完成。
圖 傳統(tǒng)持續(xù)集成框架設(shè)計(jì)
如果把集成工具比作管家,測試人員就是主人,只需要吩咐管家去完成主人安排的任務(wù)即可。如果任務(wù)未按預(yù)期完成,管家則會提醒哪里出了錯誤以及當(dāng)前執(zhí)行任務(wù)進(jìn)度,由此可見持續(xù)集成測試的方便。測試框架搭建完成之后,就可以執(zhí)行測試。此時集成工具下載當(dāng)前版本的項(xiàng)目啟動測試,在搭建好的自動化測試框架中自動執(zhí)行測試用例,并自動調(diào)用準(zhǔn)備好的測試數(shù)據(jù)。若項(xiàng)目涉及數(shù)據(jù)庫,則需要通過數(shù)據(jù)庫連接池獲取測試所用的數(shù)據(jù),以及實(shí)現(xiàn)與服務(wù)器之間的交互等。測試完成后將測試過程及結(jié)果通過郵件方式發(fā)送給測試人員。
持續(xù)集成框架
基于容器的持續(xù)集成平臺在環(huán)境搭建上耗時少于傳統(tǒng)的持續(xù)集成系統(tǒng)搭建,可以在秒級內(nèi)啟動一個鏡像生成一個持續(xù)集成環(huán)境。容器占用資源少并且保證了開發(fā)環(huán)境和測試環(huán)境的統(tǒng)一,降低了測試重復(fù)率,極大地提高了測試效率。使用Docker容器搭建的持續(xù)集成容器框架設(shè)計(jì)如圖6-5所示。圖6-5 使用Docker容器搭建的持續(xù)集成容器框架設(shè)計(jì)
開發(fā)人員將代碼提交到版本控制系統(tǒng)之后,觸發(fā)Jenkins容器(Docker)自動部署開發(fā)人員提交的版本并進(jìn)行單元測試、集成測試、構(gòu)建JAR包等任務(wù)。測試通過后測試人員可以獲取當(dāng)前項(xiàng)目,創(chuàng)建容器進(jìn)行本地化測試,測試完成后將項(xiàng)目提交到遠(yuǎn)程容器倉庫進(jìn)行管理,開始上線部署并觸發(fā)集成同步到鏡像庫后通知測試人員或者開發(fā)人員停止容器的創(chuàng)建(圖中虛線箭頭部分)。
使用容器技術(shù)進(jìn)行測試方便應(yīng)用的部署以及不同場景下的測試,即一次構(gòu)建隨處運(yùn)行。此外,容器技術(shù)在提高測試效率的同時降低了企業(yè)項(xiàng)目花費(fèi)的成本、加快了開發(fā)速度。
小提示:關(guān)于持續(xù)集成
持續(xù)集成源自DevOps,與持續(xù)集成對應(yīng)的還有持續(xù)部署、持續(xù)交付等相關(guān)概念,諸如阿里、百度、騰訊、亞馬遜等互聯(lián)網(wǎng)巨頭都提供了持續(xù)集成測試環(huán)境,甚至軟件開發(fā)使用的工具集成了如代碼托管、協(xié)作開發(fā)、測試框架集成等,讀者可參閱相關(guān)資料進(jìn)行學(xué)習(xí)。此外,持續(xù)集成需要測試人員掌握軟件開發(fā)、測試工具、編程等知識,如Git、持續(xù)集成工具、數(shù)據(jù)庫等。
北京校區(qū)