王山虎 陳福 寧慧君


摘要:針對航空電子系統結構綜合化、硬件共享化、功能軟件化引發軟件規模、復雜度指數級上升的趨勢,軟件測試迎來了新的的困難和挑戰。從測試環境和測試流程方面,針對機電管理系統測試,重點說明了測試環境組成、運轉過程、測試的輸入輸出數據、測試模型的開發等,為機載大規模復雜軟件測試驗證提供了解決方案,提高軟件的可靠性。
關鍵詞:航空電子軟件功能化機載大規模測試模型
引言
隨著科學技術的發展,航空電子系統經歷了分立式航空電子系統、聯合式航空電子系統到綜合化航空電子系統的發展過程,而現在又朝著硬件結構綜合化、功能軟件化、采用高速總線網絡的方向發展。目前國內飛機機電管理系統綜合化程度越來越高,軟件規模也越來越大,國內某大型飛機機電綜合管理系統軟件規模達百萬行,如此大規模軟件,對軟件測試平臺的搭建提出了更高的要求。
1測試環境概述
1.1測試環境特征
機載軟件的測試環境包括軟件運行環境和測試工具環境。測試工具一般要求是經過鑒定的工具欺件測試環境應具有可控性和真實性的特征。外圍部分為仿真或模擬環境,則可控性很好但是真實性不夠;若外圍部分都是真實環境,則可控性不夠。一般測試級別(單元測試、部件測試、配置項測試和系統測試)越低,環境要求越可控,測試方法也越簡單,測試結果易于獲得;測試級別越高,環境要求越真實,便于從整體發現軟件缺陷。
嵌入式軟件的測試環境一般分為全數字仿真環境、半實物仿真環境、全實物測試環境三種。測試環境需要符合軟件研制總要求、軟件開發文檔等要求,同時能滿足多樣性測試的要求。比如故障模式、異常狀態、強度或降級狀態的模擬等,要求測試環境的可控性較高;而性能、接口等測試又要求測試環境更加真實。必要時,測試某個軟件可以建立多個測試環境。
針對機載系統大規模的軟件,需要搭建一套完整的軟件測試環境,它是測試所需的一組自動工具、固件和硬件的集合,典型組成見圖1。
1.2測試環境要求
針對大規模機電綜合管理系統軟件,應用軟件通常在幾個分區內運行。重點需要驗證平臺和應用的功能、性能和安全性等,相關測試工作大致可以與傳統測試級別中的配置項級和系統級測試相對應。因此,除了滿足一般嵌入式軟件測試環境要求外,機載大規模軟件測試環境還需滿足如下要求:
a足夠多的硬件接口,能夠與機電管理計算機數量眾多的外部接口互聯,接口類型包括:AF DX(或1394、FC等)、ARINC429、CAN、RS422、離散量輸入輸出、模擬量輸入輸出以及一些特殊I/O接口,為此,需要大量接口板卡和相應驅動程序。
b具備靈活的配置能力,能夠支持軟件在不同階段和不同配置下的測試。
c具備動態擴展能力,能夠根據被測軟件和目標機的要求,方便地擴展測試環境的規模,應對功能軟件化的新需求。
2測試流程及內容
機電綜合管理系統軟件測試,由其系統結構決定,一般采取自底向上增量式集成測試的策略,分別是平臺測試、應用測試、系統測試、多系統集成測試、全系統集成測試、地面測試及試飛等步驟,詳見下圖2。
2.1平臺測試
平臺測試主要包括操作系統測試、操作系統與硬件集成測試、平臺配置測試等。
操作系統測試主要按照操作系統軟件級別要求開展操作系統的單元測試、部件測試、配置項測試,以及標準(比如:ARIlxlC653)符合性測試和健壯性測試。
操作系統與硬件集成測試主要將操作系統加載至機電管理系統的硬件平臺,測試操作系統的功能及性能。典型的功能測試包括:分區管理、進程管理、時間管理、緩沖管理、分區間通信管理、共享數據區管理等;典型的性能測試包括:引導時間、分區/進程上下文切換時間、中斷/異常響應時間、接口性能測試和最大能力測試等。
平臺配置測試在系統最終配置下進行。最終配置由各個分區應用的局部配置和操作系統的全局配置組成,填寫在操作系統的配置表中,主要內容包括:分區數量、主幀時間長度、分區間通信使用的采樣/隊列通道號、分區內通信使用的緩沖/信號量/事件的數量、異常和中斷掛接的處理程序、看門狗持續時間等。平臺測試環境示意圖如圖3所示。
2.2應用軟件測試
應用測試主要在最終應用配置情況下,測試加載于平臺分區中的應用;主要包括應用模塊測試、應用模塊集成測試及應用與硬件集成測試。
模塊測試主要對應用模塊軟件執行單元測試、部件測試。模塊集成測試主要對應用進行配置項測試及系統測試。應用與硬件集成測試,主要在硬件平臺上進一步測試應用的功能、性能等指標。應用測試如下圖4所示。
2.3系統測試
在系統測試階段開始時,必須保證每個已測應用的配置與先前進行應用測試時所用配置相同。測試內容包括:資源管理和共享資源分配、健康監控、故障管理、系統負載、應用和分區之間互動關系是否合適且受到控制、對數據總線和I/O消息的使用是否正確等。
3結語
對著機電系統綜合化程度越來越高,機載軟件的規模和復雜度呈觀出指數級的增長,為了適應現代飛機功能軟件化的要求,機載軟件傳統的研制過程和方法需要不斷的變革、完善,軟件測試做為軟件開發過程中的重要一環,需要緊跟時代步伐,不斷完善軟件測試環境、提升軟件測試驗證技術。
參考文獻
[1]洪沛,康介祥,機載軟件自動測試系統的設計與實現[J],測控技術2014(07)
[2]敏剛,封演利,張蕾,秦浩·一種航空機載軟件測試項目的進度改進模型[J].電子測試,2017(12)
[3]ARINC653, Avionics Application Software Standard Interface[S].2006