999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CBTC系統數據轉換工具自動化測試框架研究

2020-06-29 07:21:29胡甜
機電信息 2020年12期

摘要:針對CBTC系統數據轉換工具測試中由于數據量大、回歸輪次多等原因導致的耗時、耗力的現狀,提出了一種自動化測試框架,旨在提高測試效率,縮短測試時間,減少人為錯誤。該自動化測試框架易于擴展,可以靈活地應用到各個項目中。

關鍵詞:自動化測試框架;測試腳本;數據轉換

0? ? 引言

基于通信的列車控制(Communication Based Train Control,簡稱CBTC)系統已經成為城市軌道交通信號系統的發展方向[1]。數據,作為CBCT系統中的核心組成部分,肩負著為整個CBTC系統的運行提供線路數據信息、子系統數據信息等重要功能。為了快速準確地生成數據,數據轉換工具應運而生,該工具提供了子系統設計數據的生成、系統數據和子系統設計數據的安全校驗以及子系統應用數據的生成等功能。由于生成數據的安全性和準確性是CBTC系統安全連續運行的重要保證,因此需要對數據轉換工具進行充分有效的測試。

在項目執行過程中發現,目前的數據轉換工具測試存在以下問題:

(1)手工黑盒測試回歸效率低。

(2)由于數據量大,手動測試存在偶然性和不確定性。

(3)回歸的覆蓋率不足,容易遺漏問題。在項目執行過程中,由于執行進度和交付時間緊等原因,測試策略通常是回歸測試,也就是根據需求變更和代碼變更挑選回歸范圍,在回歸覆蓋率和測試時間之間折中,但這樣很容易遺漏問題。

本文針對前面提到的數據轉換工具測試中由于數據量大、回歸輪次多等原因導致的耗時、耗力的現狀,提出一種自動化測試框架,旨在:

(1)降低回歸成本,減少人力和時間投入;

(2)提高回歸覆蓋率,每一輪測試都可以做到全回歸;

(3)提高回歸的穩定性,使測試結果確定。

1? ? CBTC系統數據轉換工具概述

圖1是CBTC信號系統的架構,包括列車自動監控子系統(簡稱“ATS子系統”)、區域控制器(簡稱“ZC子系統”)、聯鎖子系統(簡稱“CBI子系統”)和車載子系統(簡稱“OBCU子系統”)[2]。

下面簡單介紹一下各子系統的功能:

(1)ATS子系統完成列車運行監控、報警顯示、進路排列和運行圖的調整等功能,還可以提供近期的列車運行記錄的查詢。

(2)OBCU子系統是控制列車運行和保證列車實現移動閉塞制式的關鍵設備。

(3)ZC子系統是重要的地面控制設備,主要功能是對本區域內運行的列車進行管理,同時考慮列車進路、道岔狀態、線路限速以及其他障礙物的條件,向列車發送“移動授權”。

(4)CBI子系統是為了保證行車安全,在進路、道岔和信號機之間存在的相互制約關系。主要負責采集道岔、信號機、屏蔽門、緊急按鈕等的狀態信息,并控制它們,完成列車進路的辦理和取消。

每個子系統都需要軌旁數據(比如線路上道岔、軌道等軌旁設備的信息)和子系統數據(比如站臺信息、進路信息等)的支持,而子系統軟件運行時則要讀取特定格式(比如二進制或者XML格式)的文件,數據轉換工具的作用就是將軌旁數據和子系統數據根據各子系統的設計要求,轉換成規定格式的設計數據。下面簡單介紹一下數據轉換工具。

CBTC系統數據轉換工具是用于系統設計和數據轉換的軟件平臺,功能包括:

(1)導入、導出軌旁數據;

(2)導入、導出系統參數;

(3)導入、導出子系統設計數據;

(4)數據校驗,工具可以檢查出源數據的格式錯誤,并正確報警。

該工具的輸入數據是軌旁數據和子系統設計數據,多為Excel格式;輸出為子系統數據,多為二進制格式。

為了確保系統運行正常,一定要保證轉換前后數據的一致性。

2? ? 自動化測試框架概述

框架是整個或部分系統的可重用設計,表現為一組抽象構件及構件實例間交互的方法;另一種定義認為,框架是可被應用開發者定制的應用骨架。前者是從應用方面給出的定義,而后者是從目的方面給出的定義。從框架的定義可以了解,框架可以是被重用的基礎平臺,也可以是組織架構類的東西。其實后者更為貼切,因為框架本來就是組織和歸類所用的。

