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

TCL腳本語言在車載自動防護系統(tǒng)自動測試中的應用*

2013-03-17 00:52:42張友兵
城市軌道交通研究 2013年5期
關鍵詞:案例

張友兵 張 波

(北京全路通信信號研究設計院有限公司列車自動控制研究所,100073,北京∥第一作者,助理工程師)

車載ATP(列車自動防護)系統(tǒng)作為CTCS-2級列控系統(tǒng)的重要組成部分,影響著列車的行車安全。在將車載ATP投入應用之前,必須對其進行嚴格、完備的測試。

當前,對車載ATP進行的測試是以人工為主的測試。由于需要人的參與和控制,這種方法效率低下,也無法克服回歸測試中重復操作、工作量大等問題,而且需要測試人員根據知識和經驗判斷測試結果,因此測試結果的準確性不能得到切實保證。

鑒于人工測試的諸多弊端,所以亟需開發(fā)針對車載ATP的自動測試。在自動測試中,必然要編寫測試腳本,利用測試腳本與車載ATP之間自動交互信息和自主判斷,完成對車載ATP的測試。

本文介紹了利用工具命令語言(Tool Command Language,簡為TCL)腳本語言編寫針對車載ATP的TCL腳本函數庫,并利用TCL腳本函數庫編寫車載ATP測試案例腳本的方法。最后,以“列車側線通過12號道岔”為例,介紹了根據測試案例編寫測試案例腳本的方法。

1 TCL語言簡介

TCL語言是一種命令腳本化語言。它是基于字符串的解釋型命令語言,是一種簡明、高效、可移植性好的編程語言,具有可擴展、支持重用、簡單易學等特點。TCL語言作為應用的粘合劑,能夠將很多應用程序緊密地集成在一起,并且每一條TCL語句都可以理解成命令參數形式[1-2]。TCL提供了標準語法,并實現了許多功能,利用TCL開發(fā)測試腳本方便而簡單[3-4]。

TCL功能很強大,經常被用于快速原型開發(fā)、腳本編程、GUI和測試等方面。TCL和其他編程語言例如C不同,它是一種解釋語言而非編譯語言。TCL程序由一系列TCL命令組成,在運行時由TCL解釋器解釋運行。

雖然TCL是一種腳本語言,但是它的編程規(guī)則和C、C++等常用語言很類似,容易上手。而且TCL腳本語言提供了許多TCL命令,這些命令為實現復雜多樣的功能提供了方便。TCL語言提供了解析器,無需開發(fā)人員再去開發(fā)新的解析器。基于TCL語言的以上特點,使用TCL腳本語言編寫測試腳本具有簡單、方便、功能強大等優(yōu)點。

2 車載ATP自動測試系統(tǒng)結構

車載ATP自動測試系統(tǒng)結構圖如圖1所示。

圖1 車載ATP自動測試系統(tǒng)結構圖

測試腳本包括TCL腳本函數庫和測試案例腳本兩部分。根據測試案例的每一步操作,依次調用TCL腳本函數庫中與操作對應的腳本函數,并為腳本函數輸入正確的參數,就可編寫出與測試案例對應的測試案例腳本。

主引擎調用測試案例腳本,將腳本命令傳遞給正確的分引擎,分引擎通過測試接口將腳本命令發(fā)送給車載ATP,控制ATP執(zhí)行該腳本命令。同時,分引擎通過測試接口從車載ATP實時獲取信息,獲得車載ATP信息之后,分引擎通過主引擎將車載ATP信息傳遞給測試案例腳本。

從圖1可以看出,主引擎、分引擎和測試接口一起構成了測試案例腳本與車載ATP交互信息的橋梁。正是通過測試腳本與車載ATP之間自動交互信息,測試案例腳本控制著車載ATP執(zhí)行各種操作和狀態(tài)轉換,并根據車載ATP的反饋信息判斷被測功能是否成功,最終實現對車載ATP的功能測試。

本文主要目的是介紹利用TCL腳本語言創(chuàng)建TCL腳本函數庫和編寫測試案例腳本,因此不對主引擎、分引擎、測試接口和車載ATP做深入介紹。

3 創(chuàng)建TCL腳本函數庫

為了降低編寫測試案例腳本的復雜度,減少維護腳本的工作量,提高編寫測試案例腳本的效率,很有必須將測試案例中針對某一個被測功能的所有腳本模塊化成一個固定的函數,所有這些函數構成一個TCL腳本函數庫。如果一個測試案例需要測試車載ATP的某一項功能,只需調用TCL腳本函數庫中與被測功能對應的TCL腳本函數。

