亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種信號設(shè)備功能測試系統(tǒng)方案的研究

        2010-05-09 12:48:38李啟翮
        鐵路通信信號工程技術(shù) 2010年4期
        關(guān)鍵詞:仿真器列控腳本

        李啟翮

        (北京全路通信信號研究設(shè)計(jì)院,北京 100073)

        1 概述

        軌道交通領(lǐng)域作為高安全需求領(lǐng)域,其信號設(shè)備(如聯(lián)鎖、列控設(shè)備等)多為安全苛求設(shè)備,這些設(shè)備協(xié)同工作,共同保證列車安全運(yùn)行。

        為確保設(shè)備安全穩(wěn)定工作,運(yùn)營之前必須進(jìn)行全面的測試。針對不同的設(shè)備以及測試的不同級別,需要設(shè)計(jì)并構(gòu)建不同的測試系統(tǒng)。針對該問題,本文提出一種通用的設(shè)備功能自動化測試系統(tǒng),針對事件驅(qū)動類型(如CTCS-2級列控系統(tǒng)的列控中心、CBTC系統(tǒng)的區(qū)域控制中心等)或周期處理類型(如計(jì)算機(jī)聯(lián)鎖)的設(shè)備,實(shí)現(xiàn)系統(tǒng)級別功能測試,只需針對具體的設(shè)備進(jìn)行適配,就能以相同的測試原理測試不同的設(shè)備。

        測試通常分為多個級別,如單元測試、針對設(shè)備各部件的子系統(tǒng)測試、針對單一設(shè)備的系統(tǒng)測試、多個系統(tǒng)設(shè)備之間的集成測試以及現(xiàn)場測試等。單元測試由開發(fā)人員自己完成;子系統(tǒng)測試是保證該部件能與其余部件相配合工作,組成完整的設(shè)備;系統(tǒng)測試則是針對單一設(shè)備,確保該設(shè)備的功能正常,從而為后續(xù)集成測試和現(xiàn)場測試中多個設(shè)備之間聯(lián)調(diào)聯(lián)試打下基礎(chǔ)。

        實(shí)際測試中,若缺陷在后面幾級測試才被發(fā)現(xiàn),其解決成本比在前幾級測試中發(fā)現(xiàn)的解決成本高得多。統(tǒng)計(jì)表明,后一級的測試與前一級的測試相比,發(fā)現(xiàn)和修復(fù)一個缺陷的平均成本要提高10倍。因此子系統(tǒng)和系統(tǒng)級別的測試,盡量完整覆蓋所需測試的功能,將盡量少的問題遺留到后面的聯(lián)調(diào)聯(lián)試中,從而極大降低故障定位、缺陷修復(fù)的成本。

        本文所提出的測試系統(tǒng),主要針對系統(tǒng)測試這一級別。由于子系統(tǒng)測試和系統(tǒng)測試相近,只需將被測的部件看作一個單一設(shè)備即可。因此,本測試系統(tǒng)也同樣適用子系統(tǒng)級別的測試。

        CTCS-2級列控系統(tǒng)已在提速線路和客運(yùn)專線上成功運(yùn)用,是當(dāng)前主流的列控系統(tǒng),列控中心(TCC)是其核心控車設(shè)備。本文將以TCC為例,對測試系統(tǒng)進(jìn)行描述。

        2 被測對象

        系統(tǒng)測試的對象是一個正常運(yùn)行設(shè)備的內(nèi)部處理功能,以及該設(shè)備與其他設(shè)備的交互功能。以TCC為例,就是要測試TCC能否與其外接設(shè)備正常交互,并根據(jù)自身狀態(tài)和外部輸入實(shí)時做出正確反應(yīng)。從本質(zhì)上說,就是在確定設(shè)備自身狀態(tài)后,對其實(shí)施激勵,檢測其反應(yīng)是否正確。

        TCC根據(jù)調(diào)度命令、進(jìn)路狀態(tài)、線路參數(shù)等產(chǎn)生進(jìn)路以及臨時限速等相關(guān)控車信息,通過有源應(yīng)答器及軌道電路傳送給列車。以既有線車站列控中心為例,在計(jì)算機(jī)聯(lián)鎖車站,他與調(diào)度集中(CTC)、計(jì)算機(jī)聯(lián)鎖(CB I)、地面電子單元(LEU)、集中監(jiān)測(CSM)等設(shè)備相連[1][2],其連接關(guān)系如圖1所示。

        3 測試方式

        對被測對象的測試,采用根據(jù)功能場景、需求規(guī)范以及接口規(guī)范編制測試用例的方式進(jìn)行。由于測試工作量巨大,人工手動測試難以滿足實(shí)際需求,要求進(jìn)行自動化測試,這就需要根據(jù)測試用例編寫測試腳本以實(shí)現(xiàn)測試自動化。即先編寫測試規(guī)范與用例,再根據(jù)用例編寫腳本,在測試系統(tǒng)上運(yùn)行測試腳本,觀察并分析其運(yùn)行結(jié)果,確認(rèn)被測功能是否符合需求。

        4 測試系統(tǒng)需求

        對設(shè)備進(jìn)行系統(tǒng)測試的目的是為了確認(rèn)該設(shè)備是否符合功能需求,是否能夠可靠地與其他設(shè)備協(xié)同工作,是否具有足夠的魯棒性,為下一級測試交付一個可用的設(shè)備。

        一個單獨(dú)的不與外部通信的設(shè)備是無法正常工作的。每一個設(shè)備都與不同數(shù)量、種類的其他設(shè)備相連,而各接口之間的交互功能往往包括多個步驟,許多測試場景還涉及多個接口之間的配合、協(xié)調(diào),因此測試步驟比較復(fù)雜。以TCC為例,測試系統(tǒng)必須能夠測試TCC與CBI、LEU、CTC、CSM的交互功能。

        由于測試的復(fù)雜性,純?nèi)斯な謩油瓿刹⒉滑F(xiàn)實(shí),因此測試系統(tǒng)應(yīng)能進(jìn)行自動化測試。此外,開發(fā)過程中,開發(fā)者會根據(jù)每一輪的測試結(jié)果發(fā)布新版本,需要對每一個版本進(jìn)行迭代測試,為節(jié)約成本,測試系統(tǒng)應(yīng)能提供自動化的迭代測試功能。最后,為了方便測試以及節(jié)約時間成本,該測試系統(tǒng)應(yīng)易于構(gòu)建,方便使用。

        5 測試系統(tǒng)

        5.1 測試系統(tǒng)原型

        一個正常運(yùn)行的設(shè)備需要與其他設(shè)備相連接以進(jìn)行信息交互,而在對其進(jìn)行較全面的測試之前又不適合與其他真實(shí)設(shè)備聯(lián)調(diào)聯(lián)試,即便能夠,也無法滿足系統(tǒng)魯棒性測試的要求,因?yàn)檎鎸?shí)設(shè)備難以方便地實(shí)現(xiàn)錯誤注入,因此需要采用外連各設(shè)備的仿真器來測試其功能。以TCC為例,為構(gòu)建測試系統(tǒng),需要開發(fā)CTC仿真器(CTCsim)、聯(lián)鎖仿真器(CBIsim)、LEU仿真器(LEU sim)、CSM仿真器(CSMsim)等。

        為了實(shí)現(xiàn)自動化測試,需要將測試用例以某種語言編寫為測試腳本。為了對測試腳本的運(yùn)行進(jìn)行管理并記錄測試結(jié)果,還需要一個測試管理器(TM)。

        根據(jù)以上分析,本文提出如圖2所示的測試系統(tǒng)原型。

        5.2 仿真器

        為簡化開發(fā)工作,測試系統(tǒng)采用接口仿真器。接口仿真器只具有與真實(shí)設(shè)備相同的接口,而不實(shí)現(xiàn)內(nèi)部處理邏輯,所有需要邏輯處理的地方,均由人工編寫命令腳本實(shí)現(xiàn)。這類仿真器制作簡單,但如果被測設(shè)備與仿真器之間的交互信息無法準(zhǔn)確確定時,將增大測試腳本的編寫難度。由于信號設(shè)備多為安全苛求系統(tǒng),當(dāng)其自身的內(nèi)部狀態(tài)與外部輸入被確定時,該設(shè)備的正確反應(yīng)也隨之確定。因此,接口仿真器完全能夠滿足測試的需要,即使有部分?jǐn)?shù)據(jù)不能精確確定,也可以通過計(jì)算其取值范圍,并在編制腳本時增加一些處理即可。

        每一個接口仿真器應(yīng)實(shí)現(xiàn)與真實(shí)設(shè)備相同的接口,其中應(yīng)用數(shù)據(jù)層、鏈路層、安全層等應(yīng)與真實(shí)接口完全相同,物理層可以通過接口轉(zhuǎn)換器實(shí)現(xiàn)。此外,仿真器還應(yīng)能根據(jù)用戶的指定,實(shí)現(xiàn)錯誤注入,以測試被測設(shè)備的魯棒性。最后,仿真器的安裝使用應(yīng)盡量簡單。

        以CTCsim為例,仿真器應(yīng)實(shí)現(xiàn)的功能:(1)實(shí)現(xiàn)符合規(guī)范[3]的接口協(xié)議;(2)能接收用戶命令;(3)能根據(jù)用戶命令按正確格式發(fā)送CTC消息;(4)能根據(jù)用戶要求發(fā)送有錯誤的消息,以實(shí)現(xiàn)錯誤注入;(5)能接收TCC所發(fā)送的消息,并將其以一定格式向用戶顯示;(6)能自動對TCC消息進(jìn)行CRC校驗(yàn),如出錯,則向用戶發(fā)送提示;(7)能自動向TCC發(fā)送打點(diǎn)時鐘消息,且其頻率能由用戶指定;(8)能自動檢測TCC“列控中心狀態(tài)消息”的發(fā)送頻率,若超出一個可配置的范圍,能提示用戶;(9)能根據(jù)用戶命令與TCC建立或斷開通信連接。

        根據(jù)以上分析可知,CTCsim的功能并不復(fù)雜,主要分為與TCC的消息交互和與用戶的消息交互兩個部分。為了單獨(dú)使用和便于調(diào)試,用戶命令的接收和TCC消息的顯示分別使用操作系統(tǒng)的標(biāo)準(zhǔn)輸入和輸出,如圖3所示。測試人員可以直接輸入命令讓仿真器向TCC發(fā)送消息,并根據(jù)TCC回應(yīng)的消息,判斷TCC處理邏輯的正確與否。從便于安裝使用的角度出發(fā),仿真器實(shí)現(xiàn)為一個單獨(dú)的應(yīng)用程序使用時直接運(yùn)行。其他仿真器也以類似方式實(shí)現(xiàn)。

        由于與被測設(shè)備的物理接口多樣化,例如RS-422串行異步接口、以太網(wǎng)接口等,對不同仿真器實(shí)現(xiàn)不同的物理層接口增加了復(fù)雜度。為能以一致的方式進(jìn)行仿真器的開發(fā),決定所有仿真器均采用以太網(wǎng)與外部接口,再根據(jù)需要使用接口轉(zhuǎn)換器與之相連,以實(shí)現(xiàn)正確的物理層接口。

        5.3 測試管理器

        TM的基本功能是腳本解析與命令收發(fā)。根據(jù)輸入測試腳本,TM依次將腳本中的各條命令向該命令所指定的接收對象轉(zhuǎn)發(fā)。收到TM命令的仿真器會據(jù)此與被測設(shè)備進(jìn)行相應(yīng)的信息交互,并將被測設(shè)備的回應(yīng)消息轉(zhuǎn)發(fā)給TM,TM將該消息與測試腳本所規(guī)定的應(yīng)收到的正確消息進(jìn)行比較,以確定被測設(shè)備的功能是否正確;如否,則向測試人員報(bào)告錯誤所在。

        TM實(shí)現(xiàn)為一個單獨(dú)的程序,其功能包括:(1)腳本文件的讀入與內(nèi)容解析;(2)與仿真器建立通信連接;(3)根據(jù)腳本向仿真器發(fā)送消息;(4)接收仿真器轉(zhuǎn)發(fā)的被測設(shè)備的消息或仿真器的提示信息,并與腳本的規(guī)定進(jìn)行比較以判斷正誤;(5)記錄并顯示測試過程和結(jié)果。其中(1)和(5)只涉及文件操作和文本處理,(2)、(3)和(4)是核心功能。

        考慮到TM要與測試腳本進(jìn)行交互,采用同一種腳本語言實(shí)現(xiàn)TM和測試腳本(如可采用p er l、ruby等腳本語言),更有利于二者的交互。

        如前所述,各仿真器以標(biāo)準(zhǔn)輸入、輸出與用戶交互,而自動化測試時則需要與TM交互,這需要增加仿真器與TM間的通信接口。由于腳本語言的性能較低,此外,與TM交互的仿真器的數(shù)量、種類會隨被測設(shè)備的不同而變化,為了達(dá)到模塊化的設(shè)計(jì),決定將消息分發(fā)功能獨(dú)立出來,增加1個消息分發(fā)器(MD)。TM僅與MD相交互,由M D完成消息的分發(fā)。

        為了不增加仿真器的復(fù)雜度,充分復(fù)用其已有的I/O接口,可利用U n ix系統(tǒng)的基于進(jìn)程間通信(IPC)的管道I/O重定向功能。具體方法是啟動MD后,首先由MD根據(jù)配置文件,通過fork()產(chǎn)生新的進(jìn)程,以啟動各個仿真器,再針對每一個仿真器創(chuàng)建兩個管道,分別與其標(biāo)準(zhǔn)輸入、輸出相連,從而實(shí)現(xiàn)與仿真器的信息交互。針對每個仿真器,M D設(shè)定唯一的標(biāo)識符,該標(biāo)識符由配置文件指定,由腳本和MD在消息中加上該標(biāo)識符,就可容易地實(shí)現(xiàn)消息分發(fā)。由上可知,M D的功能應(yīng)包括:(1)讀入配置文件,根據(jù)指定的配置,管理各仿真器的啟動與關(guān)閉;(2)實(shí)現(xiàn)消息分發(fā)。M D實(shí)現(xiàn)也為一個單獨(dú)的程序。

        以上方案不僅能實(shí)現(xiàn)單一用例的自動化測試,再增加對多個測試案例批量處理的功能,就可以進(jìn)行自動化迭代測試。這只需給TM增加第6個功能:腳本批量處理,即讀取一個腳本文件名列表文件,根據(jù)該列表逐條讀取腳本運(yùn)行,當(dāng)完成一個腳本運(yùn)行后,繼續(xù)讀入下一個腳本進(jìn)行測試。

        5.4 測試腳本

        由于所用仿真器只有接口而沒有內(nèi)部處理邏輯、線路數(shù)據(jù),因此,這部分功能只能由測試腳本承擔(dān)。將測試用例場景,轉(zhuǎn)化為一個動作執(zhí)行序列,按步驟將每一步應(yīng)發(fā)送給TCC的消息以及應(yīng)從TCC接收到的消息以一定格式編寫到一個文件里,由TM讀入并順序執(zhí)行,該文件即測試腳本。

        腳本編寫應(yīng)簡單明確,既適合測試人員編寫、閱讀,又便于TM進(jìn)行解析,最終確定以rub y語言[4]編寫,同時TM本身也以rub y編寫實(shí)現(xiàn),有利于二者交互。下面是一個簡單的腳本示例。

        ctcSim=ni l

        ctcSim=CTC.new(name)

        ctcSim.sendConnect()

        ctcSim.waitConnected(expire_time)

        ctcSim.sendTSRStatusReq()

        ctcSim.waitAck(expire_time)

        c t c Sim.wa i t TSRSt a t us(seqno,bmai n,cmd n o,t ime1,t ime2,s t a r t,e n d,t s r,lef t,whole,expire_time)

        這是一個CTC sim與TCC交互的例子。首先建立仿真器實(shí)例,該函數(shù)會設(shè)置一些默認(rèn)的初始化參數(shù),如該仿真器的名字、系統(tǒng)時間等,然后與TCC相連接,隨即發(fā)送狀態(tài)請求消息并等待回應(yīng)。示例中CTC為事先封裝好的公共類,sendConnect()等均為已經(jīng)編制好的類方法,可供任意腳本調(diào)用。函數(shù)括號內(nèi)斜體所示為參數(shù),實(shí)際腳本中應(yīng)以正確的數(shù)據(jù)替換,如w aitTSRStatus()的參數(shù)分別為幀序號、主備機(jī)標(biāo)志、限速命令號等消息數(shù)據(jù),用于和所收到的消息比對以確定消息是否正確,參數(shù)expire_time是消息等待時間,如該時間內(nèi)未收到消息,則報(bào)錯。這樣編寫的腳本所反映的場景流程更加清晰,不會被處理細(xì)節(jié)所干擾。

        5.5 測試系統(tǒng)

        根據(jù)前面的分析,最終測試系統(tǒng)構(gòu)成如圖4所示。

        由于M D使用了U n ix類系統(tǒng)IPC功能,從經(jīng)濟(jì)適用的角度出發(fā),測試平臺采用1臺安裝了Linux操作系統(tǒng)的電腦,TM、MD與各仿真器均安裝于該電腦上,通過以太網(wǎng)與接口轉(zhuǎn)換模塊相連,再連接至被測對象。

        針對不同的被測設(shè)備,只需以相同的原理開發(fā)所需的仿真器并修改配置文件。TM和M D均為通用產(chǎn)品,毋需修改即可使用。這樣就能以相同的構(gòu)架、方案測試不同設(shè)備。例如要測試區(qū)域控制中心(ZCC),只需開發(fā)A TS、車載、聯(lián)鎖以及相鄰ZCC的仿真器接入測試系統(tǒng)即可。

        使用時先啟動TM,指定測試腳本以及數(shù)據(jù)配置文件。TM首先啟動M D,由M D根據(jù)數(shù)據(jù)配置文件啟動各仿真器與被測對象相連,TM讀入腳本后,根據(jù)腳本與M D交互,完成整個測試用例的運(yùn)行,記錄測試過程和結(jié)果。

        6 結(jié)論

        本文提出一個通用的自動化測試系統(tǒng)方案,采用本方案,能以相同的原理實(shí)現(xiàn)對各種事件驅(qū)動式和周期處理式設(shè)備的系統(tǒng)級測試,并能實(shí)現(xiàn)自動迭代測試。該方案不僅可用于系統(tǒng)測試,如果將設(shè)備內(nèi)部的某一部件看作一個獨(dú)立設(shè)備,與之相連的其余各部件看作外接設(shè)備,則該系統(tǒng)也可以用于子系統(tǒng)級測試。

        [1]科技運(yùn)[2007]44號 既有線CTCS-2級列控系統(tǒng)車站列控中心技術(shù)規(guī)范(暫行)[S].2007.

        [2]徐嘯明.CTCS-2級列車運(yùn)行控制系統(tǒng)應(yīng)用叢書—列控地面設(shè)備[M].北京:中國鐵道出版社,2007.

        [3]科技運(yùn)[2006]93號 既有線提速CTCS-2區(qū)段車站列控中心接口協(xié)議(v1.0)[S]. 2006.

        [4] Thomas,D.Fowler,C.Hunt,A.Programming Ruby [M],USA,Progmatic Bookshelf, 2004.

        猜你喜歡
        仿真器列控腳本
        酒駕
        安奇奇與小cool 龍(第二回)
        列控聯(lián)鎖數(shù)據(jù)管理分析平臺的研究與探索
        列控中心驅(qū)采不一致分析及改進(jìn)方案
        便攜式列控中心測試設(shè)備設(shè)計(jì)與實(shí)現(xiàn)
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        電子測試(2018年14期)2018-09-26 06:04:24
        列控?cái)?shù)據(jù)管理平臺的開發(fā)
        快樂假期
        基于多線程的慣導(dǎo)邏輯仿真器設(shè)計(jì)
        天文測量仿真器模擬星圖精度分析
        日本高清一区二区三区视频| 国产免国产免费| 76少妇精品导航| а的天堂网最新版在线| 开心五月激情五月天天五月五月天 | 亚洲精品字幕| 五月婷婷激情六月| 国产免费一区二区三区三| 国产亚洲精品综合一区| 99re8这里有精品热视频免费| 亚洲aⅴ无码日韩av无码网站| 一区两区三区视频在线观看| 情爱偷拍视频一区二区| 国产人妻久久精品二区三区特黄| 中文字幕人妻中文| 人妻1024手机看片你懂的| 国产a级毛片久久久精品毛片| 又湿又黄裸乳漫画无遮挡网站| 亚洲精品亚洲人成在线播放| 蜜桃在线高清视频免费观看网址| 欧美肥婆性猛交xxxx| 国产mv在线天堂mv免费观看| 女人被躁到高潮嗷嗷叫免费软| 国产成人综合精品一区二区| 亚洲人精品亚洲人成在线| 制服丝袜天堂国产日韩| 精品国产车一区二区三区| 亚洲youwu永久无码精品| 日韩精品无码视频一区二区蜜桃| 午夜免费福利一区二区无码AV| 国产精品国产传播国产三级| 日本阿v片在线播放免费| 亚洲福利视频一区| 人妻免费黄色片手机版| 亚洲成av人片一区二区密柚| 三年片免费观看大全国语| 无码熟妇人妻AV不卡| 亚洲成年国产一区二区| 激性欧美激情在线| 中文字幕精品久久天堂一区| 亚洲国产av一区二区不卡|