国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于圖像識別的聯(lián)鎖系統(tǒng)自動測試技術(shù)研究

2022-09-22 08:55孫志科
鐵路通信信號工程技術(shù) 2022年9期
關(guān)鍵詞:測試工具控件圖像識別

孫志科

(北京全路通信信號研究設(shè)計院集團有限公司,北京 100070)

1 概述

為提高列車運行控制系統(tǒng)中各類安全產(chǎn)品仿真測試的工作效率,同時保證測試質(zhì)量的穩(wěn)定性及測試結(jié)果的一致性,采用自動化測試技術(shù)代替人工測試,已經(jīng)成為鐵路信號安全產(chǎn)品仿真測試技術(shù)發(fā)展的必然趨勢。

2 基于通信接口的聯(lián)鎖軟件自動測試工具軟件

聯(lián)鎖軟件是計算機聯(lián)鎖產(chǎn)品的核心,它的軟件功能及配置數(shù)據(jù)的正確性直接影響車站的行車安全及運輸效率。因此,在研究計算機聯(lián)鎖產(chǎn)品自動化測試技術(shù)的初期,各類測試工具軟件均只將聯(lián)鎖軟件作為被測對象,基于通信接口進行數(shù)據(jù)交互,其原理如圖1所示。

圖1 基于通信接口的聯(lián)鎖軟件自動測試工具Fig.1 Automatic test tool for interlocking software based on communication interface

通過控顯軟件與聯(lián)鎖軟件之間的通信接口A,測試工具軟件向聯(lián)鎖軟件輸入各種操作命令,例如:辦理進路、單操道岔等;通過I/O接口仿真軟件與聯(lián)鎖軟件之間的通信接口B,測試工具軟件可以獲得信號設(shè)備的狀態(tài)信息(例如:區(qū)段狀態(tài)、道岔位置等),同時獲得聯(lián)鎖軟件輸出的控制命令(例如:開放或關(guān)閉信號,轉(zhuǎn)換道岔位置等)。通過對比聯(lián)鎖軟件的輸出與預(yù)期結(jié)果的一致性,測試工具軟件即可實現(xiàn)對聯(lián)鎖軟件功能及配置數(shù)據(jù)的正確性、完整性的自動化測試。

但是,除了聯(lián)鎖軟件以外,計算機聯(lián)鎖產(chǎn)品中還包括用于提供操作顯示界面的控顯軟件。即使聯(lián)鎖軟件中的功能邏輯和配置數(shù)據(jù)是正確的,如果控顯軟件存在缺陷,導(dǎo)致操作顯示界面的功能或顯示錯誤,仍然會影響車站運輸作業(yè)的安全和效率。因此,對于操作顯示界面的顯示及操作功能,以及控顯軟件與聯(lián)鎖軟件之間的通信接口,也必須進行測試,確認其正確性和完整性。

但是,脫離了聯(lián)鎖軟件的配合,控顯軟件無法單獨實現(xiàn)任何顯示和操作功能。因此,要想測試操作顯示界面,必須同時運行聯(lián)鎖、控顯軟件,而且其測試方法和操作步驟與測試聯(lián)鎖軟件時有很大程度的重疊。

例如:測試聯(lián)鎖軟件中的進路數(shù)據(jù)和相關(guān)的聯(lián)鎖功能時,需要執(zhí)行辦理、取消進路等操作,而測試控顯界面的區(qū)段鎖閉狀態(tài)顯示及信號機顯示功能時,也需要執(zhí)行同樣的操作。

在人工測試過程中,測試工程師通過一次操作,即可同時完成對聯(lián)鎖軟件和控顯軟件的測試。但是很顯然,基于數(shù)據(jù)通信模式的自動化測試工具軟件無法對操作顯示界面進行測試,這部分測試工作仍然需要測試工程師人工完成,對聯(lián)鎖產(chǎn)品整體的測試效率提升有限。而采用基于操作顯示界面的自動化測試技術(shù),則可以通過一次測試操作同時完成對聯(lián)鎖軟件和控顯軟件的測試,使整體的測試效率最大化。

3 基于操作顯示界面的自動化測試關(guān)鍵技術(shù)

3.1 概述

實現(xiàn)基于操作顯示界面的自動化測試需要解決以下2個方面的問題:

1)計算機界面顯示的自動識別,代替測試工程師完成對操作顯示界面顯示結(jié)果的識別;

2)遠程控制控顯/模擬機,代替測試工程師完成控顯和模擬界面的鼠標及鍵盤操作。

