(卡斯柯信號(hào)有限公司,北京 100070)
STP_KA測(cè)試環(huán)境部署過(guò)程是測(cè)試工作中必不可少的重要環(huán)節(jié),正確全面的測(cè)試環(huán)境能夠?yàn)楹罄m(xù)測(cè)試的開(kāi)展提供強(qiáng)有力的保障,而錯(cuò)誤的測(cè)試環(huán)境會(huì)導(dǎo)致后續(xù)的測(cè)試工作功虧一簣。
目前STP_KA系統(tǒng)回歸測(cè)試的環(huán)境部署為人工手動(dòng)搭建,首先需要人為比對(duì)測(cè)試申請(qǐng)單內(nèi)容與配置庫(kù)待測(cè)軟件的信息是否一致;另外,需要人為按照流程下載相應(yīng)待測(cè)軟件到服務(wù)器,并將待測(cè)軟件、數(shù)據(jù)、配置文件等放入相應(yīng)工控機(jī)、服務(wù)器、車(chē)載主機(jī);因此,目前的環(huán)境搭建過(guò)程會(huì)耗費(fèi)大量時(shí)間,且全程人為操作加大失誤風(fēng)險(xiǎn)。
本文提出一種STP測(cè)試環(huán)境自動(dòng)部署方法及裝置,不僅有效縮短環(huán)境部署的時(shí)間,提升了環(huán)境部署效率,而且減少人為參與,避免人為失誤,確保環(huán)境部署的正確性。
STP_KA系統(tǒng)測(cè)試架構(gòu)由地面主機(jī)子系統(tǒng)、車(chē)載子系統(tǒng)、模擬聯(lián)鎖和終端子系統(tǒng)構(gòu)成,其連接關(guān)系如圖1所示[1]。其中,車(chē)地通過(guò)電臺(tái)通信,其他子系統(tǒng)通過(guò)網(wǎng)絡(luò)進(jìn)行通信。
圖1 STP_KA系統(tǒng)測(cè)試架構(gòu)圖
由圖1可知,維護(hù)終端與車(chē)務(wù)終端軟件是同一個(gè)終端軟件,僅配置不同,因此環(huán)境部署有四個(gè)主要元素:地面主機(jī)、模擬聯(lián)鎖、車(chē)載主機(jī)、車(chē)務(wù)終端。每個(gè)元素均由數(shù)據(jù)、配置和對(duì)應(yīng)軟件組成,自動(dòng)部署設(shè)計(jì)時(shí)會(huì)考慮對(duì)不同元素分別組包。
目前實(shí)驗(yàn)室搭建測(cè)試環(huán)境過(guò)程如圖2所示:
圖2 實(shí)驗(yàn)室搭建測(cè)試環(huán)境過(guò)程圖
(1)審查K2[2]測(cè)試單:主要比對(duì)K2測(cè)試單中填寫(xiě)的待測(cè)軟件md5碼與ClaearCase中的軟件是否一致,查看K2測(cè)試單中填寫(xiě)的軟件位置是否與ClaearCase中一致。
(2)從ClaearCase中獲取待測(cè)軟件,人為存放在目標(biāo)服務(wù)器中,并轉(zhuǎn)存到相應(yīng)的目標(biāo)機(jī)器中。
(3)數(shù)據(jù)組獲取數(shù)據(jù)及配置文檔,人為存放在目標(biāo)服務(wù)器。
(4)依次修改地面、終端、車(chē)載配置文件并啟動(dòng)各軟件。
(5)調(diào)試環(huán)境,反復(fù)修改配置直到軟件正常啟動(dòng)且連接正常。
基于STP_KA系統(tǒng)架構(gòu)以及目前環(huán)境搭建流程,提出一種STP測(cè)試環(huán)境自動(dòng)部署方法及裝置,如圖3所示,軟件KII.exe(以下簡(jiǎn)稱(chēng)KII)通過(guò)K2接口將待測(cè)軟件下載至目標(biāo)服務(wù)器,Modify.exe從服務(wù)器獲取待測(cè)軟件,并存放在目標(biāo)機(jī)器指定路徑,完成配置修改并啟動(dòng)軟件,完成環(huán)境的自動(dòng)布署。這個(gè)自動(dòng)部署方案不僅有效縮短環(huán)境部署的時(shí)間,提升了環(huán)境部署效率,而且減少人為參與,避免人為失誤,確保環(huán)境部署的正確性。
啟動(dòng)KII軟件,只需測(cè)試人員輸入K2單號(hào),既可自動(dòng)實(shí)現(xiàn)K2軟件MD5碼校驗(yàn)、待測(cè)軟件自動(dòng)下載功能。如圖4所示,該方案實(shí)現(xiàn)過(guò)程如下:首先在moss上提交IT申請(qǐng),申請(qǐng)KII與K2的接口,確定輸入和輸出,KII運(yùn)行在桌面云內(nèi),通過(guò)向接口輸入測(cè)試單號(hào),接口反饋給KII該測(cè)試單號(hào)的所有信息,KII通過(guò)解析測(cè)試單信息,獲取所需的虛擬標(biāo)簽、軟件標(biāo)簽、軟件獲取路徑以及備注信息中的MD5碼,并整合以上信息,將其作為參數(shù)輸入給CC庫(kù),并根據(jù)軟件標(biāo)簽自動(dòng)從CC庫(kù)下載對(duì)應(yīng)路徑下的軟件,KII自動(dòng)識(shí)別MD5碼,將其與測(cè)試單中輸入的MD5進(jìn)行比較,若一致,則存放在目標(biāo)服務(wù)器里,部署到DebugRoom環(huán)境內(nèi),提示信息欄會(huì)輸出某軟件已部署至服務(wù)器的提示,如圖5所示;若不一致,提示信息欄會(huì)顯示不一致信息,需要進(jìn)行人工確認(rèn),如圖6所示。
環(huán)境部署工具(以下統(tǒng)稱(chēng)“Modify”,如圖7),首先進(jìn)行測(cè)試環(huán)境的梳理,制定部署方案,因STP_KA測(cè)試使用的機(jī)器較少,所以經(jīng)研究確定,使用psexec工具將自動(dòng)生成的部署腳本在遠(yuǎn)程機(jī)器上運(yùn)行,并從本地獲取配置信息及待測(cè)軟件,對(duì)于站場(chǎng)數(shù)據(jù)文件壓縮包,Modify將自動(dòng)將壓縮包解壓,同時(shí)去掉所有文件的只讀屬性,讀取各個(gè)軟件的配置文件,并實(shí)時(shí)顯示到界面上,測(cè)試人員可在界面上對(duì)多個(gè)軟件的配置信息同時(shí)進(jìn)行人工修改,修改后無(wú)需手動(dòng)保存,Modify會(huì)自動(dòng)將其保存,也對(duì)于已修改的配置文件進(jìn)行選擇性的部署到目標(biāo)機(jī)器,同時(shí)軟件也會(huì)對(duì)每次部署的配置文件進(jìn)行自動(dòng)備份,也可讀取歷史數(shù)據(jù)文件,方便對(duì)于測(cè)試問(wèn)題的復(fù)現(xiàn)以及測(cè)試數(shù)據(jù)的記錄。
環(huán)境部署工具實(shí)現(xiàn)以下功能:
(1)對(duì)目標(biāo)IP進(jìn)行ping操作,并反饋通信狀態(tài);查看要部署的測(cè)試環(huán)境的通信狀態(tài),是否具備自動(dòng)化部署條件,若不滿(mǎn)足,給出提示,方便測(cè)試人員查看。
(2)將數(shù)據(jù)、軟件、配置等輸入文件按照STP地面、車(chē)載、終端、聯(lián)鎖的環(huán)境部署要求分別整理、組包;地面、車(chē)載、終端、聯(lián)鎖分別有固定的安裝路徑,且對(duì)數(shù)據(jù)、軟件、配置等有明確的安裝形式。本功能即按照地面、車(chē)載、終端、聯(lián)鎖系統(tǒng)對(duì)數(shù)據(jù)、軟件、配置安裝規(guī)律,對(duì)KII.exe獲取的數(shù)據(jù)、配置、軟件進(jìn)行組包,分別以Host、Onboard、End、Interlock命名,放在目標(biāo)共享文件夾中,方便后續(xù)步驟調(diào)用。
圖3 測(cè)試環(huán)境自動(dòng)部署結(jié)構(gòu)圖
(3)清空目標(biāo)機(jī)器路徑下相關(guān)文件夾。
(4)將各組包分別下發(fā)至對(duì)應(yīng)的服務(wù)器/車(chē)載主機(jī)/工控機(jī);操作步驟二(2)中組包好的壓縮文件,按照E-deployment.exe配置文件中定義的地面、車(chē)載、終端、聯(lián)鎖數(shù)據(jù)存放路徑,依次解壓、存放。
(5)獨(dú)立部署軟件功能,實(shí)現(xiàn)軟件自啟動(dòng);該功能滿(mǎn)足測(cè)試過(guò)程為確認(rèn)問(wèn)題,更換軟件版本的需求。
圖4 KII實(shí)現(xiàn)過(guò)程圖
圖5 軟件MD5與測(cè)試單輸入一致的界面顯示圖
圖6 軟件MD5與測(cè)試單輸入不一致的界面顯示圖
圖7 環(huán)境部署工具界面
本文通過(guò)根系STP_KA測(cè)試架構(gòu)及環(huán)境搭建過(guò)程,實(shí)現(xiàn)了STP_KA測(cè)試環(huán)境自動(dòng)部署。對(duì)研發(fā)人員、數(shù)據(jù)組人員和室內(nèi)仿真測(cè)試人員應(yīng)具有一定的實(shí)際使用意義。另外,通過(guò)K2測(cè)試單獲取待測(cè)軟件部分可以擴(kuò)展適用于其他產(chǎn)品,一定程度上提高其他產(chǎn)品的測(cè)試效率。