彭 琿,張曉娜,張 翔,李曉利
(復(fù)雜電磁環(huán)境效應(yīng)國家重點(diǎn)實(shí)驗(yàn)室,河南 洛陽 471003)
傳統(tǒng)的機(jī)載顯示器嵌入式軟件測(cè)試方法是一個(gè)型號(hào)研制一套專用的測(cè)試設(shè)備和配套的測(cè)試軟件。當(dāng)型號(hào)越來越多時(shí),就需要越來越多的適用于不同型號(hào)的測(cè)試設(shè)備,而且不同測(cè)試設(shè)備研發(fā)由于技術(shù)繼承性較弱而導(dǎo)致成本難以降低,同時(shí)還需要開發(fā)多套不同的測(cè)試軟件。對(duì)測(cè)試人員而言,還必須花時(shí)間熟練掌握各種測(cè)試設(shè)備和測(cè)試軟件,學(xué)習(xí)成本和時(shí)間成本成倍增加。
面對(duì)上述問題,國內(nèi)外從事機(jī)載顯示器嵌入式軟件開發(fā)與測(cè)試的研究人員,一直在研究設(shè)計(jì)一套基于接口的嵌入式軟件通用測(cè)試方案。本文研究了嵌入式軟件測(cè)試環(huán)境通用開發(fā)平臺(tái)ETest的架構(gòu),設(shè)計(jì)實(shí)現(xiàn)了針對(duì)1553B總線接口測(cè)試的半實(shí)物仿真測(cè)試環(huán)境。
為了滿足嵌入式系統(tǒng)測(cè)試實(shí)時(shí)性要求,嵌入式系統(tǒng)測(cè)試環(huán)境開發(fā)平臺(tái)ETest采用主流的上下位機(jī)架構(gòu),如圖1所示。

圖1 ETest體系架構(gòu)圖
測(cè)試主機(jī)上的軟件主要完成測(cè)試設(shè)計(jì)、測(cè)試監(jiān)控與分析等;實(shí)時(shí)處理機(jī)上的軟件主要完成測(cè)試運(yùn)行。ETest的主要軟件包括測(cè)試設(shè)計(jì)軟件、測(cè)試執(zhí)行服務(wù)軟件、測(cè)試執(zhí)行客戶端軟件、設(shè)備資源管理軟件以及測(cè)試輔助軟件工具包等。
其設(shè)計(jì)目標(biāo)主要包括:
(1)支持對(duì)測(cè)評(píng)任務(wù)的管理,可以進(jìn)行圖形化建模,支持仿真模型的開發(fā)、調(diào)試、編譯和下載等,可以根據(jù)需要加載數(shù)據(jù)源文件,并進(jìn)行測(cè)試腳本的設(shè)計(jì)和實(shí)現(xiàn);
(2)提供測(cè)試運(yùn)行所需的軟件資源,實(shí)現(xiàn)仿真模型的加載和運(yùn)行、測(cè)試腳本的執(zhí)行、測(cè)試數(shù)據(jù)的接收和發(fā)送、測(cè)評(píng)任務(wù)的調(diào)度等;
(3)不但可以使用多種控件實(shí)時(shí)查看測(cè)試狀態(tài)及被測(cè)系統(tǒng)收發(fā)的數(shù)據(jù),還可以實(shí)時(shí)發(fā)送在線腳本,同時(shí)能對(duì)軟件測(cè)試中產(chǎn)生的測(cè)試數(shù)據(jù)進(jìn)行事后分析。
為了開展對(duì)機(jī)載顯示器嵌入式軟件的全面測(cè)試,需要在ETest測(cè)試主機(jī)上仿真模擬外圍的各種接口設(shè)備和傳感器的信息交換過程,同時(shí)利用集成在實(shí)時(shí)處理機(jī)上的各種接口卡,模擬產(chǎn)生這些接口設(shè)備和傳感器的物理信號(hào),并與被測(cè)件進(jìn)行交互,驅(qū)動(dòng)被測(cè)件內(nèi)部嵌入式軟件的運(yùn)行。測(cè)試主機(jī)通過實(shí)時(shí)處理機(jī)控制操作這些模擬設(shè)備,發(fā)出指令到被測(cè)試的機(jī)載顯示器,并接收被測(cè)機(jī)載顯示器的反饋指令。
基于1553B總線的機(jī)載顯示器嵌入式軟件測(cè)試環(huán)境如圖2所示。

