王倩倩 張 勇
(1.中鐵第四勘察設計院集團有限公司,430063,武漢;2.北京交通大學軌道交通控制與安全國家重點實驗室,100044,北京∥第一作者,助理工程師)
CTCS-3(Chinese Train Control System Level 3)級列車控制系統(以下簡為列控系統)基于無線通信系統(GSM-R)實現了車、地之間雙向的大容量通信,是滿足客運專線和高速鐵路安全、高效的高需求列車運行控制系統。CTCS-3級列控系統需要經過一系列全面的測試來驗證系統是否滿足《CTCS-3級列控系統系統需求規范(SRS)》和《CTCS-3級列控系統總體技術方案》的要求。測試案例是實驗室仿真測試、現場試驗及聯調聯試的基礎性文件,通過將測試案例串聯成不同的測試序列而應用到被測系統,以完成對列控系統的功能性測試。
CTCS-3級列控系統包括地面子系統和車載子系統兩部分。地面子系統由無線閉塞中心(RBC)、列控中心(TCC)、ZPW-2000(UM)系列軌道電路、應答器(含地面電子單元LEU)、GSM-R通信接口設備等組成。車載子系統由車載安全計算機(VC)、GSM-R無線通信單元(RTM)、軌道電路信息接收單元(TCR)、應答器信息接收模塊(BTM)、司法記錄單元(JRU)、人機界面(DMI)、列車接口單元(TIU)等組成。車地間通過GSM-R網絡來完成大容量的雙向通信。CTCS-3級列控系統結構框圖如圖1所示。
CTCS-3級列控系統需要通過一系列全面的測試,以實現對系統進行互聯互通測試的目的,從而驗證系統是否滿足《CTCS-3級列控系統系統需求規范(SRS)》。對列控系統的測試,是在外部標準接口上對列控系統進行功能測試,驗證列控系統滿足《CTCS-3級列控系統系統需求規范(SRS)》的程度。列控系統完成測試的步驟是:從系統需求規范生成測試案例作為測試的依據,根據測試案例串聯成不同的測試序列;將測試序列應用到被測試系統上,得到實際輸出;比較期望輸出和實際輸出,得到測試報告。最后根據測試報告,判斷被測試系統是否滿足《CTCS-3級列控系統系統需求規范(SRS)》。
圖1 CTCS-3級列控系統結構框圖
UML(Unified Modeling Language)是一種功能強大的、面向對象的可視化系統分析的建模語言。它采用一整套成熟的建模技術,廣泛地適用于各個應用領域。UML是一種圖形化的設計語言。它使用不同類型的圖從不同的角度和抽象層次來描述系統模型。在使用UML進行軟件設計建模時,設計者必須根據所需要描述的對象和系統動作選擇適當的UML圖,以達到設計效果。
UML的主要內容可以歸為靜態建模機制和動態建模機制兩類。UML的靜態建模機制包括用例圖、類圖、對象圖、組件圖和配置圖等5個圖形,用于描述需求并根據需求建立系統的靜態模型,以構造系統的結構。UML的動態建模機制包括狀態圖、活動圖、順序圖和協作圖等4個圖形,用于描述系統的行為。UML組成結構如圖2所示。
CTCS-3級列控系統測試案例的生成是從對系統需求規范的分析開始,對每個功能需求進行提取、簡化。最終生成的測試案例是為了完成對這些功能的測試,需完成從需求分析到系統內部行為描述的全過程。因此,CTCS-3級列控系統測試案例的生成需要大量的人力、物力的參與,而且人工生成的案例會出現反復修改的問題。在分析UML建模機制以后,發現UML提供了測試案例生成所需的從需求分析到系統內部行為描述的功能,因此可以利用UML靜態建模機制與動態建模機制的相互配合來優化測試案例的生成。
圖2 UML組成結構示意圖
CTCS-3級列控系統測試案例是依據《CTCS-3級列控系統系統需求規范(SRS)》和《CTCS-3級列控系統總體技術方案》進行編制。從系統需求規范中提煉出一些精簡的、必要的功能實體,稱為功能特征。一個功能特征是一組需求的集合。它能通過系統既有的接口進行測試。測試案例實現對功能特征的測試。為了完整地測試一個功能特征,需要一個或多個測試案例。系統需求規范、功能特征和測試案例之間的關系如圖3所示。
圖3 系統需求規范、功能特征和測試案例之間的關系
為了便于測試案例的管理和執行,功能特征應具有以下兩個屬性:
1)可測性。能夠在被測對象上通過施加直接的激勵而產生響應,以便在既有接口上對被測對象進行測試。響應是指在既有接口上可直接測量的輸出。
2)獨立性。功能特征的測試應具有獨立性,即功能特征能夠單獨執行而不需要考慮其它功能特征的執行情況。
在提取功能特征時,可根據被測系統的外部可見接口(從運營商或用戶的角度),通過運營條件來劃分成安全防護、模式和等級三類,然后逐步細化,直到功能特征成為不可分割的原子單位。
針對每一個功能特征,設計若干測試案例對其進行測試,從而對系統需求規范中的需求進行驗證。按照黑盒測試的原則生成測試案例,對被測對象的測試是基于可見接口的。每個測試案例必須確定的內容有:被測對象(車載或地面設備)、測試步驟、起始條件和結束條件等。
UML是一種通用的建模語言,可創建系統的靜態結構和動態行為等多種結構模型,具有可擴展性和通用性,適合為各種多變的系統建模。列控系統測試案例的生成是基于系統需求規范進行需求分析,進而對系統內部的行為進行描述。第一步描述系統的需求,通過建立用例圖來實現;第二步描述系統的行為,通過動態模型圖來實現,包括狀態圖和順序圖。
用例圖顯示多個外部參與者以及他們與系統提供的用例之間的連接。用例是系統中的一個可以描述參與者與系統之間交互作用的功能單元。用例圖用于需求分析階段,描述了待開發系統的功能需求,并驅動了需求分析之后各階段的開發工作,從而影響到開發工作的各階段和UML的其他圖形。狀態圖通過對對象的生存周期建立模型來描述對象隨時間變化的動態行為,由對象的各個狀態和連接這些狀態的轉換組成。每個狀態對一個對象在其生命周期中滿足某種條件的一個時間段建模。事件的發生會觸發狀態間的轉換,導致對象從一個狀態轉換到另一個新的狀態。順序圖顯示對象之間發送消息的時間順序,更進一步顯示出隨著時間的變化對象之間是如何通信的;順序圖的關鍵思想是對象之間的交互是按照特定的順序發生的,這些按特定順序發生的交互序列從開始到結束需要一定的時間。
針對每一個功能特征,根據《CTCS-3級列控系統系統需求規范(SRS)》和《CTCS-3級列控系統總體技術方案》進行UML建模、輔助測試案例的生成。
將每個功能特征看作一個系統,通過建立用例圖中參與者與用例及它們之間的關系可以知道該功能特征包括幾個測試案例、測試案例的功能和被測設備等。現以功能特征143——“列車進入CTCS-3級區域,與RBC建立無線通信會話”來說明整個建模過程。圖4是功能特征143的用例圖。
圖4 功能特征143的用例圖
由圖4用例圖中所包含的用例可知該功能特征的功能需求,由不同用例所對應的參與者可知不同測試案例的被測對象等。由圖4可得出功能特征143包含的測試案例有:
1)案例1(測車載設備)。在CTCS-3級區域外,車載設備接收到根據指定的RBC編號和電話號碼與RBC建立無線通信會話的命令,車載設備與指定RBC建立無線通信會話。
2)案例2(測車載設備)。在CTCS-3級區域外,車載設備接收到根據指定的RBC編號和電話號碼與RBC建立無線通信會話的命令,車載設備與RBC建立無線通信會話。如果進路沒有通向RBC區域且車載設備收到終止無線通信會話的命令,車載設備終止無線通信會話。
3)案例3(測地面設備)。在CTCS-3級區域外,地面設備給出呼叫指定RBC的命令。
4)案例4(測地面設備)。在CTCS-3級區域外的調車區域,地面設備不提供呼叫RBC的命令。
5)案例5(測地面設備)。地面設備檢測到剛建立無線通信會話的列車沒有駛入RBC控制區域(列車返回或列車進路不是通向RBC區域),則向車載設備發送終止會話的命令。
6)案例6(測車載設備)。車載設備接收到根據指定的RBC編號和電話號碼與RBC建立無線通信會話的命令,在SH(調車)模式下,車載設備不建立無線通信會話。
為了進一步了解每個測試案例的具體內容,對于每個測試案例,要采用動態模型圖來對其進行建模,以了解其內部的流程及狀態。
對系統進行動態建模可以有效地分析系統內部的動作和行為,這里采用了狀態圖和順序圖來描述。順序圖能夠體現參加交互的對象及這些對象之間先后的交互次序等情況,而狀態圖詳細地描述了這些對象在交互前后的狀態變化。利用狀態圖正好可以彌補順序圖不能詳細描述對象的狀態信息的不足,從而可以生成信息完整的測試案例。現用順序圖來舉例說明動態建模的過程,例如測試案例1的順序圖如圖5所示。
圖5 測試案例1的順序圖
上述舉例的測試案例1涉及到的對象是車載設備、應答器組和RBC。這些對象之間按照一定的時間順序完成彼此之間的交互,對象之間的交互包括應答組與車載設備之間的信息傳遞和車載設備與RBC兩者間的信息傳遞。即,測試案例1中涉及到的測試步驟,經過一系列的信息交互,最終車載設備與RBC建立無線通信會話。
利用順序圖來進行動態建模,可以對本測試案例涉及到的測試對象和彼此之間的交互進行分析,從而得到測試過程中被測對象之間的消息傳遞順序和內容,明確整個測試的步驟。
測試案例是對列控系統進行功能測試的依據,在測試案例的生成中有效地利用UML建模技術,可以提高生成的效率和保證案例的質量。本文提出的在測試案例生成中應用UML建模技術,可根據需要完成不同模型的建立,來輔助分析和設計測試案例,并且在測試案例的進一步完善中可以利用UML模型圖來對案例進行優化。今后將對UML模型圖進行進一步的研究,以優化測試案例的生成。
[1]鐵道部科學技術局,鐵道部運輸局.CTCS-3級列控系統系統需求規范(SRS)(V1.0)第二冊[M].北京:中國鐵道出版社,2008.
[2]張曙光.CTCS-3級列控系統技術創新總體方案[M].北京:中國鐵道出版社,2008.
[3]科技運[2009]59號.CTCS-3級列控系統測試案例(第三冊)[S].2009.
[4]ERTMS/ETCS:SUBSET 076-3.Methodology of testing[EB/OL].(2005- 11).http:∥www.era.europa.eu/core/ertms/Pages/Approved_Documents_List_of_informative_specifications.aspx.
[5]季學勝,李開成,張勇,等.CTCS-3級列控系統測試案例生成方法的研究[J].鐵道通信信號,2009,45(10):1.
[6]章慧,張勇.CTCS-3級列控系統車載設備測試方法研究[J].鐵路計算機應用,2008,17(14):23.
[7]蔡敏,徐慧慧,黃炳強.UML基礎與Rose建模教程[M].北京:人民郵電出版社,2006.