?

基于智能專家庫混合模型自動化測試在青藏鐵路RBC系統的應用

2020-08-22 06:48李春慧
鐵路通信信號工程技術 2020年8期
關鍵詞:青藏鐵路腳本模擬器

李春慧,夏 明

(卡斯柯信號有限公司,北京 100070)

1 RBC測試的特殊性

青藏鐵路開通以來,青藏集團累計運送貨物5.56億t,貨物運送由2006年2 491萬t至2017年的4 572.7萬t,年增長率為5.7%,2018年西藏自治區GDP總量超1 477億元,是青藏鐵路全線通車前的248.8億元的5倍多。由此可見青藏鐵路對西藏的發展起到的巨大助力[1]。

RBC作為青藏鐵路增強型列車控制系統(Incremental Train Control System,ITCS)地面設備的核心,基于2乘2取2架構的安全平臺,主要完成既有ITCS系統中的RBC和信號邏輯相關功能,負責接收來自調度集中系統(Centralized Traffic Control,CTC)的操作命令,同時反饋狀態信息和維護信息。通過無線通信系統把管轄區域內的信號設備狀態發送給車載設備,獲取列車占用信息,同時將差分定位信息發送給車載用于列車定位,架構如圖1所示。涉及到功能、接口、性能等方面的測試,與其他的被測系統一樣,給被測系統激勵信號,同時獲得相應響應。RBC系統有其自己的特殊性。

1)測試數據量龐大。僅針對布爾(BOOL)數據,對于簡單安多站的BOOL數據量達到562個,單個RBC管轄2到3個站的時候,數據量會直接翻翻。RBC上電后會每周期去計算所有的數據。

2)測試激勵與響應之間關系復雜。最大的布爾方程式可以達到300項,而且各個變量之間耦合性非常強,建立一個準確的數學模型非常難,甚至不現實。

3)關鍵系統,安全等級高。RBC作為SIL4產品,其測試強度及測試完整性的要求都非常高。

4)產品工程化上線后,會有大量的回歸測試并且對時間要求更加苛刻。

傳統的人工測試無法更好的滿足時間、質量、安全及成本的關系。對于重復性高且工作量大的測試,自動化測試是必然的趨勢,人工測試更應該集中在探索性測試等復雜度高的測試場景中。

圖1 ITCS-RBC系統架構Fig.1 Architecture of ITCS-RBC system

2 測試環境架構與功能

測試架構如圖2所示,各部分完成功能如下。CTC模擬器模擬CTC主要功能,與RBC交互聯鎖操作命令、表示信息、臨時限速命令和臨時限速確認消息。

圖2 ITCS-RBC系統測試環境Fig.2 Test environment of ITCS-RBC system

全球定位系統(Global Positioning System,GPS)模擬器模擬GPS功能,模擬差分消息的發送。OBC模擬器模擬車載主要功能,與RBC交互列車狀態、占用狀態、信號狀態、道岔位置,臨時限速和差分信息。

LRBC模擬器模擬鄰站RBC功能,與RBC交互改方請求、改方回執、Lost of integrity(LOI) 封 鎖狀態、區間占用狀態、由車地通信導致的LOI狀態、區間區段封鎖狀態、邊界區段的占用狀態和LOI狀態。

Vital In-Out Platform(VIOP)模擬器主要模擬VIOP平臺主要功能,與RBC之間交互道岔位置, 列車信號機和調車信號機狀態, 上行區間發車請求,下行區間發車請求, 上行區間發車照查, 下行區間發車照查;下行方向允許發車,上行方向允許發車,下行區間接近區段占用,上行區間接近區段占用,RBC健康狀態,下行區間接車方向,下行區間發車方向,上行區間接車方向,上行區間發車方向信息。

3 自動化測試設計

RBC測試過程復雜,但是每一條測試用例都具有明確的輸入和輸出。將若干個用例按照測試業務組合成測試套件。對測試套件進行數學建模,建立簡潔、直觀的自動化測試預言定義測試序列,開發通用的自動化測試軟件按照測試序列定義進行測試[2]。當出現異常時完成自主跳轉及報警。根據測試套件執行情況,依據測試用例,完成詳細的測試評估報表。以示意圖的形式顯示給測試人員進行功能需求覆蓋率及測試完成度的分析。

