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