本發(fā)明涉及仿真測試平臺、列車運行監(jiān)控系統(tǒng)(lkj)自動仿真測試系統(tǒng)及使用該系統(tǒng)進行自動仿真測試的方法。
背景技術:
列車運行監(jiān)控系統(tǒng)(lkj)屬于安全設備,在保證列車安全運行方面起到極為重要的作用,如何高效、全面、可靠地對lkj軟件進行驗證和確認測試是一個亟待解決的問題。目前對lkj軟件功能進行驗證和確認測試采用傳統(tǒng)手工方式,該方式需要測試人員預先編寫文字的測試用例,規(guī)定人工給lkj發(fā)送外圍信號的位置、時機、數值等,并約定進行人機交互的操作方法、位置、時機等等;執(zhí)行驗證和確認測試時,測試人員需坐在lkj設備旁邊,通過不斷操作外圍設備給lkj提供信號、操作lkj人機界面單元進行人機交互、觀察lkj人機界面單元顯示信息及偵聽lkj發(fā)送信息判斷執(zhí)行結果是否正確。
現有的手工測試方式存在如下弊端:
1)效率低、工作量大,非常耗時費力;
2)人機無法分離,測試人員必須待在lkj設備旁邊,且不間斷地對lkj設備進行操作,勞動強度過大;
3)測試用例需要人工編寫,工作量大,且無法積累和固化;
4)靠人工觀察執(zhí)行過程及對測試結果的正確性進行判定,人為因素過大,必然會造成執(zhí)行過程中缺陷遺漏或人工對測試結論判定錯誤的情況,難以保證軟件的測試質量;
5)僅能對lkj系統(tǒng)整體進行測試,無法深入到系統(tǒng)單元間的信息交互層面,且不能保存測試過程中系統(tǒng)的實時交互信息;
6)測試過程不易重復或復現,測試結果的保存及與測試用例的關聯管理困難。
技術實現要素:
本發(fā)明提供一種列車運行監(jiān)控系統(tǒng)(lkj)自動仿真測試系統(tǒng),以解決現有技術存在的問題。
本發(fā)明采用以下技術方案:
仿真測試平臺,包括數據交換單元、信號發(fā)生單元、信號采集單元、控制單元、電源控制系統(tǒng)、lkj系統(tǒng)設備;數據交換單元通過網絡與控制單元通信連接;信號發(fā)生單元、信號采集單元同時與lkj系統(tǒng)設備通信連接;控制單元與信號發(fā)生單元、信號采集單元通信連接;所述電源控制系統(tǒng)獲取外部電源后,與數據交換單元、控制單元、信號發(fā)生單元、信號采集單元、lkj系統(tǒng)設備通信連接。
所述的仿真測試平臺為機柜,機柜集成數據交換單元、信號發(fā)生單元、信號采集單元、控制單元、電源控制系統(tǒng)、lkj系統(tǒng)設備,每個平臺為一個獨立的仿真測試環(huán)境。
所述仿真測試平臺的電源控制系統(tǒng)包括喚醒單元和電源單元,所述喚醒單元與數據交換單元通信連接,所述外部電源通過電動開關和電源單元通信連接,喚醒單元與電動開關連接。
所述電動開關為繼電器。
電源控制系統(tǒng)與控制單元、數據交換單元、測試客戶端、服務器組成了電源遠程控制系統(tǒng),電源遠程控制系統(tǒng)能夠云端遠程喚醒和關閉仿真測試平臺內部的電源。
自動仿真測試系統(tǒng),包括多個測試客戶端和與客戶端通信連接的仿真測試平臺集群;所述仿真測試平臺集群包括多個仿真測試平臺,當測試客戶端發(fā)送測試序列時,一個或者多個仿真測試平臺的數據交換單元接收測試序列進行仿真測試。
所述測試客戶端連接服務器,服務器通過云端通信單元與仿真測試平臺的數據交換單元通信連接,服務器為云服務器。
一種自動仿真測試系統(tǒng)的測試方法,包括:
測試客戶端經服務器發(fā)送測試序列給仿真測試平臺集群的一個或者多個仿真測試平臺的數據交換單元;所述測試序列中包含多個測試項目,和每個測試項目應具有的預期測試結果;
數據交換單元將接收到的測試序列發(fā)送給控制單元,控制單元對測試序列的內容進行解析,然后根據測試序列的測試要求,控制單元順序向信號發(fā)生單元發(fā)送測試指令,信號發(fā)生單元根據測試指令向lkj系統(tǒng)設備發(fā)送機車信號信息,lkj系統(tǒng)設備依據接收的機車信號信息進行仿真運行,信號采集單元采集lkj系統(tǒng)設備的運行結果,并將運行結果與測試序列中的預期結果進行比較,如果與預期結果一致,則表明測試結果正確,否則表明測試結果錯誤。
所述測試序列包括至少一個測試用例,測試用例由線路模型和設置在線路模型上的測試項目構成,所述測試項目包括軌道信號、速度、管壓、機車工況、開關量、柴速、調車信號、dmi按鍵信息、atp信息、emu信息、btm信息、gps信息、ick信息中的一種或者幾種組成。
測試之前,測試客戶端首先向服務器發(fā)送測試請求,服務器通過數據交換單元向電源控制系統(tǒng)的喚醒單元發(fā)送喚醒指令,喚醒單元接收喚醒指令后,通過連通電動開關開啟電源單元的輸入信號,電源單元啟動工作,并自動控制開啟控制單元、信號發(fā)生單元、信號采集單元、lkj系統(tǒng)設備的電源輸入,使控制單元、信號發(fā)生單元、信號采集單元、lkj系統(tǒng)設備進入正常工作;
當測試結束后,測試客戶端首先服務器發(fā)送關機指令,服務器通過數據交換單元將關機指令發(fā)送給控制單元,控制單元判斷平臺滿足關機條件后,通過數據交換單元向電源單元發(fā)送關機指令,由電源單元控制關閉控制單元、信號發(fā)生單元、信號采集單元、lkj系統(tǒng)設備的電源輸入,然后由喚醒單元關閉電源單元輸入,平臺進入關機狀態(tài)。
本發(fā)明的有益效果:
1)通過仿真測試平臺,將被仿真測試的設備統(tǒng)一管理和調度,便于測試環(huán)境的部署和維護;
2)不需要進行人工干預,能夠自動化的測試,即能將人為驅動的測試行為轉化為機器執(zhí)行,能夠自動地對lkj軟件進行高效、準確、公正的測試;
3)能根據測試結果自動生成測試用例,且能根據測試用例進行自動仿真測試,能有效減輕測試人員的工作量、勞動強度,且能保證測試用例的完整性、可用性、全面性、嚴謹性;
4)能對系統(tǒng)內部各單元及關鍵接口間交互信息進行監(jiān)聽和判定,能準確判定出現問題的環(huán)節(jié),且能有效的將測試結果與測試用例進行關聯保存,便于進行問題的追蹤;
5)能自動驅使仿真測試系統(tǒng)不間斷地進行測試,降低了人工勞動強度且提高了效率。
附圖說明
圖1為列車運行監(jiān)控系統(tǒng)(lkj)自動仿真測試系統(tǒng)示意框圖。
圖2為電源自動控制系統(tǒng)示意框圖。
圖3為平臺電源自動管控的云端遠程喚醒流程圖。
圖4為平臺電源自動管控的云端遠程休眠流程圖。
圖5為平臺電源自動管控的單設備遠程控制流程圖。
圖6為軟件自動仿真測試流程圖。
具體實施方式
下面結合附圖和具體實施方式對本發(fā)明作進一步詳細說明。
本發(fā)明提供一種仿真測試平臺,包括數據交換單元、信號發(fā)生單元、信號采集單元、控制單元、電源控制系統(tǒng)、lkj系統(tǒng)設備;數據交換單元通過網絡與控制單元通信連接;信號發(fā)生單元、信號采集單元同時與lkj系統(tǒng)設備通信連接;控制單元與信號發(fā)生單元、信號采集單元通信連接;電源控制系統(tǒng)獲取外部電源后,與數據交換單元、控制單元、信號發(fā)生單元、信號采集單元、lkj系統(tǒng)設備通信連接。
仿真測試平臺為一個獨立的仿真測試環(huán)境,整體為方便移動的機柜形式,機柜集成有數據交換單元、信號發(fā)生單元、信號采集單元、控制單元、電源控制系統(tǒng)、lkj系統(tǒng)設備。
如圖1和圖2所示,本發(fā)明還提供一種具有上述的仿真測試平臺的列車運行監(jiān)控系統(tǒng)(lkj)自動仿真測試系統(tǒng),它包括多個測試客戶端、與測試客戶端通過網絡或云端相連的服務器、與服務器通過網絡連接的仿真測試平臺集群,仿真測試平臺集群包括多個仿真測試平臺,仿真測試平臺的電源控制系統(tǒng)與控制單元、數據交換單元、客戶端、服務器中的部分模塊組成了電源遠程控制系統(tǒng),該系統(tǒng)具備云端遠程喚醒功能。
數據交換單元負責上層測試客戶端的服務器與仿真測試平臺之間進行數據、指令交互,與服務器及仿真測試平臺內部各單元間采用網絡通信。數據交換單元可以選用交換機或其它數據交互設備。
電源控制系統(tǒng)用于將外部的ac220v電源轉換為仿真測試平臺內部各設備所需的各種電壓同時具備遠程監(jiān)測及控制功能,能自動控制平臺內各設備電源的通斷;因此,電源控制系統(tǒng)與測試平臺內的各設備均連接,為他們提供電能。具體來說,電源控制系統(tǒng)包括喚醒單元和電源單元,喚醒單元與數據交換單元通信連接,外部電源通過電動開關和電源單元通信連接,喚醒單元與電動開關連接。電動開關可以選擇繼電器。電源控制系統(tǒng)能夠實現仿真測試平臺內部電源的遠程自動喚醒和關閉功能;電源控制系統(tǒng)與控制單元、數據交換單元、客戶端、服務器中的部分模塊組成了電源遠程控制系統(tǒng)。服務器可選擇為云服務器。
上述的電源遠程控制系統(tǒng)具備云端遠程喚醒和關閉仿真測試平臺內部電源功能,服務器從客戶端獲取電源喚醒的指令,并通過數據交換單元傳送給電源控制系統(tǒng)內的喚醒單元;喚醒單元接收到指令后,控制電源單元輸入信號開啟;電源單元上電后,自動控制電源各路輸出開啟,喚醒系統(tǒng)內各設備。同理,可遠程控制系統(tǒng)設備電源的關閉。
電源遠程控制系統(tǒng)還能對系統(tǒng)內單個設備進行喚醒、休眠模式的自動切換。服務器從客戶端獲取電源喚醒或休眠的指令,并通過數據交換單元傳送給控制單元,控制單元對控制指令進行解析,獲取指令的內容及指令作用的設備對象,然后按照控制指令的內容,通過電源單元連通對應設備電源,或者通過電源單元關閉對應設備電源。
在進行仿真測試前,服務器收到測試客戶端的測試請求,并通過數據交換單元檢測待用仿真測試平臺的設備狀態(tài),如果仿真測試平臺處于休眠或者關機狀態(tài),通過數據交換單元向電源控制系統(tǒng)的喚醒單元發(fā)送喚醒指令,喚醒單元接收喚醒指令后,開啟電源控制系統(tǒng)的電源單元輸入信號,電源單元啟動工作,并自動控制啟動各路電壓輸出。若仿真測試完成后需要關閉或者休眠測試平臺的測試設備時,通過測試客戶端向服務器發(fā)送休眠或關閉指令,服務器將休眠或關閉指令發(fā)送給控制單元,控制單元判斷平臺是否滿足休眠條件,若滿足條件,控制單元通過交換機單元向電源控制系統(tǒng)的電源單元發(fā)送休眠或關閉指令,電源單元接收到指令后,關閉各路輸出,然后由喚醒單元關閉電源單元輸入,平臺進入休眠或關機狀態(tài)。
如圖3所示,是本發(fā)明的云端遠程喚醒流程圖。首先通過測試客戶端下發(fā)遠程喚醒的指令,服務器對指令進行處理,例如對指令進行保存等,然后轉發(fā)指令,喚醒單元通過數據交換單元接收指令后,控制開啟電源單元的電源輸入,電源單元上電工作,自動控制開啟各路的輸出,遠程喚醒結束。
如圖4所示,為本發(fā)明的云端遠程休眠流程圖。首先通過測試客戶端下發(fā)遠程休眠的指令,服務器對指令進行處理,例如對指令進行保存等,然后轉發(fā)指令,控制單元通過數據交換單元接收指令后,首先判斷是否滿足休眠條件,例如仿真測試平臺的系統(tǒng)設備生成的文件是否完全導入控制單元,以及控制單元的記錄信息是否向服務器備份完整。如果滿足休眠條件,那么控制單元向電源單元發(fā)送指令,電源單元根據指令關閉各路的輸出,系統(tǒng)設備斷電,然后控制單元將電源單元的斷電指令經過數據交換單元發(fā)送給喚醒單元,喚醒單元關閉電源輸出,遠程休眠結束。
如圖5所示,為本發(fā)明的單設備遠程控制流程圖。首先通過測試客戶端下發(fā)遠程控制的指令,服務器對指令進行處理,例如對指令進行保存等,然后轉發(fā)指令,控制單元通過數據交換單元接收指令后,若測試指令要求打開或關閉單設備電源等,那么控制單元向電源單元發(fā)送指令,電源單元根據指令開啟或者關閉對應設備的電源,對應設備上電或者斷電,單個設備電源控制結束。
本發(fā)明的喚醒單元主要由低功耗控制器及控制器的外圍控制電路組成,控制器和外圍控制電路均屬于現有電子常見技術。低功耗控制器包含軟件系統(tǒng)及外圍通信接口等,控制電路包含繼電器、驅動電路等。休眠或關機狀態(tài)時,控制器及控制電路正常工作;若控制器接收到外部指令,控制電路控制開啟電源單元輸入信號,電源單元上電啟動。
電源單元由電源監(jiān)測電路、電源控制電路及輸出切換電路組成,電源監(jiān)測電路包含輸出電源的采集、數據上傳;電源控制電路包含指令接收、分析以及控制信號輸出等;輸出切換電路包含繼電器、驅動電路等。電源監(jiān)測電路可對電源單元各路輸出進行采樣、監(jiān)測,并將監(jiān)測結果發(fā)送給控制單元;電源控制電路可對控制單元發(fā)送的指令進行轉換、處理,然后通過開關量信號驅使繼電器組直接通/斷各設備電源。
測試客戶端為人機交互單元,使用pc機作為客戶端,主要用于進行測試用例、測試序列的編制,及發(fā)送自動化測試操縱的請求;同時用于進行自動化仿真測試過程中的人機交互和仿真測試執(zhí)行過程及測試結果的顯示。測序序列包括至少一個測試用例,測試用例由線路模型和設置在線路模型上的測試項目構成,測試項目包括軌道信號、速度、管壓、機車工況、開關量、柴速、調車信號、dmi按鍵信息、atp信息、emu信息、btm信息、gps信息、ick信息中的一種或者幾種組成,測試項目按照機車真實運行的順序排布在線路模型上。
服務器用作為仿真測試系統(tǒng)的數據處理及存儲單元,用于對仿真測試平臺集群的管控及調度,包含對仿真測試平臺的選擇、對平臺工作模式的管控等;同時負責測試用例、測試序列的存儲、管理;負責測試客戶端與仿真測試平臺間信息傳遞的監(jiān)督、管理;負責存儲和管理仿真測試平臺的運行記錄及監(jiān)測信息,并結合測試用例評定測試結論;負責測試結論的存儲、管理、匯總。
信號發(fā)生單元用于模擬機車環(huán)境下的機車信號,進而為lkj系統(tǒng)設備提供速度、管壓、工況、機車信號、平面調車信號、btm信息、atp信息、emu信息、開關量信息等信號,且信號發(fā)生單元可依據平臺控制單元發(fā)出的指令自動給lkj系統(tǒng)設備提供上述信號。
信號采集單元用于回采lkj系統(tǒng)輸出的信號,比如里程計、雙針表,開關量信號等,此外還對lkj系統(tǒng)設備之間的關鍵通信內容進行偵聽,比如以太網通信、can通信等。信號采集單元能夠實時偵聽lkj系統(tǒng)關鍵信號及通信信息,并將有用信息發(fā)送給控制單元進行處理。
控制單元為仿真測試平臺的核心控制器。服務器將測試序列發(fā)送給控制單元,控制單元將測試序列轉換成測試指令,驅動信號發(fā)生單元自動輸出lkj系統(tǒng)設備所需外部信號,并對測試進程進行控制;同時,lkj系統(tǒng)設備根據接收的外部信號自動進行運行;另外,控制單元通過采集單元實現對lkj系統(tǒng)各設備的關鍵單元間交互信息進行監(jiān)視、偵聽,并對監(jiān)視信息及交互信息進行記錄、存儲、管理。
lkj系統(tǒng)設備主要包含列車運行監(jiān)控系統(tǒng)(lkj)自動仿真測試系統(tǒng)待測試lkj車載設備,主要有主機單元、人機交互單元、擴展單元等,主要用于對接收的信號發(fā)生單元的信息進行仿真測試。
本發(fā)明的列車運行監(jiān)控系統(tǒng)(lkj)仿真測試系統(tǒng)通過內部數據交換機單元與外部服務器進行網絡通信。服務器將指令通過數據交換單元傳輸給控制單元,由控制單元根據指令內容控制平臺內其它各個單元進行工作。控制單元可通過控制電源控制系統(tǒng)的喚醒單元和電源單元實現平臺電源系統(tǒng)的自動控制;控制單元可通過控制lkj系統(tǒng)設備軟件實現遠程仿真;控制單元可通過控制信號發(fā)生單元實現自動模擬輸出lkj系統(tǒng)設備所需的外部信號功能;控制單元可通過信號采集單元實現lkj系統(tǒng)設備間通信信息的監(jiān)測、偵聽;除此之外,控制單元還能夠對各種操作進程進行控制,并對過程數據進行暫存。
如圖6所示,本發(fā)明還提供一種使用上述系統(tǒng)進行自動仿真測試的測試方法,包括:
測試客戶端經服務器發(fā)送測試序列給仿真測試平臺集群的一個或者多個仿真測試平臺的數據交換單元;測試序列中包含多個測試項目和每個測試項目應具有的預期測試結果。
數據交換單元將接收到的測試序列發(fā)送給控制單元,控制單元對測試序列的內容進行解析,解析出測試序列中的測試項目,然后根據測試序列的測試要求,控制單元順序向信號發(fā)生單元發(fā)送測試指令,信號發(fā)生單元根據接收的測試指令向lkj系統(tǒng)設備發(fā)送模擬的對應于該測試項目的機車信號信息,lkj系統(tǒng)設備依據接收的機車信號信息進行仿真運行,信號采集單元采集lkj系統(tǒng)設備的運行結果,并將運行結果與測試序列中的預期結果進行比較,如果與預期結果一致,則表明測試結果正確,否則表明測試結果錯誤。
測序序列包括至少一個測試用例,測試用例由線路模型和設置在線路模型上的測試項目構成,測試項目包括軌道信號、速度、管壓、機車工況、開關量、柴速、調車信號、dmi按鍵信息、atp信息、emu信息、btm信息、gps信息、ick信息中的一種或者幾種組成。
上述的每個線路模型描述一個基本的線路或者一個站場局部或完整的信息,線路模型的線路和站場均為最基本的模型,其上添加不同的測試項目可以指代不同的真實線路。
測試之前,測試客戶端首先向服務器發(fā)送測試請求,服務器通過數據交換單元向電源控制系統(tǒng)的喚醒單元發(fā)送喚醒指令,喚醒單元接收喚醒指令后,通過連通電動開關開啟電源單元的輸入信號,電源單元啟動工作,并自動控制開啟控制單元、信號發(fā)生單元、信號采集單元、lkj系統(tǒng)設備的電源輸入,使控制單元、信號發(fā)生單元、信號采集單元、lkj系統(tǒng)設備進入正常工作;
當測試結束后,測試客戶端首先服務器發(fā)送關機指令,服務器通過數據交換單元將關機指令發(fā)送給控制單元,控制單元判斷平臺滿足關機條件后,通過數據交換單元向電源單元發(fā)送關機指令,由電源單元控制關閉控制單元、信號發(fā)生單元、信號采集單元、lkj系統(tǒng)設備的電源輸入,然后由喚醒單元關閉電源單元輸入,平臺進入關機狀態(tài)。