ITCS-RBC自動化測試系統分為3個層次[3],由應用層、基礎功能層和資源層組成,如圖3所示。

圖3 自動化測試系統組織架構圖Fig.3 Architecture diagram of automatic test system

第一層為資源層,其中基礎數據庫由BOOL離線數據、ASW(Application software)離線數據和MSW(Middle software)離線數據組成。智能專家數據庫中存放測試規則及程序跳轉規則。主測試處理機根據測試準備界面用戶輸入的本輪需要執行的測試腳本,通過調用離線數據、OBC/VIOP/CTC等消息和智能專家數據庫的測試規則來執行測試腳本,發出測試過程及測試結果信息。當某個腳本執行失敗,需要根據智能專家測試庫的規則來自動實現程序跳躍和問題原因分析。

基于產生式規則的知識表示方式是人工智能領域中最為廣泛的一種[4]。一個規則由兩部分組成:如果滿足條件1,則執行動作1。

所有的規則都可以由基本規則衍生出來,如圖4所示。智能專家數據庫要做的工作就是加工和處理這些規則[5]。

圖4 規則組合Fig.4 Rules combination

專家知識庫[6-7]在每次回歸測試前或者重大變更后,依據需求,測試環境或用例的變更進行維護和更新,并且經過專家的評審和驗證,以避免規則庫本身引入或者屏蔽被測對象的故障。測試人員的工作狀態、測試環境、身體條件,人員變動等會直接導致測試質量下降或者波動。規則庫的使用則很好的規避上述問題。

第二層為基礎服務層,數據庫訪問提供基本的數據庫訪問操作;網絡訪問建立TCP/IP連接、接收數據包及FTP協議傳輸文件數據等;文件操作管理測試腳本導入、導出功能;圖形設備接口是自動化測試系統的人機圖形操作接口,提供對資源層各類數據的操作。

第三層為應用層,由邏輯層和表現層組成。邏輯層管理自動化測試系統的配置信息,使用功能表現層能夠專注主要的業務邏輯,提供管理用戶及權限驗證等功能。

表現層測試準備界面:腳本編寫本輪要執行的腳本的選擇與發送等。

測試執行界面:自動執行測試腳本,實時顯示腳本執行狀態,實時顯示系統跳轉狀態,同時記錄跳轉原因。

測試評估界面:顯示腳本執行結果,通過率,覆蓋率及失敗腳本的原因。這個自動化邏輯功能[8]如圖5所示。

圖5 規則設計思路Fig.5 Rule designing

4 實際與應用

在ITCS-RBC自動化測試準備過程中完成測試程序自動發布,編譯和安裝,減少了由于人工搭建測試環境出錯的可能,也大大提高了測試效率,目前RBC已經完成了ISA認證和室內驗收,具備上道的技術條件。

在測試執行階段,經統計如表1所示,對于數據驗證累計403條用例,其中能夠通過自動化完成測試的用例合計385,自動化程度達到95%。大大減少了重復性工作。

累計四輪測試的資源統計如表2所示,單位:人/天。累計四輪測試準備人工為86人/天,測試工時78人/天;使用自動化測試,測試準備人工為59人/天,14人/天。測試效率提高了55%。

表1 自動化測試系統應用統計Tab.1 Applied statistics of automatic test system

表2 測試資源Tab.2 Test resource 人/天

5 總結

對于RBC產品測試存在大量的數據測試可重復性高且工作量大。另外在產品進入穩定階段或者工程化階段后,存在大量的回歸測試,自動化測試系統提高了測試數據資源的重復利用率,同時可以解放測試人員使其能夠專注于更復雜的測試設計及測試過程改進等工作中,這對于青藏鐵路復雜環境下的貨物運輸會提供強有力的助力和信心。

猜你喜歡
青藏鐵路腳本模擬器
酒駕
駕駛模擬器轉向系統的設計與研究
了不起的安檢模擬器
盲盒模擬器
劃船模擬器
安奇奇與小cool 龍(第二回)
青藏鐵路
自動推送與網站匹配的腳本
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合