999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于測試用例的通用聯(lián)鎖規(guī)則自動測試系統(tǒng)

2023-10-25 01:30:12辛帆王印謝林楊平
鐵道通信信號 2023年10期
關(guān)鍵詞:系統(tǒng)

辛帆,王印,謝林,楊平

計算機聯(lián)鎖系統(tǒng)是軌道交通信號系統(tǒng)中保障列車運行安全的重要屏障,其根據(jù)帶有搜索邏輯的通用聯(lián)鎖規(guī)則,結(jié)合具體的站型和配置,通過布爾表達(dá)式生成工具生成特定站場的聯(lián)鎖邏輯[1]。因此,通用聯(lián)鎖規(guī)則是計算機聯(lián)鎖系統(tǒng)在現(xiàn)場安全可靠運行的基礎(chǔ)。對通用聯(lián)鎖規(guī)則進(jìn)行測試,是保證計算機聯(lián)鎖系統(tǒng)功能正確,檢查并消除邏輯設(shè)計缺陷的必要環(huán)節(jié)。

目前,針對通用聯(lián)鎖規(guī)則的測試手段多以人工測試為主,存在測試顆粒度大、工作量大、重復(fù)勞動多、變量分析困難等問題。為此也產(chǎn)生了很多針對聯(lián)鎖軟件自動測試方法的研究,如文獻(xiàn)[2]提出一種基于故障樹的聯(lián)鎖安全功能黑盒測試方法;文獻(xiàn)[3]提出一種聯(lián)合上、下位機的灰盒測試系統(tǒng);文獻(xiàn)[4]提出一種基于腳本實現(xiàn)自動測試,以替代人工操作的聯(lián)鎖測試系統(tǒng)。然而以上各種自動測試方法,均依賴于設(shè)備狀態(tài)變化而非特定的變量跳變邏輯,測試結(jié)果判定顆粒度較大。

因此,本文設(shè)計了一種基于測試用例的通用聯(lián)鎖規(guī)則自動測試系統(tǒng),以計算機聯(lián)鎖系統(tǒng)邏輯架構(gòu)為基礎(chǔ)[5],模擬實際運營場景,通過追蹤相關(guān)變量的跳變時序,精準(zhǔn)定位聯(lián)鎖邏輯的設(shè)計缺陷,可進(jìn)一步提高測試效率。

1 通用聯(lián)鎖規(guī)則自動測試系統(tǒng)功能需求

1)測試對象。該系統(tǒng)主要用于測試通用聯(lián)鎖規(guī)則的準(zhǔn)確性。由開發(fā)人員根據(jù)計算機聯(lián)鎖系統(tǒng)的功能需求,將聯(lián)鎖邏輯抽象為通用的表達(dá)式,并結(jié)合站場應(yīng)用數(shù)據(jù)進(jìn)行實例化,生成特定站場的布爾邏輯文件。該布爾邏輯文件需覆蓋通用聯(lián)鎖規(guī)則的每條支路。

2)測試方法。由于測試人員雖了解信號需求和相關(guān)接口功能,但對信號規(guī)則具體實現(xiàn)的方式并不熟悉,因此采用灰盒測試方法[6-7]。

3)系統(tǒng)架構(gòu)。為減少對硬件設(shè)備的依賴,該自動測試系統(tǒng)采用軟件仿真的方式,模擬計算機聯(lián)鎖系統(tǒng)邏輯運算及接口功能,以保證對應(yīng)布爾邏輯文件的運行與實際站場運行情況一致。

4)時序要求。基于布爾邏輯的通用聯(lián)鎖規(guī)則對時序的要求是非常嚴(yán)格的,現(xiàn)場實際運行過程中出現(xiàn)的故障,大多是由于各變量的跳變順序不正確而產(chǎn)生的。因此,在測試用例中需定義聯(lián)鎖邏輯的中間變量和輸出變量的觸發(fā)時機和跳變時機。自動測試系統(tǒng)解析測試用例中的操作命令及變量信息,由對應(yīng)模塊接收并執(zhí)行操作命令;記錄每個變量的跳變周期;結(jié)合實際運行結(jié)果與預(yù)期結(jié)果是否一致,來判斷通用聯(lián)鎖規(guī)則邏輯設(shè)計的正確性。

2 系統(tǒng)架構(gòu)

