鄭娟
軟件測試是保證軟件質(zhì)量的重要手段,是軟件生命周期中至關(guān)重要的環(huán)節(jié),其中,軟件測試用例的設(shè)計是整個測試工作的重點和難點。場景法作為一種黑盒測試方法,提供了一種基于使用的測試設(shè)計思路,能夠提高測試質(zhì)量和效率。本文以應(yīng)答器報文結(jié)構(gòu)作為載體,建立思維導(dǎo)圖,構(gòu)建場景模式,闡述不同的應(yīng)答器報文結(jié)構(gòu)測試方案。
隨著時間推移,一切都在發(fā)生變化,城市軌道交通信號系統(tǒng)的軟件測試方法和過程也發(fā)生了深刻的變化。測試用例是軟件測試生命周期中非常重要的一部分,傳統(tǒng)測試用例,一般是根據(jù)需求的一些功能進(jìn)行羅列,測試步驟之間關(guān)聯(lián)性弱,且和現(xiàn)場運營場景大相徑庭,測試能夠發(fā)現(xiàn)的軟件問題一般屬于功能性的表面缺陷,若想發(fā)現(xiàn)更有價值的軟件問題,需要引入場景化測試思想,本文以應(yīng)答器報文結(jié)構(gòu)為載體,剖析場景化測試方案的設(shè)計思路。
地鐵列車精確定位是列車運行控制系統(tǒng)的一項關(guān)鍵技術(shù),準(zhǔn)確、及時、可靠的獲取列車位置信息,是地鐵安全、有效運行的保障。當(dāng)區(qū)域控制器故障時,列車便降級為后備模式,這時,列車的安全運行主要是由移動授權(quán)來保證。故,列車定位和移動授權(quán)的計算是地鐵安全運行非常重要的環(huán)節(jié),這兩個環(huán)節(jié)均離不開最基本的信號組成部分——信標(biāo)(Beacon)。工程設(shè)計中,會部署有許多LEU設(shè)備,聯(lián)鎖會將信號機和道岔信息送給LEU設(shè)備,一個LEU最多連接4個信標(biāo),地鐵線路上會間隔部署許多信標(biāo)設(shè)備,當(dāng)列車讀到信標(biāo)的時候,會產(chǎn)生應(yīng)答器報文,應(yīng)答器報文中攜帶了許多重要信息,列車據(jù)此實現(xiàn)自我定位和計算移動授權(quán)。
應(yīng)答器即信標(biāo),包括兩種類型:有源信標(biāo)和無源信標(biāo)。有源信標(biāo)又包括重開信標(biāo)(Reopening BMB),預(yù)告信標(biāo)(Approaching BMB)。如圖1所示,利用思維導(dǎo)圖工具,對應(yīng)答器報文結(jié)構(gòu)進(jìn)行梳理。有源信標(biāo)和無源信標(biāo)均用于列車定位,其中,有源信標(biāo)還可以用于攜帶后備下的MA信息。有源信標(biāo)和無源信標(biāo)有共同的組成結(jié)構(gòu):(1)幀標(biāo)識,占位50 bit;(2)用戶信息,占位772 bit;(3)幀結(jié)束,占位8 bit。有源信標(biāo)的用戶信息包含:信號機、信標(biāo)到MA終點距離、道岔信息等,故此部分是測試設(shè)計和測試檢查的重點內(nèi)容。
(一)信號機信息
假設(shè)Q_SIGNAL_ASPECT中的19個比特用XXA BCDE FGHI JKLM NPQR表示,每個字母表示一個比特位,下文介紹幾種特殊場景:
1.紅燈報文
如圖2所示,重開信標(biāo)B1前方關(guān)聯(lián)的信號機是S1,S1為紅燈狀態(tài)。那么,當(dāng)列車讀到重開信標(biāo)B1時,可以看到應(yīng)答器報文中的Q_SIGNAL_ASPECT= b000 0000 0000 0000 0001且Q_SIGNAL_ASPECT_PRE= b000 0000 0000 0000 0000。
2.保護(hù)區(qū)段建立
保護(hù)區(qū)段即Overlap,Overlap建立的運營場景如圖3所示,重開信標(biāo)B1前方信號機S1為綠燈開放狀態(tài),且前方進(jìn)路已建立,圖3示Overlap亦觸發(fā)。那么,當(dāng)列車讀到重開信標(biāo)B1時,可以看到應(yīng)答器報文中的Q_SIGNAL_ ASPECT.R= 1且Q_SIGNAL_ASPECT_PRE= b000 0000 0000 0000 0000。
3.進(jìn)路內(nèi)存在匯聚道岔&分散道岔
若進(jìn)路范圍內(nèi)既存在分散道岔P1(定位),又存在匯聚道岔P2(定位),那么,當(dāng)列車讀到重開信標(biāo)B1時,可以看到應(yīng)答器報文中的Q_SIGNAL_ASPECT.Q=1且Q_ SIGNAL_ASPECT_PRE= b000 0000 0000 0000 0000,如圖4所示。
若進(jìn)路范圍內(nèi)既存在分散道岔P1(反位),又存在匯聚道岔P3(反位),那么,當(dāng)列車讀到重開信標(biāo)B1時,可以看到應(yīng)答器報文中的Q_SIGNAL_ASPECT.Q=0且Q_ SIGNAL_ASPECT_PRE= b000 0000 0000 0000 0000,如圖5所示。
(二)道岔信息
1.進(jìn)路范圍內(nèi)多個定位道岔
如圖6所示,進(jìn)路范圍內(nèi)存在四個道岔,分散道岔P1&P3,匯聚道岔P2&P4,且四個道岔均位于定位狀態(tài),那么,當(dāng)列車讀到重開信標(biāo)B1時,可以看到應(yīng)答器報文中道岔數(shù)據(jù)是4,且道岔的ID和狀態(tài)按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.進(jìn)路范圍內(nèi)多個反位道岔
如圖7所示,進(jìn)路范圍內(nèi)存在兩個道岔,分散道岔P1(反位),匯聚道岔P3(反位),那么,當(dāng)列車讀到重開信標(biāo)B1時,可以看到應(yīng)答器報文中道岔數(shù)據(jù)是2,且道岔的ID和狀態(tài)按MA方向順序排列,即:N_SWITCH=2;NID_ SWITCH1: value=ID_P1;S_SWITCH1_STAT: value=b01;NID_SWITCH2: value=ID_P3;S_SWITCH2_STAT: value=b01。
(三)有源應(yīng)答器默認(rèn)報文
運營過程中,可能會出現(xiàn),LEU和Beacon、聯(lián)鎖通信斷開的情況,當(dāng)列車讀到屬于該LEU設(shè)備的信標(biāo)時,相應(yīng)會讀到有源應(yīng)答器默認(rèn)報文,應(yīng)答器默認(rèn)報文中的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。
本文研究了應(yīng)答器報文結(jié)構(gòu)的場景化測試方法,著重介紹了場景化測試設(shè)計在應(yīng)答器報文結(jié)構(gòu)測試中的應(yīng)用。使用思維導(dǎo)圖工具,先對被測對象進(jìn)行結(jié)構(gòu)建模,然后結(jié)合地鐵運營場景,針對每個導(dǎo)圖分支進(jìn)行運營場景的圖形化分析,并設(shè)計相應(yīng)測試用例進(jìn)行場景覆蓋,提高了測試覆蓋的準(zhǔn)確性,降低了軟件風(fēng)險,能夠以更少的人力發(fā)現(xiàn)更有價值的軟件缺陷。
作者單位:卡斯柯信號有限公司