下面舉例說明如何將測試腳本模塊化成功能單一的函數。

在CTCS-2級列控系統(tǒng)車載ATP的測試案例中,經常需要判斷列車當前的允許速度是否為期待的允許速度。判斷列車當前允許速度的邏輯處理流程如圖2所示,判斷列車當前允許速度的TCL腳本代碼如圖3所示,從圖3可以看出,如果用TCL腳本語言實現該函數,需要多句腳本語言才能實現該功能。因此,很有必要將所有用于判斷列車當前允許速度的TCL腳本語言封裝成一個函數expect_permitted_speed。每次調用函數expect_permitted_speed的時候,只需輸入期待允許速度permitted_speed和超時時間time_out即可。

在CTCS-2級車載ATP測試案例中,還經常需要判斷列車當前運行等級、速度、加速度等信息,又需要對車載ATP執(zhí)行上電、激活駕駛臺、設置列車加速度等操作。無論是判斷車載ATP的各種狀態(tài)信息,還是對車載ATP執(zhí)行的各種操作,都具有單一的功能,可以將實現這些功能的TCL腳本封裝成函數,所有這些函數集合起來就構成了TCL腳本函數庫。

如果需要測試車載ATP新的功能,或者對車載ATP執(zhí)行新的操作,只需在TCL腳本函數庫中添加新的函數即可。如果需要改變某一個車載ATP功能的測試方法,只需對TCL腳本函數庫中的對應函數進行修改。可以看出,創(chuàng)建TCL腳本函數庫方便了測試案例腳本的修改,也能減少修改測試案例腳本所帶來的錯誤。

圖2 判斷列車當前允許速度流程圖

圖3 判斷列車當前允許速度的TCL腳本代碼

4 編寫測試案例腳本方法及舉例

根據測試案例編寫測試案例腳本時,在測試案例腳本開頭部分首先引用包含TCL腳本函數庫的文件,根據測試案例中每一步需要執(zhí)行的操作,依次調用TCL腳本函數庫中與該操作對應的TCL腳本函數,根據實際情況為每一個被調用的TCL腳本函數輸入正確的參數,即可完成一個測試案例腳本的編寫。

下面根據一個真實的車載ATP測試案例,舉例說明該測試案例對應的測試案例腳本。

表1是列車側線通過12號道岔的一個測試案例。測試案例的初始條件是列車停在新咸寧IIIG。列車運行路徑為從新咸寧IIIG正線發(fā)車,新烏龍泉車站側線通過,最高允許速度為300km/h,道岔彎股限速45km/h。

圖4為列車側線通過12號道岔的測試腳本。其中,“#”開頭的語句均為注釋語句。每一句TCL腳本語句都是由TCL腳本函數和輸入參數構成,TCL腳本函數全部來自TCL腳本函數庫“ate.exp”。下面對這些TCL腳本函數做簡要說明。

set_atp_power:設置車載ATP上電或斷電。

set_cabin:激活或關閉列車駕駛臺。

表1 列車側線通過12號道岔測試案例

圖4 列車側線通過12號道岔測試腳本

set_cabin_direction:設置列車方向手柄為前向或中立或后向。

set_speed:設置列車實際運行速度為指定速度。

expect_operational_mode:判斷列車當前處于何種運行模式。

expect_position:判斷列車是否到達指定位置。

expect_machine_man_control:判斷 DMI當前顯示“機控”或“人控”。

expect_target_speed:判斷列車當前的目標速度是否等于指定速度。

expect_permitted_speed:判斷列車當前的允許速度是否等于指定速度。

expect_speed:判斷列車當前實際速度是否等于指定速度。

press_dmi_button:按壓DMI上的啟動按鈕。

goto_track_position:設置列車初始位置。

5 結語

在CTCS-2級列控系統(tǒng)中,為了保證行車安全,在將車載ATP投入實際使用之前,必須對其進行嚴格測試。對車載ATP進行自動測試,不但可以降低測試人員的工作壓力,提高測試效率,而且能夠提高測試的準確度,因此,很有必要研究和開發(fā)車載ATP的自動測試方法。在自動測試中,必然要運用到測試腳本。本文介紹了TCL腳本語言,并描述了利用TCL腳本語言編寫測試案例腳本的方法,并舉例說明了根據測試案例編寫測試案例腳本的方法。目前,CTCS-2級車載ATP自動測試平臺已經開發(fā)完成,利用本文介紹的方法編寫的CTCS-2級車載ATP測試案例腳本進行實驗室測試和驗證,證明利用TCL腳本語言編寫測試腳本是方便高效的,本文介紹的方式是正確可行的,可以提高測試效率及測試結果準確度,并減低測試人員工作壓力。