依據(jù)計算機聯(lián)鎖系統(tǒng)功能,通用聯(lián)鎖規(guī)則自動測試系統(tǒng)邏輯架構(gòu)見圖1。

圖1 自動測試系統(tǒng)邏輯架構(gòu)

1)測試用例解析和執(zhí)行模塊:獲取測試用例各步驟的操作命令和變量跳變信息,并依次下發(fā)到對應(yīng)的仿真模塊。

2)模擬上位機模塊:提供人機交互接口,顯示站場的實時狀態(tài),并向模擬下位機模塊發(fā)送操作命令。

3)模擬下位機模塊:執(zhí)行聯(lián)鎖布爾邏輯文件運算,通過接口仿真模塊實現(xiàn)驅(qū)采功能。

4)接口仿真模塊:以仿真目標(biāo)控制器獲取其他子系統(tǒng)的接口信息,驅(qū)動室外設(shè)備并能實時采集設(shè)備狀態(tài)。

5)模擬鄰站聯(lián)鎖下位機模塊:仿真相鄰聯(lián)鎖集中站的邏輯運算,實現(xiàn)與本站的通信功能。

6)結(jié)果判定模塊:獲取各測試步驟的預(yù)期結(jié)果,與各仿真模塊實際運行結(jié)果進(jìn)行一致性對比,作為確認(rèn)測試通過的依據(jù)。

3 功能實現(xiàn)

3.1 測試用例解析與執(zhí)行

自動測試系統(tǒng)需從測試用例中解析需執(zhí)行的操作命令,獲取對應(yīng)的追蹤變量,并確定追蹤變量的跳變時機。

3.1.1 測試用例規(guī)定格式

在測試用例文件中可以定義若干測試用例,測試用例規(guī)定格式見圖2。

圖2 測試用例規(guī)定格式

1)測試步驟列:標(biāo)識每條用例的執(zhí)行步驟。

2)執(zhí)行操作列:以功能函數(shù)的方式[8]定義對應(yīng)測試步驟下需要執(zhí)行的操作和操作對象;特殊測試場景下,同一步驟可定義多個操作命令,表示在同一周期內(nèi)可同時下達(dá)多個命令。功能函數(shù)類型及含義見表1。

3)追蹤變量列:定義執(zhí)行操作完成后需追蹤的所有關(guān)鍵變量。

4)等待周期列:定義追蹤變量發(fā)生跳變的具體周期或時間。

5)預(yù)期變量狀態(tài)列:對應(yīng)周期追蹤變量的預(yù)期變化,可定義為狀態(tài)的跳變或持續(xù)保持。

6)追蹤變量開始基準(zhǔn)列:以“變量名=變量狀態(tài)”的格式定義“追蹤變量列”中對應(yīng)變量跳變的追蹤基準(zhǔn)。如果某追蹤變量開始基準(zhǔn)列為空,則解析為追蹤變量的基準(zhǔn)變量與前一個追蹤變量的追蹤基準(zhǔn)一致。

3.1.2 測試時序

自動測試系統(tǒng)不僅需追蹤可判定運算結(jié)果的關(guān)鍵變量,還需確認(rèn)操作命令執(zhí)行過程中相關(guān)變量的狀態(tài)變化和跳變時機,以確保執(zhí)行過程、運算結(jié)果的準(zhǔn)確性。

自動測試系統(tǒng)需先確定追蹤基準(zhǔn),再解析追蹤變量跳變的相對時機,即在追蹤基準(zhǔn)變量發(fā)生預(yù)期變化的若干周期后,追蹤變量會發(fā)生預(yù)期跳變。同時,當(dāng)前追蹤變量又可以作為后續(xù)其他變量跳變的基準(zhǔn)。

自動測試系統(tǒng)將測試場景下所有關(guān)鍵變量跳變解析為:“變量名稱1狀態(tài)跳變-跳變周期/跳變時間—變量名稱2狀態(tài)跳變-跳變周期/跳變時間—…—變量名稱n狀態(tài)跳變-跳變周期/跳變時間”的一個或多個矢量關(guān)系鏈表。依據(jù)該變量跳變的矢量關(guān)系鏈表,可以獲得完整的功能測試時序。

在某一步驟操作執(zhí)行后,系統(tǒng)完成當(dāng)前步驟定義的所有變量追蹤,即開始執(zhí)行下一操作步驟,以保證各操作步驟之間的時序均可依據(jù)場景需求執(zhí)行。

