彭 琿,張曉娜,張 翔,李曉利
(復(fù)雜電磁環(huán)境效應(yīng)國家重點實驗室,河南 洛陽 471003)
傳統(tǒng)的機載顯示器嵌入式軟件測試方法是一個型號研制一套專用的測試設(shè)備和配套的測試軟件。當(dāng)型號越來越多時,就需要越來越多的適用于不同型號的測試設(shè)備,而且不同測試設(shè)備研發(fā)由于技術(shù)繼承性較弱而導(dǎo)致成本難以降低,同時還需要開發(fā)多套不同的測試軟件。對測試人員而言,還必須花時間熟練掌握各種測試設(shè)備和測試軟件,學(xué)習(xí)成本和時間成本成倍增加。
面對上述問題,國內(nèi)外從事機載顯示器嵌入式軟件開發(fā)與測試的研究人員,一直在研究設(shè)計一套基于接口的嵌入式軟件通用測試方案。本文研究了嵌入式軟件測試環(huán)境通用開發(fā)平臺ETest的架構(gòu),設(shè)計實現(xiàn)了針對1553B總線接口測試的半實物仿真測試環(huán)境。
為了滿足嵌入式系統(tǒng)測試實時性要求,嵌入式系統(tǒng)測試環(huán)境開發(fā)平臺ETest采用主流的上下位機架構(gòu),如圖1所示。
圖1 ETest體系架構(gòu)圖
測試主機上的軟件主要完成測試設(shè)計、測試監(jiān)控與分析等;實時處理機上的軟件主要完成測試運行。ETest的主要軟件包括測試設(shè)計軟件、測試執(zhí)行服務(wù)軟件、測試執(zhí)行客戶端軟件、設(shè)備資源管理軟件以及測試輔助軟件工具包等。
其設(shè)計目標(biāo)主要包括:
(1)支持對測評任務(wù)的管理,可以進行圖形化建模,支持仿真模型的開發(fā)、調(diào)試、編譯和下載等,可以根據(jù)需要加載數(shù)據(jù)源文件,并進行測試腳本的設(shè)計和實現(xiàn);
(2)提供測試運行所需的軟件資源,實現(xiàn)仿真模型的加載和運行、測試腳本的執(zhí)行、測試數(shù)據(jù)的接收和發(fā)送、測評任務(wù)的調(diào)度等;
(3)不但可以使用多種控件實時查看測試狀態(tài)及被測系統(tǒng)收發(fā)的數(shù)據(jù),還可以實時發(fā)送在線腳本,同時能對軟件測試中產(chǎn)生的測試數(shù)據(jù)進行事后分析。
為了開展對機載顯示器嵌入式軟件的全面測試,需要在ETest測試主機上仿真模擬外圍的各種接口設(shè)備和傳感器的信息交換過程,同時利用集成在實時處理機上的各種接口卡,模擬產(chǎn)生這些接口設(shè)備和傳感器的物理信號,并與被測件進行交互,驅(qū)動被測件內(nèi)部嵌入式軟件的運行。測試主機通過實時處理機控制操作這些模擬設(shè)備,發(fā)出指令到被測試的機載顯示器,并接收被測機載顯示器的反饋指令。
基于1553B總線的機載顯示器嵌入式軟件測試環(huán)境如圖2所示。
圖2 基于1553B總線的機載顯示器嵌入式軟件測試環(huán)境
在軟件平臺方面,ETest設(shè)計實現(xiàn)了通用的測試環(huán)境,主要包括測試主機和實時處理機。測試主機軟件主要包括測試任務(wù)管理、仿真模型設(shè)計、數(shù)據(jù)源加載、測試腳本設(shè)計和實現(xiàn)等主要模塊;實時處理機軟件主要包括測試運行控制、測試腳本解釋、實時數(shù)據(jù)處理、接口驅(qū)動等主要功能模塊;測試監(jiān)控軟件主要實現(xiàn)測試監(jiān)控、測試數(shù)據(jù)收集、測試結(jié)果分析、在線腳本發(fā)送等功能。
測試前,進行測試任務(wù)的管理、交聯(lián)環(huán)境模型的建立、數(shù)據(jù)源模型的加載、測試腳本的編寫、顯示面板的構(gòu)建、收集數(shù)據(jù)的定制;測試中,進行測試運行控制、實時數(shù)據(jù)處理、數(shù)據(jù)收集、測試監(jiān)控、在線腳本發(fā)送、測試腳本解釋等;測試后,進行測試結(jié)果分析、數(shù)據(jù)回放和圖形化分析。
測試交聯(lián)環(huán)境設(shè)計就是在測試主機上利用測試設(shè)計軟件建立被測設(shè)備外圍交聯(lián)環(huán)境,主要進行外圍交聯(lián)設(shè)備的仿真、接口協(xié)議和仿真通道的配置、仿真通道和物理通道的映射等?;?553B總線的機載顯示器的測試交聯(lián)環(huán)境建模如圖3所示。
圖3 基于1553B總線的機載顯示器嵌入式軟件測試交聯(lián)環(huán)境
ETest提供數(shù)據(jù)協(xié)議描述語言DPD描述應(yīng)用層協(xié)議。協(xié)議由字段組成,字段提供了位、字節(jié)、字符串、數(shù)組、校驗等多種類型。應(yīng)用層協(xié)議由接口控制文件詳細描述,每一個具體項目都會制定特定的接口控制文件。
圖形監(jiān)控設(shè)計是用來在用例執(zhí)行的輸入用例數(shù)據(jù)和顯示測試結(jié)果數(shù)據(jù)的。監(jiān)控種類常用的有按鈕、開關(guān)、bull燈、文本編輯框、儀表盤、數(shù)字表、曲線圖等。
腳本設(shè)計就是用例設(shè)計,以實現(xiàn)自動化測試。腳本采用Python語言編寫。在腳本中直接引用協(xié)議字段,進行賦值等操作;直接用ETest提供的協(xié)議讀寫API,實現(xiàn)協(xié)議的自動組包和解包操作。腳本可進行輸入輸出信息的打印輸出,可以打開并執(zhí)行監(jiān)控。
完成測試準(zhǔn)備后,在上位機上啟動測試,實時處理機運行實時測試用例并向上位機反饋測試數(shù)據(jù)。本文中,共模擬了機載顯示器設(shè)備的1553B、AD、DA、DI、DO、視頻、電源接口等多種接口,模擬了與機載顯示器設(shè)備有信息/信號交互關(guān)系的計算機、開關(guān)量、程控電源、數(shù)字視頻模塊、模擬視頻模塊、模擬量和非標(biāo)設(shè)備、串口設(shè)備等多種外部設(shè)備,總共完成了14種接口協(xié)議的正常、異常、邊界測試,發(fā)現(xiàn)被測機載顯示器嵌入式軟件設(shè)計缺陷3個、內(nèi)存溢出缺陷2個,有效提高了被測試機載顯示器的穩(wěn)定性可靠性。
本文深入分析了利用ETest構(gòu)建機載顯示器嵌入式軟件測試環(huán)境的關(guān)鍵技術(shù)問題。通過執(zhí)行機載1553B總線顯示器嵌入式軟件的測試結(jié)果表明,本研究設(shè)計的ETest可用于開發(fā)基于不同類型接口的嵌入式軟件測試,實現(xiàn)對被測件實時、動態(tài)、閉環(huán)、非侵入式的自動化測試。