郭默燃 侯衛(wèi)兵 趙顯瓊
從確定CTCS-3級(jí)列車(chē)運(yùn)行控制系統(tǒng)做為我國(guó)統(tǒng)一的技術(shù)平臺(tái)體系以來(lái),各鐵路行業(yè)研究機(jī)構(gòu)開(kāi)展的對(duì)CTCS-3級(jí)關(guān)鍵部件和系統(tǒng)的測(cè)試平臺(tái)研究,其基本思路是分布式仿真測(cè)試平臺(tái)。這一方法的優(yōu)點(diǎn)是:能夠仿真真實(shí)的運(yùn)營(yíng)環(huán)境、各部件的真實(shí)處理邏輯,適于系統(tǒng)聯(lián)合測(cè)試等。但是同時(shí)存在如下缺點(diǎn):測(cè)試系統(tǒng)復(fù)雜度高,開(kāi)發(fā)周期長(zhǎng),維護(hù)困難,測(cè)試數(shù)據(jù)配置繁瑣等。而復(fù)雜分布式測(cè)試系統(tǒng)本身也存在一些問(wèn)題,如:各部件調(diào)度策略復(fù)雜和各部件間通信實(shí)時(shí)問(wèn)題等。解決這些問(wèn)題成本高、性?xún)r(jià)比低,特別是針對(duì)于部件功能測(cè)試這樣的專(zhuān)向性測(cè)試。
通過(guò)對(duì)歐洲ETCS規(guī)范中車(chē)載設(shè)備測(cè)試規(guī)范子集 “車(chē)載設(shè)備測(cè)試功能需求”(Subset094)及法國(guó)E.R.S.A公司的車(chē)載設(shè)備測(cè)試平臺(tái)的分析、學(xué)習(xí)和研究,提出基于TTCN-3語(yǔ)言的虛擬分布式測(cè)試執(zhí)行框架,在符合Subset094測(cè)試規(guī)范的基礎(chǔ)上,將TTCN-3語(yǔ)言應(yīng)用于CTCS-3級(jí)車(chē)載設(shè)備的測(cè)試執(zhí)行實(shí)現(xiàn)中,在一定程度上解決了分布式仿真測(cè)試平臺(tái)自身同步與交互的問(wèn)題,同時(shí)對(duì)于部件級(jí)測(cè)試有著很好的通用性。
TTCN-3語(yǔ)言,即測(cè)試和測(cè)試控制符號(hào)語(yǔ)言(the testing and test control notation),是一種測(cè)試描述和測(cè)試執(zhí)行語(yǔ)言。它支持分布式系統(tǒng)所有各類(lèi)的黑盒測(cè)試,是由歐洲電信標(biāo)準(zhǔn)協(xié)會(huì)于1999年到2002年開(kāi)發(fā),它實(shí)際上是重新設(shè)計(jì)了 “基于樹(shù)和表的符號(hào)語(yǔ)言標(biāo)準(zhǔn) (TTCN)”。TTCN-3語(yǔ)言以一種核心語(yǔ)言的方式提供與不同的數(shù)據(jù)描述語(yǔ)言的接口,并且提供用戶(hù)多種測(cè)試行為描述方式,這使得TTCN-3語(yǔ)言具有廣泛的適用性和應(yīng)用獨(dú)立性。TTCN-3語(yǔ)言已經(jīng)在標(biāo)準(zhǔn)ITU-T Rec.Z.140系列中發(fā)布。
由于TTCN-3支持多種類(lèi)型的測(cè)試,近年來(lái)TTCN-3語(yǔ)言的應(yīng)用越來(lái)越廣,已經(jīng)發(fā)展到航空、汽車(chē)、銀行系統(tǒng)、IP系統(tǒng)、醫(yī)療設(shè)備、移動(dòng)和寬帶通信、鐵路、空間和遠(yuǎn)程通信、遙感勘測(cè)、Web服務(wù)等各個(gè)領(lǐng)域當(dāng)中。
相對(duì)于其他的測(cè)試腳本語(yǔ)言,TTCN-3具有如下優(yōu)點(diǎn):
1.簡(jiǎn)單易學(xué),容易上手。
2.具有完善句法定義及靜態(tài)語(yǔ)義和操作語(yǔ)義的定義;具有強(qiáng)大的內(nèi)建的匹配機(jī)制和匹配表達(dá)式;具有快照語(yǔ)義,保護(hù)外部事件到達(dá)的順序,同時(shí)每個(gè)外部事件可以和多個(gè)可選參數(shù)進(jìn)行核對(duì)。
3.允許定義并發(fā)測(cè)試并且支持同步通信和異步通信。
4.支持動(dòng)態(tài)測(cè)試配置。在測(cè)試過(guò)程中,測(cè)試組件可以隨意創(chuàng)建,多次映射和多次連接,在TTCN-3語(yǔ)言模塊中可以創(chuàng)建多個(gè)并行測(cè)試組件(PTCs),各PTC之間可以通信,每個(gè)PTC都可以通過(guò)特定的接口與被測(cè)系統(tǒng)通信,如圖1所示。
圖1 動(dòng)態(tài)并發(fā)測(cè)試系統(tǒng)
5.支持時(shí)鐘設(shè)置。在測(cè)試組件或測(cè)試案例描述中都可以進(jìn)行設(shè)置時(shí)鐘、開(kāi)啟時(shí)鐘、關(guān)閉時(shí)鐘的操作,同時(shí)時(shí)鐘內(nèi)部還可以開(kāi)啟其他的時(shí)鐘。
6.能夠?qū)崿F(xiàn)全自動(dòng)執(zhí)行測(cè)試。測(cè)試執(zhí)行順序可以通過(guò)TTCN-3中的控制部分描述,測(cè)試執(zhí)行能夠通過(guò)TTCN-3的控制接口 (TCI)由外部源驅(qū)動(dòng)。
7.支持TTCN-3語(yǔ)言的工具資源豐富,包括:瑞典IBM Telelogic公司的Tau Tester;德國(guó)Testing Technologies公司的TTworkbench;西班牙MTP公司的Exhaustif/TTCN等。
車(chē)載設(shè)備的測(cè)試是一個(gè)數(shù)據(jù)驅(qū)動(dòng)的測(cè)試過(guò)程,主要是看列車(chē)在收到特定數(shù)據(jù)時(shí)能否發(fā)出正確處理的數(shù)據(jù)結(jié)果,這與TTCN-3的基于消息的測(cè)試優(yōu)勢(shì)一致;其次,車(chē)載設(shè)備是一個(gè)多交互設(shè)備,在列車(chē)實(shí)際行駛過(guò)程中會(huì)和RBC、應(yīng)答器、軌道電路、列車(chē)速度傳感器和司機(jī)等多個(gè)對(duì)象進(jìn)行交互,如圖2所示,如果測(cè)試環(huán)境完全按照真實(shí)環(huán)境來(lái)搭建,會(huì)造成測(cè)試環(huán)境復(fù)雜、維護(hù)困難,并產(chǎn)生分布性和實(shí)時(shí)性等相關(guān)問(wèn)題,而這些問(wèn)題運(yùn)用TTCN-3語(yǔ)言在一定程度上都能得到解決。
圖2 車(chē)載設(shè)備交互框圖
基于TTCN-3的測(cè)試框架分為三個(gè)部分:如圖3所示,仿真列車(chē)的動(dòng)力學(xué)模塊、TTCN-3測(cè)試執(zhí)行模塊和事件記錄數(shù)據(jù)庫(kù)。其中,仿真列車(chē)的動(dòng)力學(xué)模塊根據(jù)給定的列車(chē)信息 (包括列車(chē)長(zhǎng)度,列車(chē)重量等)和線(xiàn)路信息 (包括曲率,坡度和限速信息等)及運(yùn)行速度距離曲線(xiàn)信息,實(shí)時(shí)計(jì)算得到速度、加速度及列車(chē)運(yùn)行距離信息,并傳遞給被測(cè)車(chē)載設(shè)備和TTCN-3測(cè)試執(zhí)行模塊;TTCN-3測(cè)試執(zhí)行模塊是測(cè)試執(zhí)行主體,通過(guò)多個(gè)虛擬部件來(lái)模擬與被測(cè)車(chē)載設(shè)備交互的外部設(shè)備,每個(gè)部件各自完成所虛擬的系統(tǒng)需要完成的收發(fā)信息功能,同時(shí)完成各虛擬部件之間的通信及將事件記錄信息傳輸給事件記錄數(shù)據(jù)庫(kù)的功能;事件記錄數(shù)據(jù)庫(kù)存儲(chǔ)由TTCN-3測(cè)試執(zhí)行模塊傳遞來(lái)的測(cè)試事件記錄信息,用于測(cè)試評(píng)估分析。
圖3 測(cè)試平臺(tái)框圖
整個(gè)測(cè)試框架的運(yùn)行過(guò)程描述如下:在測(cè)試開(kāi)始之前配置列車(chē)的動(dòng)力學(xué)模型,包括列車(chē)信息和線(xiàn)路信息,及速度距離曲線(xiàn);配置TTCN-3測(cè)試執(zhí)行模塊中的虛擬部件,完成消息的發(fā)送收集功能,即在特定條件下通過(guò)特定的接口向車(chē)載設(shè)備發(fā)送相應(yīng)的數(shù)據(jù),然后檢測(cè)列車(chē)回應(yīng)是否正確并收集數(shù)據(jù)。以BTM模擬為例,設(shè)定列車(chē)在運(yùn)行到500m時(shí)會(huì)經(jīng)過(guò)一個(gè)應(yīng)答器組,則通過(guò)列車(chē)動(dòng)力學(xué)模型,將根據(jù)速度和加速度信息實(shí)時(shí)計(jì)算列車(chē)的距離,將速度、加速度和距離的信息傳給車(chē)載設(shè)備的同時(shí),將距離信息發(fā)給TTCN-3測(cè)試執(zhí)行單元 (MTC),MTC檢測(cè)距離是否等于500m,一旦相等則觸發(fā)BTM模擬,通過(guò)特定的接口發(fā)送相應(yīng)的應(yīng)答器信息到車(chē)載設(shè)備,這樣車(chē)載設(shè)備就在特定的位置接收到應(yīng)答器的信息。觸發(fā)條件除了可以是距離信息外,還可以是速度信息、時(shí)間信息等,可以根據(jù)不同的情況來(lái)設(shè)定。通過(guò)這樣的方式,可以生成CTCS-3級(jí)車(chē)載設(shè)備功能所需要規(guī)范中的所有場(chǎng)景,以滿(mǎn)足功能測(cè)試的目的。在這個(gè)測(cè)試框架下,只要完成測(cè)試行為的描述工作,之后的主要工作就是測(cè)試數(shù)據(jù)的維護(hù)和管理了。
圖4描述了基于TTCN-3的虛擬分布式測(cè)試平臺(tái)組成,可以看出,與車(chē)載設(shè)備交互的模塊:RBC、軌道電路、應(yīng)答器及DMI等設(shè)備全部是由TTCN-3語(yǔ)言配置的6個(gè)組件來(lái)模擬,其完成的功能是根據(jù)觸發(fā)條件來(lái)通過(guò)不同的接口向車(chē)載設(shè)備發(fā)送相應(yīng)的信息,從而完成測(cè)試場(chǎng)景的構(gòu)造。TTCN-3測(cè)試語(yǔ)言完成的測(cè)試平臺(tái),還針對(duì)每一條來(lái)自車(chē)載設(shè)備的信息進(jìn)行匹配判定,給出參考判定結(jié)果。同時(shí),各個(gè)測(cè)試組件通過(guò)數(shù)據(jù)接口,將各組件上發(fā)送和收到的信息及相應(yīng)的時(shí)間信息等數(shù)據(jù),發(fā)送給數(shù)據(jù)記錄單元,以供測(cè)試分析驗(yàn)證器使用。
圖4 基于TTCN-3的虛擬分布式測(cè)試平臺(tái)框圖
這個(gè)測(cè)試框架中,TTCN-3測(cè)試執(zhí)行單元中虛擬地完成了分布式的多組件交互協(xié)同測(cè)試功能,各個(gè)組件除了要各自完成對(duì)SUT的測(cè)試功能外,還要完成相互之間的交互與協(xié)作,保證整個(gè)測(cè)試流程滿(mǎn)足一定的順序,這就是虛擬分布式測(cè)試,與真實(shí)的分布式仿真測(cè)試相比,這種虛擬分布式節(jié)省了分布式各單元之間的網(wǎng)絡(luò)通信同步的開(kāi)銷(xiāo),并保證了各組件之間無(wú)延遲通信及通信過(guò)程的準(zhǔn)確無(wú)誤。同時(shí)大大降低了系統(tǒng)的復(fù)雜性、維護(hù)難度和成本。
針對(duì) 《CTCS-3級(jí)列控系統(tǒng)總體技術(shù)方案》功能中的 “列車(chē)喚醒的注冊(cè)”需求,提取了1個(gè)小的測(cè)試案例,在基于TTCN-3語(yǔ)言的虛擬分布式測(cè)試框架下,完成對(duì)實(shí)驗(yàn)室仿真車(chē)載設(shè)備的測(cè)試及數(shù)據(jù)采集分析。
首先對(duì) “列車(chē)喚醒與注冊(cè)”功能進(jìn)行需求分析,畫(huà)出需求框圖如圖5所示。選取虛線(xiàn)箭頭標(biāo)示路徑作為測(cè)試案例,再使用TTCN-3語(yǔ)言完成測(cè)試案例行為描述及數(shù)據(jù)描述。案例描述如下。
從車(chē)載設(shè)備上電開(kāi)始檢測(cè),測(cè)試內(nèi)容包括:車(chē)載設(shè)備在完成自檢后是否自動(dòng)置為待機(jī)模式(SB);在駕駛臺(tái)激活后,車(chē)載設(shè)備是否給出提示,提示司機(jī)進(jìn)行制動(dòng)測(cè)試;制動(dòng)測(cè)試是否正確完成;車(chē)載設(shè)備是否能夠正常呼叫RBC;完成RBC呼叫,在接收到RBC相應(yīng)參數(shù)后是否及時(shí)報(bào)告RBC位置信息;整個(gè)過(guò)程是否滿(mǎn)足每個(gè)信息的收發(fā)周期都為200ms(這是根據(jù)實(shí)驗(yàn)室仿真設(shè)備的實(shí)現(xiàn)周期而定,實(shí)際設(shè)備的消息周期可以重定義)。
針對(duì)提取的幾條功能需求,對(duì)實(shí)驗(yàn)室仿真車(chē)載設(shè)備進(jìn)行測(cè)試。由以上需求分析,測(cè)試過(guò)程中需要與車(chē)載設(shè)備交互的幾個(gè)部件為,DMI、RBC和列車(chē)。
圖5 列車(chē)喚醒與注冊(cè)場(chǎng)景
選用德國(guó) Testing Technologies公司的TTWorkbench作為T(mén)TCN-3的開(kāi)發(fā)平臺(tái)和執(zhí)行平臺(tái)。在該環(huán)境中,測(cè)試過(guò)程最終可以生成消息序列圖 (MSC),包含測(cè)試過(guò)程中各個(gè)行為發(fā)生的順序及每一個(gè)行為與上一行為的間隔時(shí)間,如圖6所示。在TTCN-3中,可以自由的定義時(shí)鐘來(lái)做為判定條件,圖6中定義了一個(gè)200ms的時(shí)鐘,在接收下一條信息前開(kāi)啟,如果DMI在時(shí)鐘規(guī)定時(shí)間之內(nèi)收到來(lái)自車(chē)載設(shè)備的正確信息,則判定為pass。從圖6中可以看出,在113ms時(shí),DMI收到來(lái)自車(chē)載設(shè)備的正確信息。
圖6中Component表示組件,systemPort表示被測(cè)系統(tǒng)接口,mtcPort表示DMI模擬接口,F(xiàn)rameContent表示框架內(nèi)容,localtimer1表示本地時(shí)鐘。測(cè)試結(jié)果見(jiàn)表1。從表1可以看出,整個(gè)測(cè)試是通過(guò)的,但在DMI接收車(chē)載設(shè)備發(fā)來(lái)的請(qǐng)求輸入司機(jī)ID時(shí),出現(xiàn)超時(shí)現(xiàn)象,即在完成上一信息接收后,經(jīng)過(guò)262ms后才收到車(chē)載發(fā)來(lái)的司機(jī)ID請(qǐng)求消息,故需要在設(shè)計(jì)上對(duì)此進(jìn)行調(diào)整。
圖6 TTCN-3時(shí)鐘設(shè)置與判定
在整個(gè)測(cè)試過(guò)程中,測(cè)試系統(tǒng)需要從車(chē)載設(shè)備接收8條有效消息,每條消息都處理正確,由此可以得出,被測(cè)車(chē)載設(shè)備基本能夠完成功能需求規(guī)范的要求。本例中只有一條接收時(shí)間超過(guò)了200ms,經(jīng)過(guò)調(diào)整車(chē)載設(shè)備程序,這一條已經(jīng)糾正,并通過(guò)同一測(cè)試案例的回歸測(cè)試得到驗(yàn)證。
完成以上測(cè)試后,故意將仿真實(shí)現(xiàn)的車(chē)載設(shè)備調(diào)整至故障狀態(tài),使其不能完成制動(dòng)測(cè)試,再對(duì)其進(jìn)行測(cè)試,測(cè)試系統(tǒng)檢測(cè)出了這一故障,并給出檢測(cè)到故障的判定和日志記錄。
表1 測(cè)試行為時(shí)間分析
通過(guò)本文的討論分析可以得出,TTCN-3測(cè)試語(yǔ)言是一種很高效的測(cè)試語(yǔ)言,能夠非常有效地完成基于消息的測(cè)試執(zhí)行,同時(shí)降低工作量、開(kāi)發(fā)周期和開(kāi)發(fā)成本等。
由于TTCN-3語(yǔ)言具有動(dòng)態(tài)配置并發(fā)測(cè)試組件特性和支持多接口適配等特性,對(duì)于CTCS-3級(jí)列車(chē)控制系統(tǒng),由測(cè)試系統(tǒng)本身的復(fù)雜性、分布性和實(shí)時(shí)性等特點(diǎn)造成的問(wèn)題,都可以在一定程度上解決。同時(shí),由于TTCN-3語(yǔ)言相對(duì)于其他測(cè)試腳本語(yǔ)言具有簡(jiǎn)單易學(xué),完善的句法定義,豐富的數(shù)據(jù)類(lèi)型及與其他數(shù)據(jù)描述語(yǔ)言的多種接口,平臺(tái)獨(dú)立性等優(yōu)良特性,使得測(cè)試工作重點(diǎn)從測(cè)試執(zhí)行實(shí)現(xiàn)上轉(zhuǎn)移到測(cè)試行為描述上,有效降低了工作量、成本投入、開(kāi)發(fā)周期和維護(hù)難度。TTCN-3語(yǔ)言完善的消息記錄接口能夠?qū)崿F(xiàn)數(shù)據(jù)收集功能。
下一步工作的重點(diǎn),在進(jìn)一步完善本文框架研究的基礎(chǔ)上,研究測(cè)試案例的自動(dòng)生成技術(shù)及測(cè)試數(shù)據(jù)的分析評(píng)估技術(shù),同時(shí)針對(duì)CTCS-3級(jí)系統(tǒng)的另一個(gè)關(guān)鍵子系統(tǒng)——無(wú)線(xiàn)閉塞中心 (RBC)研究本框架的擴(kuò)展應(yīng)用及RBC與車(chē)載設(shè)備聯(lián)調(diào)策略研究,實(shí)現(xiàn)車(chē)載設(shè)備和RBC兩部分的基于TTCN-3測(cè)試語(yǔ)言的自動(dòng)測(cè)試平臺(tái)。
[1] ERTMS/ETCS-Class 1Functional Requirements for an on board Reference Test Facility REF :SUBSET-094-0 2.0.2 05/02/2009.
[2] 中國(guó)人民共和國(guó)鐵道部科技司,運(yùn)輸局.CTCS-3級(jí)列車(chē)控制系統(tǒng)總體技術(shù)方案[S].北京,2008.
[3] ETSI ES 201 873-1V3.1.1,Methods for Testing and Specification(MTS);The Testing and Test Control Notation version 3;Part 1:TTCN-3Core Language,Sophia Antipolis,F(xiàn)rance,July 2005.
[4] Grabowski,J.,D.Hogrefe,et al.(2003)."An introduction to the testing and test control notation(TTCN-3)."Computer Networks-the International Journal of Computer and Telecommunications Networking 42(3):375-403.
[5] ETSI :TTCN-3Homepage,http://www.ttcn-3.org,June 2015.
[6] Juergen Grossmann.(2013)."Testing hybrid systems with TTCN-3embedded."International Journal on Software Tools for Technology Transfer,June 2014,Volume 16,Issue 3,247-267.