3.1.3 追蹤變量周期轉(zhuǎn)換

布爾邏輯文件中,依據(jù)追蹤變量是否立刻響應(yīng)表達(dá)式,將其劃分為時間變量和非時間變量。對于時間變量,當(dāng)其布爾運算表達(dá)式成立時,會先觸發(fā)變量的計時器,在指定時間計時結(jié)束后再進(jìn)行碼位跳變;對于非時間變量,當(dāng)其布爾運算表達(dá)式成立時,變量立刻發(fā)生跳變[10]。在測試用例中,對時間變量的跳變時機定義為等待時間,即在“變量狀態(tài)等待周期”列以秒(s)為單位定義時間值;對非時間變量的跳變時機定義為等待周期,即在“變量狀態(tài)等待周期”列不加單位。

計算機聯(lián)鎖系統(tǒng)的運算主周期可根據(jù)項目需要進(jìn)行配置。為保證測試準(zhǔn)確性,需要將不同類型變量的跳變時機均轉(zhuǎn)化為對應(yīng)周期進(jìn)行測試,以確定周期級變量的時序,并以周期為單位進(jìn)行邏輯判斷。時間變量等待時間與等待周期的換算公式為

式中:P為周期數(shù),T為時間值,Cycle為聯(lián)鎖運算主周期。

在所有跳變時機完成周期轉(zhuǎn)換后,依據(jù)周期數(shù)從小到大依次排列,重新填充、生成新的矢量關(guān)系鏈表。該矢量關(guān)系鏈表具有嚴(yán)格的周期時序,可直接作為測試結(jié)果判定的依據(jù)。如果解析后若干變量的跳變時機在同一周期,則表示這些變量不需要區(qū)分先后的時序關(guān)系。

3.2 接口仿真

該自動測試系統(tǒng)僅對外部接口的應(yīng)用層數(shù)據(jù)進(jìn)行仿真,以實現(xiàn)脫離硬件限制的通用聯(lián)鎖規(guī)則測試,在系統(tǒng)集成測試時再覆蓋其他層級的接口測試。外部接口仿真主要分為:與軌旁設(shè)備的接口仿真、與相鄰聯(lián)鎖的接口仿真,以及其他接口仿真3個部分。

3.2.1 與軌旁設(shè)備的接口仿真

接口仿真模塊采用黑盒測試方法,將軌旁設(shè)備的驅(qū)采邏輯抽象為輸入、輸出和響應(yīng)時間的碼位組合,并在仿真配置文件中定義。對軌旁設(shè)備而言,其輸入為計算機聯(lián)鎖系統(tǒng)的驅(qū)動碼位命令,輸出為軌旁設(shè)備響應(yīng)對應(yīng)命令的碼位狀態(tài),響應(yīng)時間為碼位狀態(tài)跳變的時機。軌旁設(shè)備接口仿真邏輯示意見圖3,仿真步驟如下。

圖3 軌旁設(shè)備接口仿真邏輯示意

Step 1某一周期內(nèi)下位機輸出的驅(qū)動碼位發(fā)生變化,接口仿真模塊搜索仿真配置文件中是否存在與當(dāng)前驅(qū)動碼位一致的輸入碼位組合,若不存在,則忽略本次驅(qū)動碼位跳變;若存在,則需獲取其對應(yīng)的輸出碼位組合及響應(yīng)時間。

Step 2判斷輸出碼位是否處于模擬故障狀態(tài),若是則忽略本次驅(qū)動碼位跳變;若否則開始等待指定響應(yīng)時間的延時。

Step 3判斷延時過程中驅(qū)動命令是否發(fā)生變化,若沒有發(fā)生變化,則在延時結(jié)束后將輸出碼位設(shè)置為指定狀態(tài);若發(fā)生變化,則接口仿真模塊立即放棄對輸入碼位的響應(yīng)邏輯,重新匹配仿真配置文件的碼位組合。

3.2.2 與相鄰聯(lián)鎖的接口仿真

采用與本站下位機模塊相同的實現(xiàn)方法,為鄰站下位機模塊設(shè)置獨立線程,并執(zhí)行相應(yīng)布爾邏輯文件的邏輯運算,通過網(wǎng)絡(luò)通信與本站模擬下位機模塊實現(xiàn)信息交互。

3.2.3 其他接口仿真