自動化測試框架可以提供自動化測試執行和管理功能的架構模塊,測試完成后統計測試結果。自動化測試框架需要滿足以下幾個要求:

(1)自動化測試更便于實施,也就是說,寫測試腳本要方便,要讓不怎么懂技術的測試人員也可以寫自動化測試腳本。

(2)解決自動化測試腳本本身存在的問題,如異常處理和場景恢復等[3]。一個自動化測試框架在批量執行腳本的情況下,不論遇到什么情況,如腳本運行錯誤、腳本質量錯誤、測試環境異常、被測設備死機或掛起等,都要有能力重新清理測試環境,使測試環境恢復到最初始的狀態,并執行接下來需要執行的腳本。

(3)易于維護。自動化測試是為了提高效率,因此測試框架和測試腳本都要易于維護,不能讓維護變成另一種工作量。

(4)可重用性[4],在框架里,可以實現一些通用功能,簡化腳本開發過程。

(5)測試報告美觀易讀。

因此,自動化測試框架應具備以下功能:

(1)Log:日志記錄和管理功能,針對不同情況,設置不同的日志級別,方便定位問題。

(2)Report:生成測試報告。

(3)Common:公共函數、方法以及通用操作的管理,遵循高內聚、低耦合的原則,為編寫腳本提供便利。

(4)TestCase:測試用例管理功能。

(5)Harness:提供多種測試用例的執行方式,方便測試人員執行腳本;還負責異常梳理和場景恢復。

3? ? 針對數據轉換工具的自動化測試框架

3.1? ? 測試框架架構

測試框架架構如圖2所示,其中DataTool為被測體,測試框架包括:

(1)Log:提供日志功能,設置不同的日志級別,可以在案例執行過程中寫入日志,方便定位問題。

(2)Harness:提供了測試案例的管理方式和執行方式。

(3)TestCase:提供腳本編寫的模板,測試人員可以基于框架編寫測試腳本。

(4)Common:提供一些可重用功能,以簡化腳本編寫難度。

(5)Report:測試結束生成測試報告,提供簡潔明了的測試結果和測試日志。

(6)ExcelReader:針對數據轉換工具開發的Excel讀取和修改模塊,用來讀取數據工具的輸入數據。

(7)BinaryReader:針對數據轉換工具開發的二進制文件讀取模塊,用來讀取和解析數據工具的輸出數據。

對于數據轉換的測試流程為:測試腳本分別讀取輸入數據和輸出數據,依據一定的規則進行運算,然后將輸入數據和輸出數據進行比對,記錄日志。

對于數據校驗的測試流程為:根據測試目的,修改輸入數據,運行數據轉換工具讀取修改后的輸入數據,通過測試腳本讀取報警內容,和期望結果進行比對,記錄日志。

3.2? ? Log功能

Log功能提供如下接口:

(1)LogPass(string msg):記錄測試通過。

(2)LogFail(string msg):記錄測試失敗。

(3)LogInfo(InfoType iType,string msg):記錄測試日志,其中日志類型分為Info、Error、Debug和Highlight四種類型,方便測試人員定位問題。

測試人員可以在編寫腳本時調用Log模塊記錄日志,還可以通過該模塊根據判據記錄測試結果。

3.3? ? Harness功能

Harness模塊提供了如下3個主要功能:

(1)測試腳本管理:該模塊提供了測試腳本的編寫模板,測試人員可以根據模板編寫腳本,如果有其他需求,該框架也可以很簡便地擴展。

(2)測試腳本執行:該模塊支持多種執行方式,使用模塊提供的命令行,可以按照測試人員分類執行,也可以按照測試類別分類執行。

(3)測試場景恢復:測試框架還支持在腳本執行前后進行特定的場景恢復操作,保證腳本之間的獨立性。

3.4? ? TestCase功能

在該測試框架中,每個測試腳本均為一個命名唯一的函數,且都有唯一的屬性,Harness模塊會根據該屬性讀取并執行測試腳本。這樣,測試人員只需要關注腳本編寫本身,極大地降低了對測試人員編碼水平的要求。

測試人員編寫腳本時可以根據測試目的調用Common和Log模塊提供的接口。

3.5? ? Common功能

Common模塊提供了一些可復用的功能,封裝成統一的接口,供測試腳本調用,降低了腳本編寫難度。主要功能包含:

(1)支持多種數據類型的結果比對,并生成日志;

(2)讀取二進制文件,支持大小端,并且按照規定的格式解析二進制文件;

(3)讀取XML文件;