上述2個問題中,最關(guān)鍵的、難度最大的是識別操作顯示界面上顯示的圖形元素的特征,并將識別結(jié)果與標準圖形進行比對,以確認操作界面的實時顯示是否與預(yù)期一致。

對操作顯示界面上顯示的圖像進行實時識別,常用的技術(shù)方案有以下3種:

1)基于控件接口的圖像識別;

2)基于實時視頻捕捉及模板匹配的圖像識別;

3)基于顯示內(nèi)存映射及模板匹配的圖像識別。

3.2 基于控件接口的圖像識別技術(shù)

對于基于Windows操作系統(tǒng)的應(yīng)用程序來說,通過操作系統(tǒng)提供的圖形控件的訪問接口,應(yīng)用程序可以獲得控件在界面上的各類顯示特征及屬性信息,不需要依賴任何復(fù)雜的算法就可以實現(xiàn)對控件狀態(tài)的獲取和自動操作。

在軟件實現(xiàn)層面,早期可以通過調(diào)用Win32 SDK提供的一系列API函數(shù),通過獲取窗口句柄和發(fā)送消息的模式實現(xiàn)對標準控件的狀態(tài)識別及操作。隨著Windows系統(tǒng)的升級,微軟提供了MSAA、UIA等功能更加完善的接口庫,可以滿足更加復(fù)雜的自動化測試需求,特別是對于自定義控件的支持得到顯著的加強。

采用基于控件接口的圖像識別技術(shù),有以下幾個方面的優(yōu)點:

1)圖像識別速度快;

2)有比較豐富的商業(yè)化工具軟件可用(例如:QTP、AccExplorer),可以大幅度降低面向特定需求的測試工具軟件的開發(fā)難度及成本;

3)可以同時實現(xiàn)對圖形用戶界面的自動操作。

但是,采用這種技術(shù)方案也有一些明顯的缺點。

1)對于非標準控件,特別是自繪制圖形的識別比較困難。而控顯軟件界面中恰恰包含了大量的自繪制圖形(信號機、軌道區(qū)段等)。為了實現(xiàn)自動化測試,需要在被測軟件中增加接口代碼,以提供各類自定義控件及自繪制圖形的特征信息接口,在實際執(zhí)行過程中的風(fēng)險和阻力較大。

2)需要掌握Windows操作系統(tǒng)的很多底層開發(fā)接口,并且需要被測軟件的開發(fā)人員提供大量的技術(shù)支持,測試工具的開發(fā)難度和工作量較大。

3)這種技術(shù)方案的實現(xiàn)依賴于被測對象圖形界面的軟件設(shè)計方案,一旦被測對象所使用的控件發(fā)生變化或者操作系統(tǒng)版本變化,則必須修改測試工具軟件,軟件維護成本較高。

4)測試工具軟件和被測對象必須運行在同一臺計算機中,如果測試工具軟件的運行出現(xiàn)異常,可能影響被測對象的正常運行,導(dǎo)致測試結(jié)果的判定出現(xiàn)錯誤。

3.3 基于實時視頻捕捉的圖像識別技術(shù)

用高清數(shù)字攝像機實時拍攝控顯機的顯示界面,通過適當?shù)乃惴ㄌ崛‘嬅嬷懈鱾€圖形元素的特征值,然后與已知的各種圖形元素的特征值(模板)進行比對,從而識別出當前界面中是否存在某個已知的圖形元素。

這種技術(shù)方案與目前已經(jīng)廣泛應(yīng)用的人臉識別系統(tǒng)的原理比較類似。

采用基于實時視頻捕捉及模板匹配的圖像識別技術(shù),有以下幾個方面的優(yōu)點。

1)測試主機及其外圍設(shè)備獨立于被測系統(tǒng),不需要在被測系統(tǒng)中安裝任何用于圖像識別或自動測試的軟件,不會對被測系統(tǒng)的正常運行產(chǎn)生影響。

2)圖像識別算法屬于通用算法,經(jīng)過多年的發(fā)展,大部分常用算法已經(jīng)用各種常用編程語言實現(xiàn),包括一些開源、免費的代碼庫(例如:OpenCV庫),從而降低了圖像識別功能的開發(fā)難度。

但是,采用這種技術(shù)方案也有一些制約因素。

1)通過數(shù)字攝像機獲取的圖像質(zhì)量不穩(wěn)定,容易受到外界環(huán)境的影響,例如:光線強度和角度的變化、外界振動、拍攝角度變化等,導(dǎo)致識別結(jié)果出現(xiàn)偏差或錯誤。

