洪玲嬌,李衛(wèi)娟
(卡斯柯信號有限公司,上海 200071)
計(jì)算機(jī)聯(lián)鎖系統(tǒng)(CBI)是保證行車安全和效率的重要基礎(chǔ)控制系統(tǒng),它與列控中心(TCC)通過安全通信接口。CBI向TCC發(fā)送進(jìn)路信息、信號設(shè)備狀態(tài)信息等,TCC根據(jù)接收到的信息進(jìn)行編碼和發(fā)送應(yīng)答器報(bào)文。由于兩個(gè)系統(tǒng)的接口信息涉及行車安全,因此確保接口信息的正確性非常重要。測試是確保接口信息正確的有效手段,所以,執(zhí)行CBI-TCC接口測試是聯(lián)鎖測試中的重要部分。
一般而言,聯(lián)鎖邏輯功能測試通過后,才開始執(zhí)行CBI-TCC接口測試。在聯(lián)鎖邏輯功能測試階段,已確認(rèn)聯(lián)鎖軟件中的進(jìn)路跟輸入的聯(lián)鎖表完全一致,信號顯示及信號顯示關(guān)系等聯(lián)鎖邏輯功能是正確的。
測試CBI-TCC接口時(shí),需搭建如圖1所示的測試環(huán)境:聯(lián)鎖機(jī)(單系)、MMI操作機(jī)、CITB仿真機(jī)、TCC模擬器。其中,聯(lián)鎖機(jī)中封裝了被測站的聯(lián)鎖軟件,主要完成聯(lián)鎖邏輯運(yùn)算及接口通信功能;MMI操作機(jī)主要完成操作命令的下發(fā)、站場及其他信息的界面顯示;CITB仿真機(jī)主要完成繼電接口的采集驅(qū)動(dòng)信息的模擬;TCC模擬器主要完成與聯(lián)鎖機(jī)的通信并收發(fā)接口信息功能。
圖1 接口測試環(huán)境Fig.1 Interface test environment
CBI-TCC接口測試需要測試以下內(nèi)容:CBI發(fā)送的信息,有區(qū)間方向控制命令、進(jìn)路信息、進(jìn)站信號機(jī)紅燈斷絲、信號機(jī)調(diào)車狀態(tài)、預(yù)留信息(如有);CBI接收的信息,有區(qū)間方向信息、區(qū)間閉塞分區(qū)狀態(tài)信息、信號限速信息、區(qū)間信號機(jī)紅燈斷絲信息、異物侵限災(zāi)害信息、無配線站區(qū)間方向信息/軌道狀態(tài)信息/區(qū)間信號機(jī)斷絲信息、預(yù)留信息(如有)。
測試CBI發(fā)送的信息,需要先在MMI操作機(jī)上辦理相應(yīng)的操作(如辦理進(jìn)路使信號開放、按下相關(guān)按鈕等),然后在TCC模擬器上確認(rèn)是否接收到CBI發(fā)送的信息、信息狀態(tài)是否正確。測試CBI接收的信息,則先在TCC模擬器上設(shè)置相應(yīng)信息的狀態(tài)(如將某一區(qū)間閉塞分區(qū)設(shè)置為占用狀態(tài)),然后在MMI操作機(jī)界面上確認(rèn)CBI是否接收到信息、信息狀態(tài)是否正確(對應(yīng)的區(qū)間閉塞分區(qū)應(yīng)顯示紅光帶)。
測試時(shí),CBI-TCC接口信息可以分為兩類:進(jìn)路信息和開關(guān)量信息。除CBI發(fā)送的進(jìn)路信息歸為第一類外,其余信息均歸為第二類。
測試進(jìn)路信息時(shí),聯(lián)鎖表中的全部進(jìn)路(包括無需發(fā)送進(jìn)路信息給TCC的)均需逐條測試。在MMI操作機(jī)上辦理了進(jìn)路、信號開放后,在TCC模擬器上需確認(rèn)下述內(nèi)容。
1)核對進(jìn)路編號,包括正常列車進(jìn)路編號和引導(dǎo)列車進(jìn)路編號。TCC模擬器上顯示的進(jìn)路編號應(yīng)與接口表中的一致,對于不向TCC發(fā)送信息的進(jìn)路,在TCC模擬器上應(yīng)沒有任何進(jìn)路信息。
2)測試信號機(jī)點(diǎn)燈、滅燈狀態(tài)。對于常態(tài)滅燈的信號機(jī),需要測試點(diǎn)燈和滅燈兩種情況。
3)測試信號顯示。測試對應(yīng)信號機(jī)所有可以開放的信號顯示,包括紅、雙黃、黃閃黃、黃、綠黃、綠、紅白等;TCC模擬器上給出的信號顯示應(yīng)與MMI操作機(jī)界面上開放的信號顯示一致。對于常態(tài)滅燈的信號機(jī),需要分別測試點(diǎn)燈和滅燈兩種情況下的信號顯示。
4)測試進(jìn)路區(qū)段的鎖閉狀態(tài)。確認(rèn)TCC模擬器上顯示的進(jìn)路區(qū)段均為“鎖閉”,核對區(qū)段個(gè)數(shù)正確;模擬列車順序占用/出清、通過進(jìn)路,確認(rèn)TCC模擬器上進(jìn)路區(qū)段的狀態(tài)順序變?yōu)椤敖怄i”。
測試開關(guān)量信息時(shí),需要確認(rèn)0/1兩種狀態(tài)是否都正確;此外,測試時(shí)還需要確認(rèn)對應(yīng)接口數(shù)據(jù)塊中的信息排序是否與接口表一致。測試CBI發(fā)送的信息,以信號機(jī)調(diào)車狀態(tài)為例:在MMI操作機(jī)上辦理了相應(yīng)調(diào)車信號機(jī)的進(jìn)路、調(diào)車信號開放,則在TCC模擬器上對應(yīng)調(diào)車信號機(jī)狀態(tài)為“調(diào)車信號開放”;取消進(jìn)路、調(diào)車信號關(guān)閉,TCC模擬器上對應(yīng)調(diào)車信號機(jī)狀態(tài)變?yōu)椤罢{(diào)車信號未開放”。測試CBI接收的信息,以區(qū)間閉塞分區(qū)狀態(tài)信息為例:在TCC模擬器上將對應(yīng)閉塞分區(qū)狀態(tài)設(shè)置為“占用”,MMI操作機(jī)上對應(yīng)的閉塞分區(qū)顯示紅色光帶;在TCC模擬器上將對應(yīng)閉塞分區(qū)狀態(tài)設(shè)置為“空閑”,MMI操作機(jī)上對應(yīng)的閉塞分區(qū)顯示淺藍(lán)色光帶。
因?yàn)樾枰贛MI操作機(jī)、CITB仿真機(jī)及TCC接口模擬器上執(zhí)行操作或監(jiān)視界面顯示的變化,CBI-TCC接口測試一般需要兩個(gè)測試人員一起配合完成。此外,接口測試環(huán)境的要求也會給項(xiàng)目CBI-TCC接口測試帶來一定的限制。所以,項(xiàng)目CBI-TCC接口測試是比較費(fèi)時(shí)費(fèi)力的。
結(jié)合CBI-TCC接口測試的特點(diǎn)及人工測試的弊端和局限性,開發(fā)測試平臺實(shí)現(xiàn)CBI-TCC接口測試的自動(dòng)化是一項(xiàng)很有意義的工作。
2.1.1 測試平臺環(huán)境
如圖2所示,測試平臺運(yùn)行環(huán)境簡單,聯(lián)鎖仿真軟件和自動(dòng)測試軟件可以運(yùn)行在同一臺工控機(jī)上。自動(dòng)測試軟件發(fā)送控制類信息給聯(lián)鎖仿真軟件,如辦理進(jìn)路、操縱道岔、總?cè)∠僮鞯?。此外,在自?dòng)測試軟件上可以模擬I/O變量的設(shè)置。聯(lián)鎖仿真軟件實(shí)現(xiàn)聯(lián)鎖邏輯運(yùn)算,并將車站設(shè)備的狀態(tài)信息送給自動(dòng)測試軟件。
圖2 自動(dòng)測試平臺環(huán)境Fig.2 Automatic test platform environment
2.1.2 測試平臺結(jié)構(gòu)
測試平臺總體結(jié)構(gòu)如圖3所示,采用分層模式,由接口層、邏輯層、應(yīng)用層組成。
圖3 自動(dòng)測試平臺總體結(jié)構(gòu)Fig.3 Overall structure of automatic test platform
1)接口層
包含數(shù)據(jù)通信接口、模擬仿真接口、測試記錄接口,相應(yīng)功能如下。
數(shù)據(jù)通信接口:實(shí)現(xiàn)與聯(lián)鎖仿真軟件的接口,完成數(shù)據(jù)信息的傳遞。
模擬仿真接口:實(shí)現(xiàn)車站設(shè)備狀態(tài)的顯示,提供人工測試的操作及模擬條件設(shè)置等。
測試記錄接口:連接數(shù)據(jù)庫,實(shí)現(xiàn)對測試結(jié)果的記錄及再讀取。
2)邏輯層
包含信息檢查、操作辦理、自動(dòng)走車、結(jié)果記錄、數(shù)據(jù)分析等簡單功能的實(shí)現(xiàn)。通過對下層接口層的封裝單個(gè)操作,向應(yīng)用層提供一個(gè)已經(jīng)實(shí)現(xiàn)的簡單操作平臺。
3)應(yīng)用層
定義接口測試的測試案例,包括進(jìn)路辦理(列車進(jìn)路、引導(dǎo)進(jìn)路、調(diào)車進(jìn)路),進(jìn)路解鎖等測試內(nèi)容。
測試平臺實(shí)現(xiàn)的功能如下。
1)接口信息校核?!禩CC接口信息表》和《國鐵車站STA聯(lián)鎖信息表》是測試的輸入文件,TCC***.RSSP1文件是接口測試的對象。正常情況下,《TCC接口信息表》中的接口信息內(nèi)容與TCC***.RSSP1文件中的內(nèi)容應(yīng)該一致?!秶F車站STA聯(lián)鎖信息表》中包含的進(jìn)路表跟藍(lán)圖中的聯(lián)鎖表是一致的。一般來說,進(jìn)路條數(shù)是大于或等于《TCC接口信息表》中的進(jìn)路條數(shù)。所以,在執(zhí)行測試之前,可以對這些接口信息先進(jìn)行校核,避免存在不匹配帶來的無效測試。
2)接口信息測試。開關(guān)量信息的測試,按照對應(yīng)測試用例執(zhí)行;進(jìn)路信息的測試,需要先篩選出被測進(jìn)路對應(yīng)的測試用例,然后再執(zhí)行測試。此外,測試還有下述要求:a.按照《國鐵車站STA聯(lián)鎖信息表》對所有進(jìn)路進(jìn)行測試;b.執(zhí)行測試時(shí),除了比對當(dāng)前測試步驟對應(yīng)參數(shù)變化與用例中預(yù)期結(jié)果是否相同,還需要監(jiān)視TCC***.RSSP1文件中被測對象之外的其他接口信息參數(shù)未發(fā)生變化。c.若被測進(jìn)路為非TCC接口進(jìn)路,則測試該進(jìn)路時(shí),TCC***.RSSP1文件中送出信息對應(yīng)的參數(shù)未發(fā)生變化。
3)實(shí)時(shí)記錄測試過程中產(chǎn)生的測試日志,便于對測試結(jié)果進(jìn)行分析。
4)按要求,自動(dòng)輸出測試記錄表格,便于項(xiàng)目歸檔測試記錄文件。
與開關(guān)量信息測試相比,進(jìn)路信息的測試不僅內(nèi)容較多,且還需要結(jié)合站型、進(jìn)路類型來判斷具體如何執(zhí)行測試。如,正線接車進(jìn)路開放綠燈的條件和發(fā)車進(jìn)路開放綠燈的條件是不同的;同樣是側(cè)線接車進(jìn)路,是否能開放黃閃黃信號也會影響測試步驟設(shè)置,等等。因此,需要結(jié)合站型、針對不同的進(jìn)路設(shè)置相應(yīng)的測試用例;這樣,測試中可以根據(jù)被測進(jìn)路的情況,篩選出合適的測試用例執(zhí)行。
設(shè)置不同的測試條件,最終主要體現(xiàn)在進(jìn)路信號顯示上,因此,可以按進(jìn)路的信號顯示及進(jìn)路類型進(jìn)行分類,設(shè)計(jì)不同的測試用例。一條進(jìn)路對應(yīng)的信號顯示有哪些,這些信息在《國鐵車站STA聯(lián)鎖信息表》中已明確,如圖4所示。設(shè)計(jì)測試用例時(shí),需要根據(jù)不同的進(jìn)路類型,設(shè)置不同的測試條件及測試步驟,使信號開放不同的顯示。
圖4 進(jìn)路信號顯示Fig.4 Route signal display
首先,根據(jù)點(diǎn)/滅燈模式,信號顯示分為點(diǎn)燈狀態(tài)和滅燈狀態(tài)兩大類。然后,在每一類下面,根據(jù)信號顯示情況及進(jìn)路類型,再細(xì)分為:引導(dǎo)進(jìn)路(開放紅白顯示)、僅存在一種允許信號的列車進(jìn)路、有雙黃和黃閃黃兩種允許信號的列車進(jìn)路等,按此方式,細(xì)分出16種不同情況的進(jìn)路。再按照不同的情況,設(shè)計(jì)對應(yīng)的測試用例,如圖5所示。
圖5 測試用例Fig.5 Test case
測試平臺的處理流程如圖6所示。先校核《TCC接口信息表》和TCC***.RSSP1文件中接口信息內(nèi)容。開關(guān)量信息,需核對碼位名稱、個(gè)數(shù)及排序的一致性;信息個(gè)數(shù)或排序存在不一致時(shí),輸出提示信息后結(jié)束測試;若信息名稱不一致時(shí),由人工確認(rèn)后可繼續(xù)執(zhí)行自動(dòng)測試。進(jìn)路信息,若進(jìn)路條數(shù)、編號或進(jìn)路區(qū)段個(gè)數(shù)及排序存在不一致時(shí),輸出提示信息后結(jié)束測試;若進(jìn)路名稱存在不一致,由人工確認(rèn)后可繼續(xù)執(zhí)行自動(dòng)測試?!禩CC接口信息表》和TCC***.RSSP1文件中進(jìn)路信息完全一致后,再校核《TCC接口信息表》和《國鐵車站STA聯(lián)鎖信息表》中的進(jìn)路信息。校核通過后,開始執(zhí)行相應(yīng)的測試用例;完成測試后,輸出測試記錄表格。
圖6 測試平臺處理流程Fig.6 Test platform processing flow chart
采用自動(dòng)化測試平臺執(zhí)行CBI-TCC接口測試,與人工測試相比,在測試環(huán)境搭建上,大大降低對硬件設(shè)備的要求,使測試環(huán)境搭建更加方便、快捷。此外,CBI-TCC接口測試的自動(dòng)化,既可以保證測試的準(zhǔn)確性,又可以減少測試時(shí)間及人工成本,有效提高接口測試效率。目前,進(jìn)路信息測試用例的設(shè)計(jì)存在一定的限制;只考慮了站型較簡單車站的情況,對于樞紐站、銜接站或信號顯示關(guān)系復(fù)雜的車站,進(jìn)路信息的自動(dòng)測試可能不能完全覆蓋。后續(xù),將結(jié)合樞紐站、銜接站的特點(diǎn),不斷完善測試用例,進(jìn)一步提高自動(dòng)測試的覆蓋率。