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