2)雖然很多圖像識別算法已經(jīng)可以獲得開源、免費的源代碼,但是這些算法的調(diào)用接口比較復(fù)雜,需要掌握大量的接口參數(shù)定義及配置組合規(guī)則,才能獲得較好的識別正確率和識別速度,軟件開發(fā)的難度和工作量較大。

3)這種方案只解決了對界面顯示的自動識別需求,不能實現(xiàn)對被測系統(tǒng)的自動操作,需要集成其他的技術(shù)方案(例如:驅(qū)動機械手完成鍵盤或鼠標操作),開發(fā)工作量和難度較大,且整套自動測試系統(tǒng)的配置成本較高。

3.4 基于顯示內(nèi)存映射及模板匹配的圖像識別技術(shù)

通過網(wǎng)絡(luò)通信接口(例如:TCP或UDP連接)將測試主機與被測計算機連接在一起,利用通用的遠程控制工具軟件(例如:VNC工具)將被測計算機顯示緩沖區(qū)的內(nèi)存數(shù)據(jù)完整映射到測試主機內(nèi)存中,然后運用各種圖像識別算法對顯示緩沖區(qū)某個區(qū)域的所有像素點的顏色、排列方式等特征值進行提取,并與已知的圖形元素的特征值(模板)進行比對,從而識別出當前區(qū)域是否存在某個已知的圖形元素。

如圖2所示,事先截取進站信號機開放各種顯示的圖片,采用適當?shù)乃惴ㄓ嬎愠龈鱾€圖片的像素點分布、顏色、尺寸等方面的特征值,保存在圖片庫中。在測試過程中,辦理以X信號機為始端的側(cè)向接車進路后,截取包括X信號機圖形在內(nèi)的一個矩形區(qū)域內(nèi)所有像素點在顯示內(nèi)存中的數(shù)據(jù),包括像素點的坐標、顏色等,再利用適當?shù)乃惴ㄓ嬎愠鲞@個矩形區(qū)域中圖形元素的各種特征值,與圖片庫中各種信號顯示圖片的特征值進行比對,發(fā)現(xiàn)與UU燈圖片的特征值一致,說明X信號機開放的是UU燈。

圖2 列車信號機顯示識別原理示意Fig.2 Schematic diagram of display and identification principle of train signal

采用基于顯示內(nèi)存映射及模板匹配的圖形識別技術(shù),有以下幾個方面的優(yōu)點。

1)測試主機獨立于被測對象,測試工具軟件的運行不會對被測對象產(chǎn)生影響。

2)基于顯示內(nèi)存映射及模板匹配的圖像識別算法屬于通用的基礎(chǔ)性算法,已有成熟的商業(yè)化工具軟件可以利用。在此類通用工具軟件的基礎(chǔ)上進行二次開發(fā),即可形成滿足計算機聯(lián)鎖產(chǎn)品自動測試需求的專用工具軟件,從而大大降低軟件開發(fā)的難度和工作量。

3)遠程控制工具軟件在提供被測計算機的顯示內(nèi)存映射的同時,還可以實現(xiàn)測試主機對被測計算機的鍵盤和鼠標的遠程控制,是一種更加完整、有效的解決方案。

當然,采用這種技術(shù)方案也有一些不足之處。

1)需要在被測對象的計算機中安裝遠程控制工具軟件,有可能對被測軟件的運行產(chǎn)生影響。但此類工具軟件往往已經(jīng)有長期的應(yīng)用歷史,屬于成熟軟件,其本身對計算機及網(wǎng)絡(luò)通信的資源占用非常少,對被測軟件的運行產(chǎn)生的影響可以忽略不計。

2)測試主機與被測對象通過網(wǎng)絡(luò)連接,對網(wǎng)絡(luò)通信質(zhì)量要求較高。實際使用中,可以將測試主機與被測對象連接在通信質(zhì)量良好的局域網(wǎng)中,以保證測試的連續(xù)性和實時性。

4 基于圖像識別及遠程控制技術(shù)的聯(lián)鎖產(chǎn)品自動化測試工具

經(jīng)過綜合對比可以看出,3.4節(jié)的技術(shù)方案更適合用來開發(fā)計算機聯(lián)鎖產(chǎn)品的自動化測試工具軟件。