[1]John K.Ousterhout Ken Jones.Tcl/Tk入門經典[M].北京:清華大學出版社,2010.

[2]趙利.基于TCL腳本的自動化測試工具的研究與實現[J].信息化研究,2009,35(11):28.

[3]魏玄,申敏.基于TCL腳本語言的AT指令自動化測試技術的研究[J].重慶郵電大學學報,2008,20(5):517.

[4]付文霞.腳本在面向對象實時數據庫中的應用研究[J].科學技術與工程,2008,8(17):5024.

猜你喜歡
案例
案例點評
幼兒100(2023年36期)2023-10-23 11:41:48
THE STARSHIP CEDIA 2020案例大賽獲獎案例
LAKERIDGE CEDIA 2020案例大賽獲獎案例
案例4 奔跑吧,少年!
少先隊活動(2021年2期)2021-03-29 05:40:48
TWO VILLAS IN ONE CEDIA 2020案例大賽獲獎案例
Superheroes CEDIA案例大賽優(yōu)秀案例
Smarter Homes Experience Centre CEDIA案例大賽優(yōu)秀案例
隨機變量分布及統(tǒng)計案例拔高卷
發(fā)生在你我身邊的那些治超案例
中國公路(2017年7期)2017-07-24 13:56:38
隨機變量分布及統(tǒng)計案例拔高卷
主站蜘蛛池模板: 乱人伦中文视频在线观看免费| 国产日韩欧美在线播放| 成年人国产网站| 国产无遮挡猛进猛出免费软件| 欧美在线视频不卡第一页| 日韩大片免费观看视频播放| 91精品小视频| 在线国产你懂的| 国产一在线观看| 丝袜国产一区| 中文字幕 日韩 欧美| 国产一区二区精品高清在线观看| 又爽又大又黄a级毛片在线视频| 国产成人综合日韩精品无码首页| 91午夜福利在线观看精品| 中文字幕人妻av一区二区| 国产成人亚洲综合a∨婷婷| 久久综合亚洲色一区二区三区| 国产精品自在在线午夜| 亚洲一区二区日韩欧美gif| 欧美不卡视频在线观看| 欧美va亚洲va香蕉在线| 午夜免费视频网站| 综合五月天网| www中文字幕在线观看| 日韩欧美国产精品| 国产无码精品在线播放 | 欧美日韩国产在线人| 国产1区2区在线观看| 久久久久国色AV免费观看性色| 精品三级在线| 成人精品午夜福利在线播放| 毛片免费观看视频| 超碰色了色| 国产福利一区二区在线观看| 精品日韩亚洲欧美高清a| 华人在线亚洲欧美精品| 欧美区一区二区三| 欧美一级夜夜爽| 在线观看无码a∨| 国产精品美女免费视频大全| 色首页AV在线| 国产av剧情无码精品色午夜| 成人精品亚洲| 8090成人午夜精品| 婷婷亚洲综合五月天在线| 欧美成人午夜在线全部免费| 成人在线欧美| 国产中文在线亚洲精品官网| 国产91在线|日本| 午夜免费视频网站| 日韩精品一区二区深田咏美| 国产成人一区免费观看| 一本一本大道香蕉久在线播放| 日韩a级毛片| 制服丝袜在线视频香蕉| 中文国产成人精品久久一| 国产97视频在线| 波多野结衣在线一区二区| 手机看片1024久久精品你懂的| 在线观看无码av免费不卡网站 | 亚洲精品视频免费| 国产99免费视频| 日本在线视频免费| 亚洲色图另类| 成人午夜视频在线| 五月婷婷综合网| 一级片一区| 久久久久无码精品| 超碰色了色| 丁香婷婷在线视频| 亚洲不卡影院| 亚洲欧洲自拍拍偷午夜色| 99re66精品视频在线观看| 一级毛片在线播放| 天堂在线www网亚洲| 免费中文字幕一级毛片| 又大又硬又爽免费视频| 日韩久草视频| 无码中文字幕精品推荐| 久久精品视频一| 四虎精品国产AV二区|