胡經(jīng)民 郭璞 武宏偉 孫靖
摘要:為了高效地實(shí)現(xiàn)對(duì)航天軟件的測(cè)試,保證所開(kāi)發(fā)軟件的質(zhì)量。本文研究了基于全數(shù)字仿真測(cè)試環(huán)境在航天軟件測(cè)試中的應(yīng)用,詳細(xì)介紹了硬件仿真測(cè)試環(huán)境、全數(shù)字仿真測(cè)試環(huán)境的基本概念,并從全數(shù)字仿真測(cè)試環(huán)境的體系結(jié)構(gòu),軟件測(cè)試流程等方面闡述了軟件測(cè)試的原理及實(shí)現(xiàn)方法。最后,通過(guò)實(shí)際的應(yīng)用分析并總結(jié)了全數(shù)字仿真測(cè)試環(huán)境下航天軟件測(cè)試的優(yōu)勢(shì)。
關(guān)鍵詞: 全數(shù)字仿真硬件測(cè)試環(huán)境航天軟件測(cè)試應(yīng)用研究
Abstract: In order to test aerospace software efficiently, it is necessary to ensure the quality of the developed software. This paper investigates the application of an all-digital simulation-based test environment in aerospace software testing. The basic concepts of hardware simulation test environment and full digital simulation test environment are introduced in detail. And the principle and implementation of software testing are described from the aspects of architecture of full digital simulation testing environment and software testing process. Finally, combined with actual applications, the advantages of aerospace software testing under the all-digital simulation test environment are analyzed and summarized.
Key Words: All-digital simulation; Hardware test environment; Aerospace software testing; Application research
隨著科學(xué)技術(shù)的不斷發(fā)展,航天系統(tǒng)對(duì)系統(tǒng)集成化、智能化的需求愈發(fā)迫切,在硬件逐漸完善的同時(shí),軟件質(zhì)量直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性、容錯(cuò)性、可靠性等。而軟件測(cè)試是保障軟件質(zhì)量最基本也是最重要的途徑。目前,在航天類的軟件中,可以粗略地將測(cè)試環(huán)境分為硬件仿真測(cè)試環(huán)境、全數(shù)字仿真測(cè)試環(huán)境兩大類。
圖1為通用的硬件仿真測(cè)試環(huán)境示意圖。由圖可知該測(cè)試環(huán)境主要由四大部分硬件組成。其中,彈載計(jì)算機(jī)部分主要是用于完成飛行控制軟件的相關(guān)操作;仿真測(cè)試平臺(tái)主要是用于對(duì)輸入信號(hào)的測(cè)試并將其結(jié)果顯示到界面上,同時(shí)還用于實(shí)現(xiàn)其他硬件之間的數(shù)據(jù)交換。遙測(cè)和地面計(jì)算機(jī)的主要作用是對(duì)航天設(shè)備進(jìn)行實(shí)時(shí)的監(jiān)測(cè),并結(jié)合任務(wù)需求及實(shí)際狀態(tài)向彈載計(jì)算機(jī)上傳所需的運(yùn)行程序,同時(shí)接收其發(fā)回的反饋信息及遙測(cè)數(shù)據(jù)。仿真計(jì)算機(jī)的主要任務(wù)是結(jié)合所運(yùn)行的航天設(shè)備的動(dòng)態(tài)方程,獲得該設(shè)備在實(shí)際的運(yùn)行過(guò)程中的狀態(tài)估計(jì),并將其數(shù)據(jù)傳輸給彈載計(jì)算機(jī)。然后,彈載計(jì)算機(jī)根據(jù)目標(biāo)當(dāng)前的位置及設(shè)定的任務(wù)需求進(jìn)行數(shù)據(jù)處理并將控制量輸出給仿真計(jì)算機(jī)。最后,通過(guò)仿真計(jì)算機(jī)來(lái)執(zhí)行模型控制。
通常情況下,對(duì)于與不同的航天型號(hào)相對(duì)應(yīng)的硬件仿真測(cè)試環(huán)境不盡相同,因此無(wú)法實(shí)現(xiàn)測(cè)試環(huán)境的資源共享。由于不同設(shè)備的內(nèi)部硬件結(jié)構(gòu)不同,導(dǎo)致當(dāng)測(cè)試環(huán)境出現(xiàn)故障、或后期需要維護(hù)更新時(shí),將耗費(fèi)極大的時(shí)間、人力及物力,從而造成了極為嚴(yán)重的資源浪費(fèi)。鑒于該仿真測(cè)試環(huán)境存在的一系列缺點(diǎn),基于航天軟件測(cè)試的全數(shù)字仿真測(cè)試環(huán)境應(yīng)用而生。因此,下文將對(duì)該測(cè)試環(huán)境進(jìn)行詳細(xì)的研究。
1全數(shù)字仿真測(cè)試環(huán)境簡(jiǎn)介及模型
1.1 全數(shù)字仿真測(cè)試環(huán)境簡(jiǎn)介
圖2全數(shù)字仿真測(cè)試環(huán)境設(shè)計(jì)示意圖。該測(cè)試環(huán)境同樣由4個(gè)部分組成,其主要作用是所需測(cè)試的航天軟件構(gòu)建一個(gè)模擬的測(cè)試環(huán)境[1],從而無(wú)需通過(guò)如圖1所示的硬件設(shè)備來(lái)獲取測(cè)試數(shù)據(jù),只需通過(guò)仿真測(cè)試環(huán)境來(lái)產(chǎn)生所需的模擬數(shù)據(jù)。因此全數(shù)字仿真測(cè)試環(huán)境相較于硬件測(cè)試環(huán)境更加的靈活,經(jīng)濟(jì)。
在上圖中,對(duì)于模擬輸入部分,通常以腳本為主要的輸入方式。這樣的好處在于可以根據(jù)實(shí)際情況設(shè)計(jì)不同的故障腳本,從而實(shí)現(xiàn)對(duì)航天軟件更加全面的測(cè)試。圖2中間的兩部分的主要作用是仿真、模擬實(shí)現(xiàn)硬件部分的工作過(guò)程。而最后的結(jié)果記錄主要是用于對(duì)結(jié)果的分析,便于對(duì)所進(jìn)行測(cè)試的軟件進(jìn)行相應(yīng)修正,與維護(hù)。
1.2 全數(shù)字仿真測(cè)試環(huán)境模型
在實(shí)際的場(chǎng)景中,嵌入式的航天軟件與外部設(shè)備進(jìn)行數(shù)據(jù)交互主要是通過(guò)數(shù)據(jù)總線來(lái)完成的。即與軟件相連的外部設(shè)備首先將所需處理的數(shù)據(jù)通過(guò)總線發(fā)送給軟件,軟件利用內(nèi)部的算法完成相應(yīng)的操作后,再通過(guò)總線將其結(jié)果輸出,從而完成不同系統(tǒng)、設(shè)備之間的交互與通信[2]。
利用模擬數(shù)據(jù)總線的方法,可以將全數(shù)字仿真測(cè)試環(huán)境中的航天軟件和其他LRU(Lille Replaceable Unit)進(jìn)行互聯(lián),并實(shí)現(xiàn)數(shù)據(jù)傳輸,其功能和真實(shí)的總線完全相同。同時(shí),還可以根據(jù)進(jìn)程調(diào)度來(lái)同步不同模塊的數(shù)據(jù)[3]。圖3為全數(shù)字仿真測(cè)試環(huán)境模型示意圖。
此外,為了在全數(shù)字仿真測(cè)試環(huán)境中對(duì)所需的航天軟件進(jìn)行測(cè)試,還需調(diào)用相應(yīng)的測(cè)試命令或操作應(yīng)用程序接口來(lái)來(lái)仿真外部設(shè)備的數(shù)據(jù)輸入。需要注意的是,該輸入及通過(guò)測(cè)試后輸出的全部過(guò)程都是利用模擬總線結(jié)構(gòu)來(lái)進(jìn)行調(diào)用和數(shù)據(jù)交互的。
2 全數(shù)字仿真測(cè)試環(huán)境的體系結(jié)構(gòu)及軟件測(cè)試流程
2.1 全數(shù)字仿真測(cè)試環(huán)境的體系結(jié)構(gòu)
為了保證仿真測(cè)試環(huán)境的維護(hù)性、擴(kuò)展性,降低后期使用成本。全數(shù)字仿真測(cè)試環(huán)境采用了分層的體系結(jié)構(gòu)[4],如圖4所示。
其中,用戶界面的主要任務(wù)完成人機(jī)交互的功能。一方面是將所需的測(cè)試命令發(fā)送到相應(yīng)的測(cè)試環(huán)境中;另一方面是將測(cè)試的結(jié)果反饋給操作人員或用于,便于進(jìn)一步分析與操作。激勵(lì)系統(tǒng)、測(cè)試代理的主要作用是完成用戶界面與虛擬機(jī)之間的數(shù)據(jù)交互,從而實(shí)現(xiàn)對(duì)虛擬機(jī)的控制,并完成靜態(tài)、動(dòng)態(tài)的測(cè)試功能。虛擬機(jī)主要用于運(yùn)行被測(cè)軟件[5-6]。
分層的體系結(jié)構(gòu)的基本思想是將總的測(cè)試任務(wù)進(jìn)行分解,并將分解后的每部分任務(wù)單獨(dú)的放在一個(gè)抽象的層中,該體系結(jié)構(gòu)的優(yōu)勢(shì)主要體現(xiàn)在以下幾點(diǎn)。
(1)層的重用。當(dāng)某一獨(dú)立的抽象層具有較為標(biāo)準(zhǔn)或通用化的接口時(shí),則該層可以在不同的航天軟件測(cè)試中被重復(fù)使用,從而最大程度地降低了開(kāi)發(fā)成本。
(2)標(biāo)準(zhǔn)化支持。抽象層準(zhǔn)確劃分,能夠有效的促進(jìn)標(biāo)準(zhǔn)、規(guī)范、統(tǒng)一化的任務(wù)接口開(kāi)發(fā)。
(3)局部依賴性。獨(dú)立層之間的準(zhǔn)確劃分,可以明確各層之間的任務(wù)及關(guān)聯(lián)性,減少了由于某一部分的修改對(duì)整個(gè)環(huán)境的影響。
(4)可替換性。不同測(cè)試軟件相同的需求仿真測(cè)試環(huán)境可以實(shí)現(xiàn)單個(gè)獨(dú)立層的輕松替換。
2.2全數(shù)字仿真測(cè)試環(huán)境的軟件測(cè)試流程
在全數(shù)字仿真環(huán)境下軟件測(cè)試步驟如下:
(1)仿真測(cè)試環(huán)境的初始化。將待測(cè)的航天軟件編譯后加載到當(dāng)前的測(cè)試環(huán)境中;
(2)通過(guò)靜態(tài)測(cè)試工具對(duì)所測(cè)試的航天軟件執(zhí)行靜態(tài)分析,并生成相關(guān)的檢測(cè)數(shù)據(jù);
(3)通過(guò)動(dòng)態(tài)測(cè)試工具對(duì)所測(cè)試的航天軟件執(zhí)行動(dòng)態(tài)分析,并進(jìn)行相應(yīng)的調(diào)試;
(4)驗(yàn)證測(cè)試環(huán)境的自動(dòng)化,即利用仿真測(cè)試環(huán)境來(lái)產(chǎn)生諸如中斷等事件,保證被測(cè)的航天軟件可以按照“閉環(huán)”的方式運(yùn)行;
(5)對(duì)輸出的結(jié)果進(jìn)行詳細(xì)分析,并生成相應(yīng)的結(jié)果報(bào)告。
4 結(jié)語(yǔ)
測(cè)試是保證和提高航天軟件的質(zhì)量及其重要的途徑,本文研究了全數(shù)字仿真測(cè)試環(huán)境在航天軟件測(cè)試中的應(yīng)用,詳細(xì)闡述了全數(shù)字仿真測(cè)試環(huán)境及其模型,構(gòu)建了全數(shù)字仿真測(cè)試環(huán)境的體系結(jié)構(gòu),并總結(jié)了軟件測(cè)試的基本流程,最后通過(guò)實(shí)際的應(yīng)用并結(jié)合硬件仿真測(cè)試環(huán)境分析并總結(jié)了全數(shù)字仿真測(cè)試環(huán)境的有效性。對(duì)航天軟件的測(cè)試具有一定的參考價(jià)值。
參考文獻(xiàn)
[1]賈志遠(yuǎn).嵌入式軟件安全檢測(cè)的關(guān)鍵技術(shù)研究[D].長(zhǎng)春:長(zhǎng)春工業(yè)大學(xué),2020.
[2]滕俊元,徐忠賓,高猛.基于全數(shù)字仿真的虛擬軟件測(cè)試環(huán)境[J].機(jī)電一體化,2017(9):23-27.
[3] Gao F, Deng F, Yan Y, et al. Full Digital Simulation Testing of Networked Embedded Software[C]//2018 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C).IEEE,2018:45-50.
[4]李毅,楊豐輝,蔡棟材,等.飛行管理系統(tǒng)仿真測(cè)試環(huán)境研究與應(yīng)用[J].航空計(jì)算技術(shù),航空計(jì)算技術(shù),2020,50(3):66-70.
[5] 劉春龍,王洋,申彪.多處理器嵌入式軟件的全數(shù)字仿真測(cè)試平臺(tái)開(kāi)發(fā)技術(shù)[J].航天控制,2018,36(4):73-77.
[6]曲明成,崔乃剛,吳翔虎,等.嵌入式軟件虛擬化測(cè)試技術(shù)標(biāo)準(zhǔn)框架研究[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2017,49(5):49-55,121.