王文智
(1.西北工業(yè)大學(xué)航海學(xué)院,陜西西安,710072;2.航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西西安,710068)
隨著數(shù)字技術(shù)在飛機(jī)上的大量應(yīng)用,機(jī)載電子設(shè)備功能日益復(fù)雜,其測試工作量和測試難度也在不斷增加,導(dǎo)致設(shè)備供應(yīng)商的進(jìn)度和成本控制壓力越來越大[1]。
如何應(yīng)對測試帶來的挑戰(zhàn)?國外機(jī)載電子設(shè)備供應(yīng)商的主要解決方案是實(shí)現(xiàn)測試活動(dòng)的自動(dòng)化,盡量降低人工的參與程度;同時(shí)開發(fā)通用性的測試系統(tǒng),盡量實(shí)現(xiàn)多個(gè)測試場景的覆蓋,降低測試系統(tǒng)的開發(fā)和維護(hù)成本。此解決方案的核心是研制面向機(jī)載電子設(shè)備的自動(dòng)化測試系統(tǒng)[2],既能滿足測試活動(dòng)的自動(dòng)化要求,又能滿足多個(gè)測試場景的通用化要求。
國外領(lǐng)先的機(jī)載電子設(shè)備供應(yīng)商都研制了具有自主知識產(chǎn)權(quán)的自動(dòng)化測試系統(tǒng),能夠快速、靈活、低成本地適用于各種型號的設(shè)備測試。國內(nèi)的機(jī)載電子設(shè)備供應(yīng)商以采購貨架商品為主,尚未形成具有自主知識產(chǎn)權(quán)的測試系統(tǒng),需要加強(qiáng)這方面的研究和工程開發(fā),盡快填補(bǔ)空白。
基于機(jī)載電子設(shè)備的測試要求[3],按照系統(tǒng)工程方法[4],梳理自動(dòng)化測試系統(tǒng)的測試場景,分析系統(tǒng)需求,設(shè)計(jì)自動(dòng)化測試系統(tǒng)的硬件架構(gòu)和軟件架構(gòu),并對自動(dòng)化測試軟件框架進(jìn)行專項(xiàng)設(shè)計(jì),然后開發(fā)系統(tǒng)實(shí)物并在測試場景下進(jìn)行驗(yàn)證。
根據(jù)機(jī)載電子設(shè)備的特點(diǎn),自動(dòng)化測試系統(tǒng)應(yīng)滿足多個(gè)場景下的測試需求,如表1所示。在每個(gè)測試場景下,自動(dòng)化測試系統(tǒng)都應(yīng)支持測試的自動(dòng)化運(yùn)行和結(jié)果記錄,以節(jié)省人力成本。
表1 自動(dòng)化測試系統(tǒng)的測試場景
測試人員使用自動(dòng)化測試系統(tǒng),基于各場景下的測試依據(jù),開發(fā)測試用例和測試程序[5];通過測試程序的自動(dòng)化運(yùn)行對被測設(shè)備進(jìn)行測試,分析結(jié)果,確定被測設(shè)備的行為是否達(dá)到測試目的。
分析設(shè)備級功能與性能測試等四個(gè)測試場景對自動(dòng)化測試的要求,并進(jìn)行整合和歸納,得到自動(dòng)化測試系統(tǒng)的系統(tǒng)需求。
自動(dòng)化測試系統(tǒng)應(yīng)為被測設(shè)備提供所有外部接口,包括機(jī)械、電源、冷卻和專用電子信號接口等,以保證被測設(shè)備的外部接口與機(jī)載環(huán)境一致。
自動(dòng)化測試系統(tǒng)應(yīng)提供被測設(shè)備運(yùn)行所需的所有外部數(shù)據(jù)激勵(lì),包括通信協(xié)議和ICD等。外部數(shù)據(jù)激勵(lì)可采用仿真模型或仿真程序等形式實(shí)現(xiàn)。
自動(dòng)化測試系統(tǒng)應(yīng)能采集被測設(shè)備輸出的所有數(shù)據(jù),包括各種接口輸出的不同頻率的數(shù)據(jù),并按照一定格式進(jìn)行存儲,用于結(jié)果分析。
自動(dòng)化測試系統(tǒng)應(yīng)能提供測試主界面,用于測試人員進(jìn)行測試程序的配置、開發(fā)、執(zhí)行或查看等操作。
自動(dòng)化測試系統(tǒng)應(yīng)支持測試的自動(dòng)化運(yùn)行。系統(tǒng)應(yīng)提供測試腳本和各種支持函數(shù)庫。
自動(dòng)化測試系統(tǒng)應(yīng)提供用戶的權(quán)限管理,為測試運(yùn)行人員和系統(tǒng)管理人員配置不同的權(quán)限。
自動(dòng)化測試系統(tǒng)應(yīng)能夠進(jìn)行開機(jī)自檢,對各板塊、電源、和線路的健康狀態(tài)進(jìn)行測試,保證自身的可用性。
自動(dòng)化測試系統(tǒng)應(yīng)能夠連續(xù)運(yùn)行至少72小時(shí)無故障,以滿足測試過程的時(shí)長要求。
自動(dòng)化測試系統(tǒng)應(yīng)具有可移動(dòng)性,在不同的測試地點(diǎn)間可以由2個(gè)或更少人進(jìn)行移動(dòng)。
基于系統(tǒng)需求,分別設(shè)計(jì)系統(tǒng)的硬件架構(gòu)和軟件架構(gòu),同時(shí)針對自動(dòng)化測試的特點(diǎn),專門設(shè)計(jì)自動(dòng)化測試軟件框架。
為了滿足自動(dòng)化測試系統(tǒng)在多個(gè)使用場景下的可移動(dòng)要求,系統(tǒng)的硬件采用整體可移動(dòng)式設(shè)計(jì),各組成設(shè)備及線纜采用結(jié)構(gòu)固定的方式安裝在機(jī)柜內(nèi)部,如圖1所示。
圖1 自動(dòng)化測試系統(tǒng)的硬件架構(gòu)
可移動(dòng)機(jī)柜:具有機(jī)柜腳輪和前后可拆卸式柜門;內(nèi)部設(shè)置多層設(shè)備架,可以固定設(shè)備和線纜;采用機(jī)柜后面走線,前面操作的方式實(shí)現(xiàn)測試人員無障礙操作。
接口轉(zhuǎn)接盒:通過航空連接器和線纜與被測設(shè)備進(jìn)行連接,并將被測設(shè)備所有的航空專用接口轉(zhuǎn)為工業(yè)控制計(jì)算機(jī)及其他設(shè)備可識別的接口,用于設(shè)備間的互聯(lián)。
專用電源:為自動(dòng)化測試系統(tǒng)內(nèi)部設(shè)備提供相應(yīng)的電源輸入和控制。
實(shí)時(shí)端主機(jī):配置多種專用接口卡,通過接口轉(zhuǎn)接盒與被測設(shè)備進(jìn)行連接,仿真被測設(shè)備的外部環(huán)境。
控制端主機(jī):對系統(tǒng)進(jìn)行配置,運(yùn)行自動(dòng)化測試程序,實(shí)現(xiàn)測試激勵(lì),捕獲測試輸出,進(jìn)行結(jié)果比對和分析等測試功能。
顯示控制終端:采用機(jī)架式顯示器、鍵盤和鼠標(biāo)套件,用于人機(jī)交互。
自動(dòng)化測試系統(tǒng)的控制端主機(jī)和實(shí)時(shí)端主機(jī)通過高速以太網(wǎng)絡(luò)進(jìn)行連接,實(shí)現(xiàn)大量測試數(shù)據(jù)的高速交換。顯示控制終端通過視頻線或者USB接口與控制端或?qū)崟r(shí)端主機(jī)連接,通過切換,分別實(shí)現(xiàn)對兩個(gè)主機(jī)的顯示和輸入控制。
為了適應(yīng)被測設(shè)備的實(shí)時(shí)性要求以及測試軟件的運(yùn)行和處理要求,自動(dòng)化測試系統(tǒng)的軟件采用分布式設(shè)計(jì),如圖2所示。
圖2 自動(dòng)化測試系統(tǒng)的軟件架構(gòu)
實(shí)時(shí)端軟件駐留于實(shí)時(shí)端主機(jī),基于實(shí)時(shí)操作系統(tǒng)實(shí)現(xiàn)被測設(shè)備的外部環(huán)境,并與被測設(shè)備進(jìn)行實(shí)時(shí)通信。
實(shí)時(shí)端管理軟件:對實(shí)時(shí)端系統(tǒng)和應(yīng)用軟件進(jìn)行配置,包括配置文件的更新、日志記錄、網(wǎng)絡(luò)設(shè)置和自檢維護(hù)等。
數(shù)據(jù)采集與發(fā)送軟件:按照被測設(shè)備所需的數(shù)據(jù)頻率、通信協(xié)議和ICD[7]格式,與被測設(shè)備通信。通過控制網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò),接受控制端軟件的遠(yuǎn)程控制,對發(fā)送數(shù)據(jù)進(jìn)行賦值,并向控制端軟件返回所需的數(shù)據(jù)。
仿真模型[8]:用于模擬被測設(shè)備的交聯(lián)設(shè)備,通過控制網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)接受控制端軟件的調(diào)度和設(shè)置。
控制端軟件駐留于控制端主機(jī),采用非實(shí)時(shí)操作系統(tǒng),完成測試設(shè)置、測試程序開發(fā)和運(yùn)行、結(jié)果分析等測試功能。
操作視圖管理軟件:為控制端主界面,用于ICD管理、控制端管理和自動(dòng)化測試軟件等控制端軟件之間的視圖切換。
ICD管理軟件:對被測設(shè)備的ICD進(jìn)行統(tǒng)一管理,并按照測試需要生成各軟件運(yùn)行所需的ICD配置文件,用于各軟件之間的數(shù)據(jù)通信。
控制端管理軟件:對控制端系統(tǒng)和應(yīng)用軟件進(jìn)行配置和操作,包括配置文件更新、日志記錄、網(wǎng)絡(luò)設(shè)置和自檢維護(hù)等。
數(shù)據(jù)監(jiān)控與存儲軟件:可以對被測設(shè)備的通信數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控,并按照特定條件進(jìn)行存儲,用于結(jié)果分析。
自動(dòng)化測試軟件:在無人參與的情況下可以實(shí)現(xiàn)整個(gè)測試過程的程序化運(yùn)行及測試結(jié)果的程序化判斷,為系統(tǒng)的核心軟件。
經(jīng)過權(quán)衡分析后,自動(dòng)化測試軟件框架采用層次化設(shè)計(jì)方案,如圖3所示。各層功能如下:
圖3 自動(dòng)化測試軟件框架
控制層:為測試用戶提供兩種界面,一種為開發(fā)界面,另一種為運(yùn)行控制界面。測試用戶可以通過開發(fā)界面進(jìn)行測試程序的開發(fā),或者通過運(yùn)行控制界面選擇待運(yùn)行的測試程序,并觀察測試過程和結(jié)果。
程序?qū)樱菏褂媒忉屝哉Z言編寫的測試程序,可以通過調(diào)用接口層提供的各種API,設(shè)置測試條件、啟動(dòng)外圍仿真、為被測設(shè)備的ICD進(jìn)行賦值,并獲取被測設(shè)備反饋的ICD信息,與預(yù)期結(jié)果進(jìn)行比較,得到測試結(jié)果。測試程序可以調(diào)用數(shù)據(jù)監(jiān)控與存儲API,控制數(shù)據(jù)監(jiān)控與存儲軟件實(shí)現(xiàn)特定數(shù)據(jù)的監(jiān)控和存儲。
接口層:提供各種系統(tǒng)配置、控制和通信等API,支持程序?qū)泳帉憸y試程序。
網(wǎng)絡(luò)層:提供管理網(wǎng)絡(luò)、控制網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)的接入,實(shí)現(xiàn)與其他軟件的通信。
在某電子設(shè)備的測試系統(tǒng)研發(fā)過程中,采用了前文的硬件和軟件設(shè)計(jì)方案。硬件采用KVM設(shè)備[9]、多網(wǎng)口服務(wù)器、工控機(jī)(含多種接口卡)及定制減震機(jī)柜等設(shè)備實(shí)現(xiàn)。
在軟件的實(shí)現(xiàn)上,操作系統(tǒng)采用Cent OS及 Windows7;應(yīng)用軟件采用LabWindows/CVI和Eclipse平臺開發(fā)環(huán)境;自動(dòng)化測試腳本[10]采用Python語言;管理網(wǎng)絡(luò)采用跨語言的Thrift框架[11];控制網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)采用DDS[12]技術(shù),其中控制網(wǎng)絡(luò)設(shè)置更高的傳輸優(yōu)先級。
圖4 自動(dòng)化測試系統(tǒng)外形
該自動(dòng)化測試系統(tǒng)的最終實(shí)施結(jié)果如圖5所示。連接被測設(shè)備后,對自動(dòng)化測試系統(tǒng)進(jìn)行驗(yàn)證。
加電自檢正確后,進(jìn)入自動(dòng)化測試軟件的人機(jī)界面,選擇周期性自檢、單項(xiàng)功能檢測和性能測試等多個(gè)Python測試程序,啟動(dòng)對被測設(shè)備的自動(dòng)化測試。測試程序順序執(zhí)行并顯示執(zhí)行狀態(tài),運(yùn)行結(jié)束后顯示匯總分析結(jié)果。各項(xiàng)測試功能滿足自動(dòng)化測試系統(tǒng)的需求。
對自動(dòng)化測試系統(tǒng)進(jìn)行了測試場景梳理、需求分析、硬件架構(gòu)設(shè)計(jì)、軟件架構(gòu)設(shè)計(jì)以及自動(dòng)化測試設(shè)計(jì),并在某機(jī)載電子設(shè)備的測試系統(tǒng)中進(jìn)行了應(yīng)用。測試結(jié)果表明本文提出的系統(tǒng)設(shè)計(jì)能夠滿足測試場景需求和系統(tǒng)需求,是一個(gè)有效的、通用的自動(dòng)化測試系統(tǒng)解決方案。