一種代碼持續(xù)集成的方法【專利摘要】本發(fā)明涉及軟件開發(fā)【
技術(shù)領(lǐng)域:
】,特別是指一種代碼持續(xù)集成的方法。本發(fā)明首先指定測試環(huán)境需要部署的服務(wù)器并部署其環(huán)境,確定其IP地址;然后,在對要測試的代碼打基線;檢出要測試的代碼并進行編譯,得到目標(biāo)代碼,并且對目標(biāo)代碼插樁;然后,在測試環(huán)境中執(zhí)行測試用例,生成測試用例的執(zhí)行結(jié)果、自動生成代碼的測試覆蓋率報告;然后,根據(jù)測試用例執(zhí)行結(jié)果,修復(fù)代碼缺陷;根據(jù)測試覆蓋率報告重新調(diào)整測試用例;重復(fù)之前的集成的流程,直到測試用例全部通過并且測試覆蓋率為100%為止。本發(fā)明解決了軟件開發(fā)過程當(dāng)中,從代碼開發(fā)到測試,再到回歸測試的過程中浪費大量時間的問題;可用于軟件開發(fā)中。【專利說明】一種代碼持續(xù)集成的方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及軟件開發(fā)【
技術(shù)領(lǐng)域:
】,特別是指一種代碼持續(xù)集成的方法。【
背景技術(shù):
】[0002]軟件開發(fā)過程當(dāng)中的特點是代碼的更新管理需要人員,代碼的更新、編譯、分發(fā)到測試環(huán)境都需要人力和時間的投入等。[0003]但是,以上描述的大型Linux軟件的發(fā)布方法存在如下的問題:[0004]1、需要做大量的工作以適配不同的開發(fā)版本。不同的軟件開發(fā)版本的和使用的環(huán)境都需要不同的依賴,所有要跟隨基線的發(fā)布來提供測試的環(huán)境,所以這個集成測試的環(huán)境可能對特定的版本的測試才會有效;[0005]2、此發(fā)布方法一般需要定時的修改編譯的方式,需要更新的目標(biāo)代碼的內(nèi)容,和所需要分發(fā)的測試機器的IP,這些都是限定條件,所以對特定版本才會有效。[0006]為了提升軟件的部署效率,增強部署的快捷性和部署過程之中數(shù)據(jù)的安全性,需要一種通過一個節(jié)點進行代碼的下載,更新,編譯,并且分發(fā)到各個知道的測試環(huán)境當(dāng)中更新環(huán)境,自動的進行測試用例的執(zhí)行,反饋?!?br/>發(fā)明內(nèi)容】[0007]本發(fā)明解決的技術(shù)問題在于提供一種快速、安全穩(wěn)定的代碼持續(xù)集成的方法,解決了在測試環(huán)境部署和代碼更新的時候所浪費的人力和時間,以及數(shù)據(jù)更新的安全性等問題。[0008]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:包括如下步驟:[0009]步驟1:部署指定的測試需要部署的機器,并提供測試機器IP;[0010]步驟2:在配置庫當(dāng)中對要測試的代碼打基線,以確保代碼部署的統(tǒng)一性和代碼更改的最好記錄;[0011]步驟3:對基線代碼進行編譯,得到目標(biāo)代碼;[0012]步驟4:對目標(biāo)代碼進行插樁,生成插樁信息文件;[0013]步驟5:把目標(biāo)代碼分發(fā)到測試服務(wù)器當(dāng)中;[0014]步驟6:在測試環(huán)境中執(zhí)行測試用例,生成測試用例的執(zhí)行結(jié)果,同時由于插樁的原因,也自動生成代碼覆蓋信息文件;[0015]步驟7:開發(fā)人員根據(jù)測試用例的執(zhí)行結(jié)果,修復(fù)代碼缺陷,并提交到代碼主干上;[0016]步驟8:插樁信息文件和代碼覆蓋信息文件進行對比,結(jié)合源代碼生成一份代碼覆蓋率報告;測試人員根據(jù)測試覆蓋率報告查看沒有被覆蓋到的代碼,重新調(diào)整測試用例,完善測試的全面性;[0017]步驟9:重復(fù)步驟2到步驟8,持續(xù)開發(fā)、編譯、測試的過程,直到測試用例全部通過并且測試覆蓋率為100%為止。[0018]所述的對目標(biāo)代碼進行插樁,指的是在目標(biāo)代碼中插入記錄代碼覆蓋信息的字節(jié)碼,此字節(jié)碼與目標(biāo)代碼同時執(zhí)行,對目標(biāo)代碼執(zhí)行到的代碼行進行記錄;[0019]所述的插樁信息文件指的是一個記錄目標(biāo)代碼行信息的文件。[0020]所述的把目標(biāo)代碼分發(fā)到測試服務(wù)器當(dāng)中指的是把插樁完成的代碼部署到所有執(zhí)行測試的服務(wù)器中。[0021]所述的代碼覆蓋信息文件指的是一個測試用例執(zhí)行過程中被執(zhí)行到的代碼行的記錄文件,代碼覆蓋信息文件是相對插樁信息文件的,將兩個文件進行對比而確定本次測試用例執(zhí)行過程中被覆蓋到的代碼有多少行,將代碼覆蓋信息文件結(jié)合向測試人員顯示沒有被執(zhí)行到的代碼行的內(nèi)容,以便進行測試用例的改進。[0022]本發(fā)明通過一個節(jié)點進行代碼的下載,更新,編譯,并且分發(fā)到各個知道的測試環(huán)境當(dāng)中更新環(huán)境,自動的進行測試用例的執(zhí)行,反饋;可以提升軟件的部署效率,增強部署的快捷性和部署過程之中數(shù)據(jù)的安全性?!緦@綀D】【附圖說明】[0023]下面結(jié)合附圖對本發(fā)明進一步說明:[0024]附圖是本發(fā)明方法流程圖?!揪唧w實施方式】[0025]見附圖所示,本發(fā)明方法流程步驟如下:[0026]I,確保測試環(huán)境的防火墻關(guān)閉,關(guān)閉方式如下:[0027]/etc/init.d/iptablesstop[0028]2,拷貝相應(yīng)文件到集成環(huán)境[0029]將包含:exectesting.shIntegration-testing-GT.shscptotessingenv-10.0.55.3.shcovertest_sl.shcovertest_s2.shurltesting.sh這幾個文件的目錄拷貝到集成測試,[0030]3,對代碼進行插樁[0031]執(zhí)行covertest_sl.sh完成自動插樁(啟動tomcat前做),會在/covertest目錄自動生成各模塊的覆蓋率測試數(shù)據(jù)文件,其中all是所有數(shù)據(jù)文件的合并文件,gcloud是GCloud項目的數(shù)據(jù)文件,其他是各個模塊的jar包數(shù)據(jù)文件[0032]coverttest_sl.sh的內(nèi)容如下:[0033]【權(quán)利要求】1.一種持續(xù)集成的方法,其特征在于:包括如下步驟:步驟1:部署指定的測試需要部署的機器,并提供測試機器IP;步驟2:在配置庫當(dāng)中對要測試的代碼打基線,以確保代碼部署的統(tǒng)一性和代碼更改的最好記錄;步驟3:對基線代碼進行編譯,得到目標(biāo)代碼;步驟4:對目標(biāo)代碼進行插樁,生成插樁信息文件;步驟5:把目標(biāo)代碼分發(fā)到測試服務(wù)器當(dāng)中;步驟6:在測試環(huán)境中執(zhí)行測試用例,生成測試用例的執(zhí)行結(jié)果,同時由于插樁的原因,也自動生成代碼覆蓋信息文件;步驟7:開發(fā)人員根據(jù)測試用例的執(zhí)行結(jié)果,修復(fù)代碼缺陷,并提交到代碼主干上;步驟8:插樁信息文件和代碼覆蓋信息文件進行對比,結(jié)合源代碼生成一份代碼覆蓋率報告;測試人員根據(jù)測試覆蓋率報告查看沒有被覆蓋到的代碼,重新調(diào)整測試用例,完善測試的全面性;步驟9:重復(fù)步驟2到步驟8,持續(xù)開發(fā)、編譯、測試的過程,直到測試用例全部通過并且測試覆蓋率為100%為止。2.根據(jù)權(quán)利要求1所述的持續(xù)集成的方法,其特征在于:所述的對目標(biāo)代碼進行插樁,指的是在目標(biāo)代碼中插入記錄代碼覆蓋信息的字節(jié)碼,此字節(jié)碼與目標(biāo)代碼同時執(zhí)行,對目標(biāo)代碼執(zhí)行到的代碼行進行記錄;所述的插樁信息文件指的是一個記錄目標(biāo)代碼行信息的文件。3.根據(jù)權(quán)利要求1所述的持續(xù)集成的方法,其特征在于:所述的把目標(biāo)代碼分發(fā)到測試服務(wù)器當(dāng)中指的是把插樁完成的代碼部署到所有執(zhí)行測試的服務(wù)器中。4.根據(jù)權(quán)利要求2所述的持續(xù)集成的方法,其特征在于:所述的把目標(biāo)代碼分發(fā)到測試服務(wù)器當(dāng)中指的是把插樁完成的代碼部署到所有執(zhí)行測試的服務(wù)器中。5.根據(jù)權(quán)利要求1至4任一項所述的持續(xù)集成的方法,其特征在于:所述的代碼覆蓋信息文件指的是一個測試用例執(zhí)行過程中被執(zhí)行到的代碼行的記錄文件,代碼覆蓋信息文件是相對插樁信息文件的,將兩個文件進行對比而確定本次測試用例執(zhí)行過程中被覆蓋到的代碼有多少行,將代碼覆蓋信息文件結(jié)合向測試人員顯示沒有被執(zhí)行到的代碼行的內(nèi)容,以便進行測試用例的改進?!疚臋n編號】G06F11/36GK103699385SQ201310719971【公開日】2014年4月2日申請日期:2013年12月23日優(yōu)先權(quán)日:2013年12月23日【發(fā)明者】魏琳琳,楊松,莫展鵬,季統(tǒng)凱申請人:國云科技股份有限公司