張佳瑩,曲 娜,鄭偉南,衛(wèi)昱含
(吉林建筑工程學院 城建學院,吉林 長春 130111)
由于國內(nèi)經(jīng)濟的不斷快速發(fā)展,大型城市以及中型城市正逐步的擴建,城市面臨著人口不斷增加以及城市占地面積擴大的問題[1].為了保證城市軌道交通能夠更加安全、效率地運行,于是各個城市的軌道交通建設(shè)放棄選擇使用原有的基于軌道電路的列車控制系統(tǒng)(TBTC),而采用最新的列車控制系統(tǒng)基于通信的列車控制系統(tǒng)(CBTC)[2].
在現(xiàn)有的城市軌道交通系統(tǒng)中很多都采用了CBTC系統(tǒng),但是很多城市地鐵都出現(xiàn)過大大小小的事故[3].在CBTC系統(tǒng)中,車載設(shè)備保證著列車的安全行駛,系統(tǒng)功能都需要通過車載設(shè)備才能實現(xiàn)[4].因此完成CBTC系統(tǒng)測試中重要的一個環(huán)節(jié)就是對列車的車載設(shè)備進行調(diào)試[5].
本研究系統(tǒng)根據(jù)新一代的CBTC系統(tǒng)設(shè)計理念,利用車載設(shè)備的測試軟件進行車載設(shè)備的測試.通過測試軟件,觀察車載控制器內(nèi)的數(shù)據(jù)變化,對測試參數(shù)的具體分析,最后基于工程實踐的經(jīng)驗,對CBTC系統(tǒng)測試用例進行設(shè)計.
在CBTC系統(tǒng)下,車—地雙向?qū)崟r數(shù)據(jù)的傳輸采用的是無線通信的手段[6].列車不再是單一地接收地面?zhèn)鞯杰囕d設(shè)備的控制信息,列車還需將列車的位置信息和列車的運行信息及時反饋給地面設(shè)備[7].地面設(shè)備通過得到的列車信息計算出列車的移動授權(quán)(MovingAuthority下面簡稱MA),并且動態(tài)更新,將移動授權(quán)通過車—地通信網(wǎng)絡(luò)傳輸?shù)杰囕d設(shè)備[8].車載設(shè)備根據(jù)收到的移動授權(quán)信息和當前列車的運行狀態(tài),計算出列車的運行速度曲線,控制列車的牽引、制動與運行[9].
CBTC系統(tǒng)下的車載設(shè)備將接收的信息來自區(qū)域控制器ZC、ATS系統(tǒng)、地面信標和計算機連鎖CI,同時需要將處理的信息反饋給各系統(tǒng),其中的之間的邏輯關(guān)系非常復雜[10].為了避免輸入條件之間的彼此結(jié)合導致新的狀況出現(xiàn)而帶來檢查方面的困難,因此如何設(shè)計測試用例,可以在測試手段的選取上采用一種形式,滿足描述多條件組合,且產(chǎn)生對應(yīng)多動作.這要求我們對測試用例的設(shè)計時采取因果圖法.
因果圖模型中有兩類主要部分的因果圖參數(shù)和結(jié)構(gòu),如圖1所示:
圖1 因果圖模型
其中字母B表示基本事件,即不需探究自身原因或者沒有原因的事件;X表示中間事件,即任意含有原因的事件;G表示邏輯門,即通過對輸入原理進行邏輯門運算而得到相應(yīng)的輸出事件;P表示連接事件,其從始至終都指向中間事件.
運用因果圖法進行設(shè)計測試案例的進程中判定表的生成是一個非常重要的環(huán)節(jié),且具有較高要求.判定表有四個部分組成:行動樁、條件樁、行動條目和條件條目.目前,很少有參考文獻給予一個非常明確清晰的轉(zhuǎn)化算法,所有的測試用例基本都是由工程實踐中得出.本文針對現(xiàn)有的一些轉(zhuǎn)化方法進行研究,提出采用條件遍歷算法來對因果圖進行轉(zhuǎn)化,其算法框架如圖2所示.
圖2 遍歷算法流程圖
通過上述方法,我們可以發(fā)現(xiàn)經(jīng)過一次一次的條件遍歷,中間事件通過遍歷找出其產(chǎn)生的基本事件,我們最終可以得到由基本事件構(gòu)成的測試輸入數(shù)據(jù).在執(zhí)行此算法時,我們需要注意此算法針對單動作輸出的情況進行設(shè)計.如果遇到多動作產(chǎn)生的情況,測試人員需要將各動作的輸入條件進行分析,找出各輸入條件的制約關(guān)系,對測試案例進行設(shè)計.
車載設(shè)備作為CBTC系統(tǒng)中最為重要的部分,主要負責保護列車行駛安全、防止列車超速和防止列車進入前車的運行區(qū)間,由此可見,在列車運營之前對車載設(shè)備的測試工作也顯得格外重要.本研究系統(tǒng)利用因果圖法測試案例的原理,對ATP速度防護功能方面進行選取,研究測試案例的生成.
車載ATP速度防護中有以下兩方面的計算:當前推薦運行速度計算以及觸發(fā)緊急制動的速度計算.在列車行駛中,車載設(shè)備會實時地將以上2個速度值反映在車載人機界面中,讓駕駛員可以實時地監(jiān)控列車的行駛速度.一旦當列車超出當前的推薦速度時,車載設(shè)備會給予駕駛員警告信息.若此情況在規(guī)定時間內(nèi)消除,列車將繼續(xù)安全行駛;但此情況未能及時消除,列車的ATP功能將會啟動緊急制動以保護行車的安全.我們可以將被測的功能劃分為多種狀態(tài),狀態(tài)之間的轉(zhuǎn)換通過輸入的變量產(chǎn)生相對應(yīng)的動作輸出.
在考慮輸入數(shù)據(jù)的取值方面我們需要將等價類的思想方法引入到設(shè)計當中.對所有已經(jīng)輸入的數(shù)據(jù)進行劃分,可分為N個等價類.如何收集測試的輸入數(shù)據(jù),可選取每個等價類中的一個數(shù)據(jù)作為輸入數(shù)據(jù),則可達到選取少量數(shù)據(jù)但得到很好的測試結(jié)果.根據(jù)以上對ATP速度防護系統(tǒng)的流程分析,我們可以將測試需要的輸入數(shù)據(jù)進行定義.
在選取輸入數(shù)據(jù)取值時,我們需要同時考慮到所有正常情況與異常情況下的數(shù)據(jù)輸入.我們要考慮滿足因果圖中各原因事件的“True”與“False”的關(guān)系.在設(shè)計有效輸入,我們要確定使用的每一個有效類中的值;在設(shè)計無效輸入,為確保更多等價類的輸入為有效輸入,則需將一個等價類作為無效的輸入數(shù)據(jù),這樣考慮是從單缺陷進行假設(shè).當然也可以從多缺陷進行假設(shè),要實現(xiàn)這類測試需要大量冗余.
根據(jù)ATP速度防護的流程進行遍歷,將一個整體的測試劃分為各類局部測試,最后將這些局部測試組合起來生成一個具體的測試方案.實際工程中采用的測試方案如表1所示:
在實際的測試中,僅僅靠幾次測試或者十幾次測試是不能夠有效地測試出系統(tǒng)功能的完整性和準確性的.所以可以對同類型的測試多次重復.這樣就需要在測試后,測試人員需要對進行測試案例的數(shù)據(jù)結(jié)果進行統(tǒng)計和驗證.若發(fā)現(xiàn)測試存在缺陷,則需進行再次測試.
在統(tǒng)計中,測試人員需要將測試劃分為以下部分:
測試案例優(yōu)先級、測試案例預計總數(shù)、測試案例完成數(shù)量、測試案例實際數(shù)量以及通過和未通過測試的案例數(shù)量.
表1 測試方案表
所統(tǒng)計的數(shù)據(jù)在整理后得表2.
表2 測試數(shù)據(jù)統(tǒng)計
將統(tǒng)計得到的數(shù)據(jù)表格轉(zhuǎn)化為圖表的格式,這樣測試人員可以直觀地發(fā)現(xiàn)出測試中所存在的問題,用來指導測試工作、調(diào)整測試,使得測試更加完備、準確.
近年來,國內(nèi)城市軌道交通正在發(fā)展高速的時期,更多的軌道交通公司對C B T C系統(tǒng)進行應(yīng)用,實際的工程建設(shè)中可以發(fā)現(xiàn).這樣急需要一套完整、有效的測試方案對設(shè)備進行測試,保證設(shè)備系統(tǒng)能夠正常地工作.本研究系統(tǒng)對車載設(shè)備的測試方法以及實際測試案例開展了深入研究,利用因果圖法在對其改進的基礎(chǔ)上提出有效的車載設(shè)備測試方案,對車載A T P超速防護進行測試實驗,實驗結(jié)果表明,本文提出的測試方案切實有效,可以進行推廣.
〔1〕向華.關(guān)于白盒測試基本方法的分析[J].江漢大學學報,2003,31(1):38-41.
〔2〕徐杰,賈學祥.CBTC關(guān)鍵理論分析及北京地鐵4號線的應(yīng)用分析[J].鐵道通信信號,2010(46):44-46.
〔3〕付劍平,陸民燕.基于因果圖的軟件測試性影響因素分析[J].計算機應(yīng)用,2009,33(6):270-271.
〔4〕石慶喜,梁新元.因果圖的一種快速推理方法[J].計算機工程與應(yīng)用,2005(28):18-20.
〔5〕王立榮,何煒.基于因果圖的軟件測試方法[J].計算機系統(tǒng)應(yīng)用,2010,19(4):104-107.
〔6〕陳榮武,劉莉.基于CBTC的列車自動駕駛控制算法[J].計算機應(yīng)用,2007,27(11):2649-2651.鐵路.2010,(4):76-78.