圖2 基于1553B總線的機(jī)載顯示器嵌入式軟件測(cè)試環(huán)境
在軟件平臺(tái)方面,ETest設(shè)計(jì)實(shí)現(xiàn)了通用的測(cè)試環(huán)境,主要包括測(cè)試主機(jī)和實(shí)時(shí)處理機(jī)。測(cè)試主機(jī)軟件主要包括測(cè)試任務(wù)管理、仿真模型設(shè)計(jì)、數(shù)據(jù)源加載、測(cè)試腳本設(shè)計(jì)和實(shí)現(xiàn)等主要模塊;實(shí)時(shí)處理機(jī)軟件主要包括測(cè)試運(yùn)行控制、測(cè)試腳本解釋、實(shí)時(shí)數(shù)據(jù)處理、接口驅(qū)動(dòng)等主要功能模塊;測(cè)試監(jiān)控軟件主要實(shí)現(xiàn)測(cè)試監(jiān)控、測(cè)試數(shù)據(jù)收集、測(cè)試結(jié)果分析、在線腳本發(fā)送等功能。
測(cè)試前,進(jìn)行測(cè)試任務(wù)的管理、交聯(lián)環(huán)境模型的建立、數(shù)據(jù)源模型的加載、測(cè)試腳本的編寫、顯示面板的構(gòu)建、收集數(shù)據(jù)的定制;測(cè)試中,進(jìn)行測(cè)試運(yùn)行控制、實(shí)時(shí)數(shù)據(jù)處理、數(shù)據(jù)收集、測(cè)試監(jiān)控、在線腳本發(fā)送、測(cè)試腳本解釋等;測(cè)試后,進(jìn)行測(cè)試結(jié)果分析、數(shù)據(jù)回放和圖形化分析。
測(cè)試交聯(lián)環(huán)境設(shè)計(jì)就是在測(cè)試主機(jī)上利用測(cè)試設(shè)計(jì)軟件建立被測(cè)設(shè)備外圍交聯(lián)環(huán)境,主要進(jìn)行外圍交聯(lián)設(shè)備的仿真、接口協(xié)議和仿真通道的配置、仿真通道和物理通道的映射等。基于1553B總線的機(jī)載顯示器的測(cè)試交聯(lián)環(huán)境建模如圖3所示。

圖3 基于1553B總線的機(jī)載顯示器嵌入式軟件測(cè)試交聯(lián)環(huán)境
ETest提供數(shù)據(jù)協(xié)議描述語言DPD描述應(yīng)用層協(xié)議。協(xié)議由字段組成,字段提供了位、字節(jié)、字符串、數(shù)組、校驗(yàn)等多種類型。應(yīng)用層協(xié)議由接口控制文件詳細(xì)描述,每一個(gè)具體項(xiàng)目都會(huì)制定特定的接口控制文件。
圖形監(jiān)控設(shè)計(jì)是用來在用例執(zhí)行的輸入用例數(shù)據(jù)和顯示測(cè)試結(jié)果數(shù)據(jù)的。監(jiān)控種類常用的有按鈕、開關(guān)、bull燈、文本編輯框、儀表盤、數(shù)字表、曲線圖等。
腳本設(shè)計(jì)就是用例設(shè)計(jì),以實(shí)現(xiàn)自動(dòng)化測(cè)試。腳本采用Python語言編寫。在腳本中直接引用協(xié)議字段,進(jìn)行賦值等操作;直接用ETest提供的協(xié)議讀寫API,實(shí)現(xiàn)協(xié)議的自動(dòng)組包和解包操作。腳本可進(jìn)行輸入輸出信息的打印輸出,可以打開并執(zhí)行監(jiān)控。
完成測(cè)試準(zhǔn)備后,在上位機(jī)上啟動(dòng)測(cè)試,實(shí)時(shí)處理機(jī)運(yùn)行實(shí)時(shí)測(cè)試用例并向上位機(jī)反饋測(cè)試數(shù)據(jù)。本文中,共模擬了機(jī)載顯示器設(shè)備的1553B、AD、DA、DI、DO、視頻、電源接口等多種接口,模擬了與機(jī)載顯示器設(shè)備有信息/信號(hào)交互關(guān)系的計(jì)算機(jī)、開關(guān)量、程控電源、數(shù)字視頻模塊、模擬視頻模塊、模擬量和非標(biāo)設(shè)備、串口設(shè)備等多種外部設(shè)備,總共完成了14種接口協(xié)議的正常、異常、邊界測(cè)試,發(fā)現(xiàn)被測(cè)機(jī)載顯示器嵌入式軟件設(shè)計(jì)缺陷3個(gè)、內(nèi)存溢出缺陷2個(gè),有效提高了被測(cè)試機(jī)載顯示器的穩(wěn)定性可靠性。
本文深入分析了利用ETest構(gòu)建機(jī)載顯示器嵌入式軟件測(cè)試環(huán)境的關(guān)鍵技術(shù)問題。通過執(zhí)行機(jī)載1553B總線顯示器嵌入式軟件的測(cè)試結(jié)果表明,本研究設(shè)計(jì)的ETest可用于開發(fā)基于不同類型接口的嵌入式軟件測(cè)試,實(shí)現(xiàn)對(duì)被測(cè)件實(shí)時(shí)、動(dòng)態(tài)、閉環(huán)、非侵入式的自動(dòng)化測(cè)試。