中國鐵路總公司于2016年發(fā)布《車站計算機聯(lián)鎖操作顯示技術(shù)規(guī)范》(TJ/DW 188-2016),對計算機聯(lián)鎖產(chǎn)品的操作顯示界面做出了全面、詳細的規(guī)定。只要基于滿足這份技術(shù)規(guī)范的車站制作的標準圖片庫和測試工具軟件,即可適用于其他符合此規(guī)范的車站,與該站控顯軟件的具體實現(xiàn)技術(shù)細節(jié)無關(guān),使得基于此方案開發(fā)的自動測試工具軟件具有更好的通用性。

圖像識別及遠程控制都是成熟的基礎(chǔ)性通用技術(shù),有成熟的商業(yè)化工具軟件可以使用。經(jīng)過調(diào)研和試用,筆者選擇了由英國Testplant公司開發(fā)的Eggplant Functional功能自動化測試平臺作為基礎(chǔ),進行二次開發(fā)。

Eggplant Functional平臺提供了豐富的基于顯示內(nèi)存映射及模板匹配的圖像識別功能接口,并且通過VNC工具軟件實現(xiàn)遠程控制功能。該平臺功能豐富,運行穩(wěn)定。實現(xiàn)自動化測試所需的各類常用基礎(chǔ)功能,該平臺均提供了調(diào)用接口。例如:Excel文件讀寫接口、文本文件讀寫接口、數(shù)據(jù)庫讀寫接口、郵件服務(wù)接口等。

該平臺提供了一套自定義腳本語言SenseTalk,以及配套的集成開發(fā)環(huán)境。SenseTalk語言的語法接近英語自然語法,使得用戶可以比較快速的開發(fā)出符合自身產(chǎn)品特點和業(yè)務(wù)需求的自動測試腳本。

筆者基于Eggplant Functional平臺開發(fā)了一套計算機聯(lián)鎖產(chǎn)品工程數(shù)據(jù)自動化測試工具軟件CBI_AS_PDT,實現(xiàn)了基于Excel格式電子聯(lián)鎖表的進路辦理和取消測試、帶動道岔測試、防護道岔測試、侵限區(qū)段測試、進路正常解鎖測試等多項自動化測試功能。

經(jīng)過嚴格的測試及大量車站的試用,并且通過由獨立第三方進行的T2類工具軟件的安全評估后,CBI_AS_PDT已經(jīng)正式應(yīng)用在計算機聯(lián)鎖產(chǎn)品集成項目的工程數(shù)據(jù)測試業(yè)務(wù)中,完成了200余個車站的測試任務(wù),在提高測試效率,保持測試質(zhì)量的穩(wěn)定性方面取得了顯著的成效。

5 結(jié)束語

除了面向工程數(shù)據(jù)的自動化測試,圖像識別技術(shù)同樣可以應(yīng)用在聯(lián)鎖系統(tǒng)功能的自動化測試中,以解決應(yīng)用軟件或系統(tǒng)軟件升級后難以開展全面功能測試的難題。此外,其他鐵路信號安全產(chǎn)品同樣可以借助圖像識別技術(shù)實現(xiàn)自動化、智能化測試,從而進一步提升鐵路信號產(chǎn)品的安全性、可靠性。這方面還有很多的課題值得研究。

猜你喜歡
測試工具控件圖像識別
基于.net的用戶定義驗證控件的應(yīng)用分析
基于Resnet-50的貓狗圖像識別
高速公路圖像識別技術(shù)應(yīng)用探討
圖像識別在物聯(lián)網(wǎng)上的應(yīng)用
圖像識別在水質(zhì)檢測中的應(yīng)用
關(guān)于.net控件數(shù)組的探討
基于移動平臺APP測試
手車式真空斷路器回路電阻測試電流線接頭研究
淺談響應(yīng)時間測試分析方法
基于嵌入式MINIGUI控件子類化技術(shù)的深入研究與應(yīng)用
邛崃市| 阳谷县| 无为县| 拜泉县| 安远县| 阳西县| 名山县| 荥阳市| 普陀区| 磐安县| 香港 | 孝昌县| 平果县| 寿光市| 屏东市| 锦屏县| 乌海市| 浦东新区| 龙川县| 仪陇县| 望谟县| 乐至县| 富平县| 正安县| 武定县| 新津县| 文成县| 太白县| 宜阳县| 吴忠市| 金阳县| 磐安县| 达州市| 东港市| 安顺市| 阜新市| 潼南县| 涿州市| 靖宇县| 阳城县| 祁门县|