鄭娟
軟件測試是保證軟件質量的重要手段,是軟件生命周期中至關重要的環節,其中,軟件測試用例的設計是整個測試工作的重點和難點。場景法作為一種黑盒測試方法,提供了一種基于使用的測試設計思路,能夠提高測試質量和效率。本文以應答器報文結構作為載體,建立思維導圖,構建場景模式,闡述不同的應答器報文結構測試方案。
隨著時間推移,一切都在發生變化,城市軌道交通信號系統的軟件測試方法和過程也發生了深刻的變化。測試用例是軟件測試生命周期中非常重要的一部分,傳統測試用例,一般是根據需求的一些功能進行羅列,測試步驟之間關聯性弱,且和現場運營場景大相徑庭,測試能夠發現的軟件問題一般屬于功能性的表面缺陷,若想發現更有價值的軟件問題,需要引入場景化測試思想,本文以應答器報文結構為載體,剖析場景化測試方案的設計思路。

地鐵列車精確定位是列車運行控制系統的一項關鍵技術,準確、及時、可靠的獲取列車位置信息,是地鐵安全、有效運行的保障。當區域控制器故障時,列車便降級為后備模式,這時,列車的安全運行主要是由移動授權來保證。故,列車定位和移動授權的計算是地鐵安全運行非常重要的環節,這兩個環節均離不開最基本的信號組成部分——信標(Beacon)。工程設計中,會部署有許多LEU設備,聯鎖會將信號機和道岔信息送給LEU設備,一個LEU最多連接4個信標,地鐵線路上會間隔部署許多信標設備,當列車讀到信標的時候,會產生應答器報文,應答器報文中攜帶了許多重要信息,列車據此實現自我定位和計算移動授權。
應答器即信標,包括兩種類型:有源信標和無源信標。有源信標又包括重開信標(Reopening BMB),預告信標(Approaching BMB)。如圖1所示,利用思維導圖工具,對應答器報文結構進行梳理。有源信標和無源信標均用于列車定位,其中,有源信標還可以用于攜帶后備下的MA信息。有源信標和無源信標有共同的組成結構:(1)幀標識,占位50 bit;(2)用戶信息,占位772 bit;(3)幀結束,占位8 bit。有源信標的用戶信息包含:信號機、信標到MA終點距離、道岔信息等,故此部分是測試設計和測試檢查的重點內容。
(一)信號機信息
假設Q_SIGNAL_ASPECT中的19個比特用XXA BCDE FGHI JKLM NPQR表示,每個字母表示一個比特位,下文介紹幾種特殊場景:
1.紅燈報文
如圖2所示,重開信標B1前方關聯的信號機是S1,S1為紅燈狀態。那么,當列車讀到重開信標B1時,可以看到應答器報文中的Q_SIGNAL_ASPECT= b000 0000 0000 0000 0001且Q_SIGNAL_ASPECT_PRE= b000 0000 0000 0000 0000。

2.保護區段建立
保護區段即Overlap,Overlap建立的運營場景如圖3所示,重開信標B1前方信號機S1為綠燈開放狀態,且前方進路已建立,圖3示Overlap亦觸發。那么,當列車讀到重開信標B1時,可以看到應答器報文中的Q_SIGNAL_ ASPECT.R= 1且Q_SIGNAL_ASPECT_PRE= b000 0000 0000 0000 0000。

3.進路內存在匯聚道岔&分散道岔
若進路范圍內既存在分散道岔P1(定位),又存在匯聚道岔P2(定位),那么,當列車讀到重開信標B1時,可以看到應答器報文中的Q_SIGNAL_ASPECT.Q=1且Q_ SIGNAL_ASPECT_PRE= b000 0000 0000 0000 0000,如圖4所示。

若進路范圍內既存在分散道岔P1(反位),又存在匯聚道岔P3(反位),那么,當列車讀到重開信標B1時,可以看到應答器報文中的Q_SIGNAL_ASPECT.Q=0且Q_ SIGNAL_ASPECT_PRE= b000 0000 0000 0000 0000,如圖5所示。

(二)道岔信息
1.進路范圍內多個定位道岔
如圖6所示,進路范圍內存在四個道岔,分散道岔P1&P3,匯聚道岔P2&P4,且四個道岔均位于定位狀態,那么,當列車讀到重開信標B1時,可以看到應答器報文中道岔數據是4,且道岔的ID和狀態按MA方向順序排列。即:
N_SWITCH=4;NID_SWITCH1: value=ID_P1;S_ SWITCH1_STAT: value=b10;NID_SWITCH2: value=ID_ P2;S_SWITCH2_STAT: value=b10;NID_SWITCH3: value=ID_P3;S_SWITCH3_STAT: value=b10;NID_ SWITCH4: value=ID_P4;S_SWITCH4_STAT: value=b10。
2.進路范圍內多個反位道岔
如圖7所示,進路范圍內存在兩個道岔,分散道岔P1(反位),匯聚道岔P3(反位),那么,當列車讀到重開信標B1時,可以看到應答器報文中道岔數據是2,且道岔的ID和狀態按MA方向順序排列,即:N_SWITCH=2;NID_ SWITCH1: value=ID_P1;S_SWITCH1_STAT: value=b01;NID_SWITCH2: value=ID_P3;S_SWITCH2_STAT: value=b01。

(三)有源應答器默認報文
運營過程中,可能會出現,LEU和Beacon、聯鎖通信斷開的情況,當列車讀到屬于該LEU設備的信標時,相應會讀到有源應答器默認報文,應答器默認報文中的M_ MCOUNT=b11111100;
N_SWITCH=b0000;Q_SIGNAL_ ASPECT=b000 0000 0000 0000 0001;Q_ SIGNAL_ASPECT_PRE=b000 0000 0000 0000 0000;D_DIS=0;D_DIS_ OVERLAP=0;C_LEU_BALISE=1。
本文研究了應答器報文結構的場景化測試方法,著重介紹了場景化測試設計在應答器報文結構測試中的應用。使用思維導圖工具,先對被測對象進行結構建模,然后結合地鐵運營場景,針對每個導圖分支進行運營場景的圖形化分析,并設計相應測試用例進行場景覆蓋,提高了測試覆蓋的準確性,降低了軟件風險,能夠以更少的人力發現更有價值的軟件缺陷。
作者單位:卡斯柯信號有限公司