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