• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      列控中心軟件自動化測試框架設計

      2020-10-28 01:48:20陳增熙徐中偉
      計算機技術與發(fā)展 2020年10期
      關鍵詞:列控軟件測試報文

      陳增熙,徐中偉,梅 萌

      (同濟大學 電子與信息工程學院,上海 201804)

      0 引 言

      列控系統(tǒng)作為鐵路信號系統(tǒng)的核心裝備,其安全性攸關整個鐵路網絡的運行。列控中心作為列控系統(tǒng)地面設備的主控制設備,其應該具備穩(wěn)定可靠,長期運轉的特點[1-3]。在工程現場部署運營之前,必須經過嚴格的功能測試與可靠性測試,保證其安全性[4-5]。目前,國內外對列控中心軟件功能測試主要通過現場調試驗證與實驗室內計算機仿真測試進行?,F場調試驗證需要安裝真實設備,投入大量的人力物力,成本高,風險大,且無法驗證部分極端情況,所以目前基本都采用實驗室內計算機仿真測試。計算機仿真測試需要模擬列控中心真實運行環(huán)境,并根據列控中心軟件安全規(guī)范編寫測試案例,遍歷測試驗證。列控中心軟件屬于實時嵌入式系統(tǒng),其控制場景豐富廣泛,功能復雜,所以測試案例數量眾多。由于每個車站工程數據均不相同,所以每次測試都需要重新編寫案例。每條測試案例包括多個操作步驟,人工操作復雜,需要有經驗的業(yè)務人員進行具體判斷,如果測試時間緊張,就容易出現人工誤操作情況。分析列控中心軟件測試需求,高效合理地編寫測試案例與自動化測試是降低測試成本,提高測試質量的有效方法[6-9]。

      1 列控中心與自動化測試概論

      1.1 列控中心

      列控中心軟件作為列控中心的大腦,其管控多個與列控中心相連的信號設備,分析列控中心系統(tǒng)的物理結構與外部設備接口。列控中心外接設備主要有八個部分:ZPW-2000軌道電路、計算機聯鎖(CBI)、地面電子單元(LEU/BDU)、調度集中(CTC)、臨時限速服務器(TSRS)、相鄰列控中心(TCC)及信號集中監(jiān)測(CSM)、繼電器驅采設備。各外接設備功能概述如表1所示,列控中心與外接設備連接示意圖如圖1所示。

      表1 列控中心外接設備功能信息表

      圖1 列控中心與外接設備連接示意圖

      1.2 自動化測試

      軟件測試的基本原則是模擬實際線上軟件運行環(huán)境,輸入測試數據,對輸出結果進行判別,找出被測軟件系統(tǒng)或者程序中存在的漏洞和錯誤,是有目的性的行為。軟件測試伴隨著軟件開發(fā)整個過程,發(fā)展到今天,已經形成了一套成熟的測試理論。根據是否借助測試工具可分為人工手動測試、自動化測試。軟件自動化測試是軟件手工測試的高級階段,屬于軟件測試新的分支,即將需要執(zhí)行的測試案例編寫成腳本或者預先設定為程序,由機器自動執(zhí)行,代替人工操作,完成對目標應用程序的半自動或全自動測試,用以驗證軟件功能需求。軟件測試自動化框架技術主要有基于數據驅動的測試框架技術、錄制/回放測試框架技術、基于關鍵字驅動的測試框架技術、混合自動化測試框架技術幾大類[10-13]。

      列控中心軟件測試需要根據列控中心軟件安全規(guī)范編寫測試案例,屬于數據驅動測試。測試過程將測試數據與測試操作進行分離,測試數據存放在單獨數據文件中,測試案例存放在腳本中,輸入不同車站的測試數據可以驅動相同的腳本進行測試,通過腳本實現對測試數據的輸入和管理。通過對測試腳本的編排和優(yōu)化,可以實現案例自動化執(zhí)行判斷的目標,減少人工手動操作,最終實現半自動甚至全自動測試[14-16]。

      2 自動化測試框架設計方案

      2.1 列控中心軟件測試需求

      列控中心軟件主要功能是對外接信號設備的狀態(tài)信息采集與調度管理,所以列控中心軟件測試就是驗證其管理調度信號設備的能力,發(fā)現其功能邏輯上可能存在的漏洞或者初始車站數據配置上的錯誤。列控中心會實時檢測外接設備的輸入命令報文,對輸入命令進行邏輯運算,返回執(zhí)行結果。列控中心軟件運行邏輯流程如圖2所示。

      圖2 列控中心軟件運行邏輯流程

      列控中心軟件功能主要包括開機自檢、軌道電路狀態(tài)判斷、軌道電路編碼、異物侵限保護、軌道電路發(fā)碼方向控制、區(qū)間改變運行方向、區(qū)間通過信號機點燈控制、臨時限速及信號降級處理、發(fā)送應答器報文原則、維護診斷、異常處理等功能,測試需要覆蓋規(guī)范要求的所有功能,根據具體的車站數據,將抽象的測試功能點實例化成具體的測試案例,下發(fā)給列控中心執(zhí)行,判斷其執(zhí)行結果正確性。與此同時要考慮各功能在實際現場中的使用頻率,對于使用頻率高的功能要進行高頻次測試驗證,盡量貼合工程現場實際運營情況,提高測試結果準確性。

      2.2 自動化測試框架

      根據列控中心軟件測試需求與運行邏輯流程,自動化測試框架至少包括三個功能:讀取車站數據與軟件初始化,讀取測試案例轉換為命令報文并下發(fā),測試案例執(zhí)行結果判別輸出。對以上三個功能進行抽象歸納,提出符合列控中心軟件功能測試的自動化測試框架。提出的框架主要包括七層:人機交互、流程服務、組件服務、代理服務、基礎服務層、基礎數據通信層、數據中心。列控中心軟件自動化測試框架如圖3所示。

      圖3 列控中心軟件自動化測試框架

      2.3 測試框架運行流程

      2.3.1 軟件運行流程

      列控中心軟件自動化測試框架處理流程主要分為兩個域,即數據處理域和邏輯處理域。數據處理域主要模擬列控中心外接設備接口,負責與被測列控中心通信與數據報文持久化,而邏輯處理域主要負責測試案例下發(fā),與執(zhí)行結果判別記錄。列控中心軟件測試框架運行流程如圖4所示。

      圖4 列控中心軟件測試框架運行流程

      根據圖4可知,數據處理域與邏輯處理域工作流程如下:

      ·人機交互界面接收用戶指令并通過步驟①傳遞給流程服務。

      ·流程服務將測試案例翻譯成操作序列,通過步驟②下發(fā)給組件服務。

      ·組件服務負責把操作序列轉換為報文,通過步驟③傳輸給代理服務。

      ·代理服務通過步驟④將命令報文傳給基礎數據通信層,同時通過步驟⑤從數據中心讀取各外接設備接口發(fā)送的信息報文。

      ·基礎數據通信層將會對代理服務層發(fā)送的命令報文與各設備回傳報文進行安全協(xié)議校驗,校驗通過則通過步驟⑤存入數據中心。

      ·基礎服務層提供基礎組件,處理結果將逐層返回至人機交互界面供用戶查看。

      2.3.2 測試案例運行舉例

      根據以上測試框架運行流程,以計算機聯鎖辦理發(fā)車進路測試案例為例進行分析,其執(zhí)行流程如下:

      ·首先,人機交互界面接收用戶下發(fā)的辦理進路命令,傳遞給流程服務。

      ·流程服務層將辦理進路測試案例進行序列化,即轉換成計算機聯鎖先下發(fā)進路命令與信號機繼電器點燈兩個操作步驟下發(fā)給組件服務。

      ·組件服務將操作序列轉換為具體的計算機聯鎖報文與點燈繼電器點燈報文,傳遞給組件服務。

      ·組件服務將兩個報文按順序下發(fā)給基礎數據通信層中計算機聯鎖接口與點燈繼電器接口進行校驗。

      ·基礎數據通信層對數據報文進行校驗,校驗通過即存儲到數據中心,同時發(fā)送給列控中心,并將列控中心執(zhí)行結果報文存儲到數據中心。

      ·最后,代理服務層中的數據,執(zhí)行結果,告警信息等逐層逆向返回給人機交互層顯示測試是否完成。

      3 自動化測試平臺

      3.1 數據處理域詳細設計

      3.1.1 基礎數據通信層

      基礎數據通信層的功能為模擬外接設備接口,與列控中心通信,仿真出真實車站運行環(huán)境。各接口使用協(xié)議與工程現場保持一致,其中ZPW-2000軌道電路采用CAN通信方式,固定為從節(jié)點、地面電子單元中LEU采用RS422串口通信,BDU采用UDP協(xié)議通信,調度集中(CTC)采用RS422串口通信,繼電器設備使用PLC模擬數字驅采,臨時限速服務器(TSRS)、計算機聯鎖(CBI)、相鄰列控中心(TCC)以及信號集中監(jiān)測(CSM)均采用UDP協(xié)議通信。

      3.1.2 數據中心

      數據中心主要包括數據庫模塊、緩存模塊。數據庫模塊用于存儲基礎數據通信層傳回的數據。為了減緩數據庫壓力,降低數據庫讀操作頻率,增加設計緩存模塊,加快讀寫速度,數據存儲采用MySQL關系型數據庫,持久化保存數據,數據緩存采用Redis非關系型數據庫,緩存訪問頻次高的數據。為保證系統(tǒng)穩(wěn)定運行,寫操作方案為操作數據存儲。若需要數據緩存,則操作數據緩存,如果操作數據緩存失敗,禁止回滾,定時刷新緩存更行數據。為了保證系統(tǒng)高效運行,讀操作方案為操作數據緩存。如果緩存中不存在數據,則讀取數據庫,將讀出來的數據緩存至數據緩存中,方便下一次查詢,提高讀取效率。

      3.2 邏輯處理域詳細設計

      3.2.1 人機交互層

      人機交互核心功能是獲取用戶輸入的指令以及測試結果的展示。人機交互層設計包括動態(tài)效果,靜態(tài)頁面,請求與響應等。動態(tài)效果和靜態(tài)頁面是用于顯示頁面信息,請求與響應模塊用于提取靜態(tài)頁面中的參數和向靜態(tài)頁面載入數據。首先將自動化測試平臺部署到服務器上,用戶可以在服務器所在局域網內任意操作機進行訪問,下發(fā)測試案例,瀏覽器將向自動化測試平臺發(fā)送請求,請求處理器進行請求處理并響應,將測試案例下發(fā)給流程服務。

      3.2.2 流程服務層

      流程服務層核心功能是對測試案例的序列化,測試案例有規(guī)范的文本格式,對應唯一的測試案例ID,流程服務先對文本進行分割,然后將分割后的文本映射成具體的設備號加命令號,序列化器進行排序,生成完整的操作序列。比如辦理聯鎖進路測試案例,會被映射成計算機聯鎖下發(fā)具體進路與具體信號機點燈,下發(fā)給組件服務層。

      3.2.3 組件服務層

      組件服務層核心功能是實現操作序列到命令報文轉換,接收到操作序列后,組件服務將操作序列每一步作為一個鍵值,到數據中心搜索,查找其對應的命令數據,并將命令數據填充到對應外接設備報文里,轉發(fā)給代理服務層。

      3.2.4 代理服務層

      代理服務層的核心功能是解決數據中心變更等帶來的系統(tǒng)升級問題。當出現外接設備增加或減少等情況時,會對系統(tǒng)業(yè)務帶來大規(guī)模變更,從而增加系統(tǒng)不穩(wěn)定因素,通過代理層及適配器可實現系統(tǒng)靈活擴展并穩(wěn)定運行。代理服務層主要包括數據通信層代理模塊、數據訪問層代理模塊。數據通信層代理模塊主要負責和基礎數據通信層通信。數據訪問代理層模塊主要負責和數據中心層通信。代理服務節(jié)點作為組件服務層的通信接口,定義了基本的業(yè)務接口規(guī)范。為了兼容上層組件業(yè)務與數據中心和數據通信服務之間的差異,增加適配器設計,后期維護時,如果業(yè)務不發(fā)生變更,而底層因為系統(tǒng)擴容需要變更時,只需要調整適配器及代理層即可。

      3.2.5 基礎服務層

      基礎服務主要包括基礎研發(fā)框架、任務調度、文件管理、告警管理、權限管理,以及為各層提供基礎通用的組件,設立該層可以促進業(yè)務服務的復用功能,提高開發(fā)效率。基礎服務層包含組件如圖5所示。

      圖5 基礎服務層組件示意圖

      3.3 網絡部署

      自動化測試平臺采用分布式部署方案,驅采程序、ZPW-2000軌道電路通信程序、相鄰列控中心通信程序、計算機聯鎖通信程序部署在工控機1上,臨時限速服務器通信程序、調度中心通信程序、LEU/BDU通信程序部署在工控機2上,自動化測試平臺部署到兩臺服務器上,冗余配置,數據庫部署到單獨的存儲服務器上,具體部署方式如圖6所示。

      圖6 自動化測試平臺部署示意圖

      4 性能評估

      目前列控中心軟件測試主要以有經驗的測試人員手動測試為主,根據測試大綱要求,遍歷操作測試案例,人工判別結果,完成測試。但人工手動測試具有耗時長、容易誤操作的缺點,通過自動化測試平臺測試,能夠完成手動測試大部分案例,在提高了測試效率的同時可以提高測試準確率。

      將現有測試大綱里面的測試案例進行歸類,根據之前多次測試的數據記錄,統(tǒng)計了每個功能模塊測試案例的平均測試耗時與準確率。由于測試效率與準確率與測試人員自身業(yè)務經驗與以及操作速度有關,只保留兩位小數。最后使用提出的自動化測試平臺進行同等測試,得到的測試性能比較情況如表2所示。

      表2 測試耗時與準確率統(tǒng)計

      測試平均耗時方面,自動化測試平臺上每條案例間隔執(zhí)行時間為人為設定,在保證每條案例能夠執(zhí)行完整的條件下,設置了不同的間隔。相對于手動測試,自動化測試效率有了很大提升。在測試準確率方面,自動化測試平臺執(zhí)行案例結果與列控中心初始狀態(tài)有關,會有部分案例出現錯誤判別情況,其余案例能夠實現全部正確執(zhí)行,提高了測試準確率,保證了測試質量。

      5 結束語

      對列控中心軟件測試操作復雜,效率低下,誤操作率高的問題進行分析,提出一種列控中心軟件自動化測試框架,實現測試案例自動下發(fā)、執(zhí)行、判決。根據具體測試需求,采用分層設計的理念,將車站數據配置、案例加載、文本案例解析、命令下發(fā)、基礎通信、日志權限管理等分層設計,實現測試全過程監(jiān)控??傮w來看,此設計方案彌補了原測試平臺擴展性差、測試困難、效率低下等不足,且降低了開發(fā)成本,提高了實際測試質量,具有很好的應用價值。在今后的研究工作中,可主要研究測試案例自動生成,提高自動化程度。提出的自動化測試框架具有很好的兼容性,可推廣應用到無線閉塞分區(qū)、計算機聯鎖、聯鎖列控一體化等信號設備安全測試中,提高測試效率。

      猜你喜歡
      列控軟件測試報文
      基于J1939 協(xié)議多包報文的時序研究及應用
      汽車電器(2022年9期)2022-11-07 02:16:24
      列控聯鎖數據管理分析平臺的研究與探索
      CTCS-2級報文數據管理需求分析和實現
      列控中心驅采不一致分析及改進方案
      基于OBE的軟件測試課程教學改革探索
      計算機教育(2020年5期)2020-07-24 08:53:20
      便攜式列控中心測試設備設計與實現
      淺析反駁類報文要點
      中國外匯(2019年11期)2019-08-27 02:06:30
      EXCEL和VBA實現軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      列控數據管理平臺的開發(fā)
      關于軟件測試技術應用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      阿拉善右旗| 神木县| 泰州市| 云安县| 康平县| 陈巴尔虎旗| 长寿区| 耒阳市| 临猗县| 襄垣县| 孟村| 宝山区| 敖汉旗| 西藏| 凤庆县| 福州市| 吉安县| 清徐县| 安化县| 金川县| 凌海市| 东丰县| 普定县| 金湖县| 水富县| 岢岚县| 夏邑县| 高唐县| 本溪| 宜阳县| 鄄城县| 普陀区| 鄯善县| 锡林郭勒盟| 莎车县| 景谷| 文成县| 曲沃县| 玛纳斯县| 临泽县| 饶平县|