根據(jù)模擬下位機模塊的運算結(jié)果,將輸出碼位傳遞給接口仿真模塊;同時通過測試用例中的定義函數(shù)SET(),實現(xiàn)其他子系統(tǒng)發(fā)送的輸入碼位狀態(tài)設(shè)置。

3.3 結(jié)果判定

根據(jù)測試用例的解析方法和變量追蹤周期的轉(zhuǎn)換方法,可以將測試用例執(zhí)行后的預(yù)期結(jié)果精確到周期級,測試用例的執(zhí)行結(jié)果需與周期相對應(yīng),才可以認(rèn)為執(zhí)行成功。結(jié)果判定流程見圖4,仿真步驟如下:

Step 1將測試用例中所有需追蹤變量的跳變等待時間統(tǒng)一轉(zhuǎn)換為周期;依據(jù)基準(zhǔn)變量,獲取每一步操作命令執(zhí)行后的追蹤時序。

Step 2依次記錄操作命令執(zhí)行的運算結(jié)果。

Step 3將運算結(jié)果與解析后的變量追蹤時序進(jìn)行一致性對比。若任一變量狀態(tài)與預(yù)期追蹤時序不一致,判定為執(zhí)行失敗,記錄對應(yīng)的執(zhí)行步驟及變量,退出執(zhí)行當(dāng)前用例;若一致,則在測試記錄中標(biāo)記關(guān)鍵變量,繼續(xù)執(zhí)行操作命令,直至所有步驟執(zhí)行結(jié)束。標(biāo)記的測試記錄作為變量分析的依據(jù)供測試人員查驗。

自動測試系統(tǒng)人機交互界面,可對執(zhí)行過的測試用例給予測試通過或測試失敗的狀態(tài)提示,測試用例結(jié)果界面見圖5,點擊用例名稱可查看測試用例的執(zhí)行細(xì)節(jié)。

4 試驗驗證

以進(jìn)路動作道岔功能測試為例,站場示意見圖6。圖6中,P02C道岔采用雙機牽引的電子五線制接口[11-12],其初始狀態(tài)在定位,將P02C道岔單操到反位后,測試其是否可以被進(jìn)路操縱到定位,且道岔條件滿足后是否開放始端信號。該測試用例包含2個執(zhí)行操作命令,見表2。

表2 道岔功能測試用例

圖6 站場示意

在執(zhí)行“將P02C單操到反位”操作時:①由于轉(zhuǎn)轍機的動作時間不確定,P02C道岔反位表示繼電器狀態(tài)(P02C-FBJ)以道岔第一個牽引點的反位表示狀態(tài)碼位(P02C-J1DBJ-CPDM5=1)為追蹤基準(zhǔn),該繼電器應(yīng)在收到第一個牽引點反位表示狀態(tài)有效的同一周期勵磁;②在道岔正常動作過程中,不會誤報擠岔報警(P02C-JCJ=1)。結(jié)果判定模塊根據(jù)下位機運算周期,將15 s轉(zhuǎn)換為60個周期(下位機運算周期為250 ms),并檢查擠岔報警在60個周期內(nèi)應(yīng)始終處于無效狀態(tài)。

在執(zhí)行“辦理進(jìn)路S08C-S12C”操作時:①測試用例中重新以進(jìn)路始端命令為追蹤基準(zhǔn)(S08C-LRC=1)追蹤關(guān)鍵變量;②系統(tǒng)應(yīng)在各變量滿足聯(lián)鎖邏輯的前提下,收到進(jìn)路始終端命令后,同一周期內(nèi)變量S08C-LKJ跳變?yōu)橛行顟B(tài),并在下一周期驅(qū)動變量S08C-LXJ跳變?yōu)橛行顟B(tài)。

測試用例解析和執(zhí)行流程見圖7,測試步驟如下:

圖7 測試用例解析和執(zhí)行流程

Step 1解析測試用例,獲取需執(zhí)行的操作為模擬上位機命令,將P02C道岔反操碼位P02CFCCL發(fā)送到模擬上位機,由上位機向下位機發(fā)送單周期有效的反操命令。

Step 2下位機在收到上位機命令的當(dāng)前周期,向轉(zhuǎn)轍機的2個牽引點輸出驅(qū)動命令,即P02C-J1DCJ-QPDM5=1,P02C-J2DCJ-QPDM5=1。