(4)讀取和修改Excel文件,這樣,測試人員可以通過接口調用來修改Excel文件,而非人工操作,極大地提高了測試效率和測試準確率。

3.6? ? Report功能

Report模塊提供了兩種形式的報告:txt格式和xml格式。

(1)txt格式的測試報告包含測試腳本執行過程中生成的日志,如圖3所示。

(2)xml格式的測試報告提供了測試結果總結,如圖4所示,包含測試環境、測試時間、測試腳本名稱和測試結果,執行失敗的腳本會高亮。測試報告的內容和格式也可以根據測試需求進行修改和擴展。

4? ? 結語

數據工具自動化測試框架可以用于數據工具測試,作為框架,它的結構是開放的,使用時可以根據測試的需要對其進行擴展和改進,可靈活運用到各種項目中。在項目執行過程中,通過使用該工具,可以極大地提高測試效率和測試準確率,對測試人員的代碼水平也沒有太高的要求。

[參考文獻]

[1] 2009—2012年中國城市軌道交通線網規劃及行業設備報告[R].

[2] IEEE Standard for User Interface Requirements in Communications-Based Train Control (CBTC) Systems: 1474.2—2003[S],2003.

[3] KELLY M.Choosing a test automation framework[EB/OL]. [2020-03-20].https://www.ibm.com/developerworks/rational/library/591.html.

[4] NAGLE C.Test Automation Frameworks[EB/OL].[2020-03-

20].http://safsdev.sourceforge.net/FRAMESDataDriven-TestAutomationFrameworks.htm.

收稿日期:2020-03-24

作者簡介:胡甜(1982—),女,湖北紅安人,博士,工程師,軟件測試主管,研究方向:嵌入式軟件白盒測試、軟件自動化測試。

主站蜘蛛池模板: 色窝窝免费一区二区三区| 亚洲综合一区国产精品| 一级毛片高清| 日韩二区三区无| 国产精鲁鲁网在线视频| 久久精品这里只有国产中文精品| 一本一道波多野结衣av黑人在线| 午夜人性色福利无码视频在线观看| 婷婷伊人五月| 亚洲天堂.com| 午夜啪啪网| 国产毛片片精品天天看视频| 国产在线视频自拍| 3p叠罗汉国产精品久久| 亚洲欧美日韩成人在线| 国产成人一区在线播放| 最新国产精品鲁鲁免费视频| 天天躁狠狠躁| 日韩人妻无码制服丝袜视频| 国产精品网址在线观看你懂的| 日韩精品无码免费一区二区三区| аⅴ资源中文在线天堂| 99久久精品国产自免费| 特级做a爰片毛片免费69| 国产精品主播| 91精品国产91欠久久久久| 一区二区影院| 国内精品自在自线视频香蕉| 九色视频在线免费观看| 国产成人精品无码一区二| 一级香蕉视频在线观看| 免费一级毛片完整版在线看| 国产91精品调教在线播放| 综合久久五月天| 亚州AV秘 一区二区三区| 亚洲国产日韩在线观看| 在线免费a视频| 午夜精品久久久久久久2023| 天天操天天噜| 国产99视频精品免费观看9e| 亚洲欧美国产五月天综合| 亚洲精品天堂在线观看| 无码国内精品人妻少妇蜜桃视频| 国模极品一区二区三区| 久久久久无码国产精品不卡| 亚洲人成影视在线观看| 午夜视频在线观看免费网站| 首页亚洲国产丝袜长腿综合| 欧美国产日产一区二区| 亚洲欧美一区二区三区蜜芽| 亚洲色图欧美激情| 色精品视频| 六月婷婷精品视频在线观看 | 美女扒开下面流白浆在线试听| 国产精品三级专区| 国产成人h在线观看网站站| 久久久久免费看成人影片| 国产精品99在线观看| 国产精品真实对白精彩久久| 国产午夜不卡| 久久久精品国产SM调教网站| 丁香综合在线| 国产精品视频3p| 孕妇高潮太爽了在线观看免费| 麻豆国产原创视频在线播放| 国产成人精品男人的天堂| 亚洲AV无码一区二区三区牲色| 日韩成人在线视频| 亚洲黄色高清| 国产一区二区影院| 欧美成人怡春院在线激情| 无码国产伊人| 国产在线无码av完整版在线观看| 亚洲人成网7777777国产| 国产99在线观看| 国产免费黄| 91精品啪在线观看国产91| 久久窝窝国产精品午夜看片| www.狠狠| 呦系列视频一区二区三区| 亚洲第一香蕉视频| 欧洲精品视频在线观看|