Step 3接口仿真模塊在收到道岔驅(qū)動命令后,對仿真配置文件中采集-驅(qū)動組合進(jìn)行匹配,模擬道岔室外動作,即在收到驅(qū)動命令后切斷2個牽引點的定位表示,若干周期后,模擬采集到2個牽引點的反位表示。

Step 4當(dāng)前步驟執(zhí)行完畢后,測試系統(tǒng)在測試記錄中與解析的測試用例預(yù)期結(jié)果逐一進(jìn)行一致性對比,當(dāng)所有的變量對比均一致后,則判定當(dāng)前步驟執(zhí)行成功;在下一周期,立即執(zhí)行下一步驟。

Step 5解析測試用例下一步驟,獲取進(jìn)路建立命令;上位機先發(fā)送進(jìn)路操縱命令,當(dāng)P02C道岔扳動到指定位置后,再發(fā)送進(jìn)路始終端命令,并進(jìn)行結(jié)果判定。

輸出測試用例執(zhí)行結(jié)果,測試用例分析與通用聯(lián)鎖規(guī)則的設(shè)計一致,可以通過測試。

5 結(jié)束語

相對于傳統(tǒng)的人工測試方法,本文研發(fā)的自動測試系統(tǒng)對通用聯(lián)鎖規(guī)則中可能存在的時序問題更加敏感,能更好地測試出通用聯(lián)鎖規(guī)則中潛在的設(shè)計問題,極大地提高了測試效率及準(zhǔn)確率,并在實際測試中具有很好的適用性。

下一步可在該自動測試系統(tǒng)中增加實例化模塊,依據(jù)通用聯(lián)鎖規(guī)則測試用例和聯(lián)鎖表等數(shù)據(jù),生成特定站場的測試用例,并能自動執(zhí)行且判斷測試結(jié)果,以解決當(dāng)前工程項目測試效率低、重復(fù)勞動多等問題。

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 亚洲福利片无码最新在线播放| 玩两个丰满老熟女久久网| 四虎永久在线| 国产精品久久久久久影院| 真实国产乱子伦高清| 色综合久久88色综合天天提莫| 精品无码国产一区二区三区AV| 91系列在线观看| 亚洲日韩Av中文字幕无码| 欧美不卡视频在线观看| 美女被操黄色视频网站| 亚洲制服丝袜第一页| 亚洲一区黄色| 精品91在线| 波多野结衣在线一区二区| 欧美一道本| 国产成人1024精品| 国产无码精品在线播放 | 久久男人视频| 亚洲国产精品日韩av专区| 久久青草免费91线频观看不卡| 国产精品免费p区| 天堂成人在线视频| 2021最新国产精品网站| 久久伊人色| 一区二区自拍| 国产精品成人啪精品视频| 一本色道久久88| 丝袜久久剧情精品国产| 国产精品三区四区| 热re99久久精品国99热| 制服丝袜无码每日更新| 亚洲精品人成网线在线 | 亚洲精品无码av中文字幕| 久久免费视频6| 四虎免费视频网站| 日韩欧美中文在线| 欧美综合激情| 欧美一级色视频| 日本高清有码人妻| AV在线麻免费观看网站 | 成人综合网址| 在线观看国产精品第一区免费| 国产一区二区三区精品欧美日韩| 99久久国产精品无码| 日韩黄色精品| 欧美成人日韩| 日韩视频精品在线| 国产在线精彩视频二区| 国产午夜福利在线小视频| 免费人成网站在线观看欧美| 国产福利2021最新在线观看| 一本色道久久88亚洲综合| 99在线视频精品| 九九久久99精品| 色老头综合网| 国产chinese男男gay视频网| 色135综合网| 免费一级毛片| www.youjizz.com久久| 最新亚洲av女人的天堂| 亚洲国产成人自拍| 亚洲无码高清一区| 日韩高清成人| 国产美女丝袜高潮| igao国产精品| 亚洲伊人天堂| 97成人在线视频| 黄色网站不卡无码| 久久久精品久久久久三级| 理论片一区| 99热最新在线| 成年人国产视频| 亚洲欧洲综合| 成人日韩精品| 国产午夜不卡| 精品国产成人高清在线| 亚洲成人77777| 亚洲中文久久精品无玛| 国产无遮挡猛进猛出免费软件| 青青久在线视频免费观看| 亚洲中久无码永久在线观看软件|