劉存躍,袁浩明,鄒雪璐
(中國航空工業(yè)集團公司 成都飛機設計研究所,成都 610091)
為了保證無人機平臺的正常工作,其機載系統(tǒng)通常都有機電、環(huán)控、動力、液壓等基礎系統(tǒng)[1]。隨著無人機處理器能力的提升,以及無人機綜合化的設計思想[2],逐步取消了各基礎系統(tǒng)的處理計算機,從而設計了平臺管理系統(tǒng)作為無人機的公共管理資源,用于實現(xiàn)無人機的機電、環(huán)控、動力、液壓等功能的綜合管理[3-4]。
在現(xiàn)代戰(zhàn)爭中,無人機所面臨的環(huán)境和任務執(zhí)行復雜度逐漸提高[5],對于各分系統(tǒng)的功能要求變多,從而導致平臺管理系統(tǒng)對無人機的綜合管理邏輯愈發(fā)復雜[6],地面開發(fā)測試過程須對每條邏輯都進行測試驗證[7]。此外,在平臺管理系統(tǒng)研制過程中,外部需求、系統(tǒng)軟件需經(jīng)過多輪次的升級迭代,每次升級均需要對系統(tǒng)進行全面完整的測試。對于平臺管理系統(tǒng)測試,傳統(tǒng)測試方法一般采用手動方式,依次改變地面測試設備的激勵信號,輸出到平臺管理系統(tǒng)完成邏輯測試。該方法每次僅能完成一條邏輯功能測試,耗時耗力,測試效率低下。因此,需要研究開發(fā)一種自動測試方法,以實現(xiàn)系統(tǒng)復雜邏輯的高效測試。
無人機自動測試的概念產(chǎn)生由來已久,在國內(nèi)外的研究和工程中都進行了大量應用。Drozd等研制了無人機引擎的自動測試裝置,通過標準高速板卡采集動力學參數(shù)進行自主判讀,該裝置僅是狀態(tài)的單向采集[8]。Y.Liu等研制的基于虛擬儀器的無人機自動測試系統(tǒng)[9]、王怡蘋等研制的仿整機自動測試系統(tǒng)[10],都只針對機載系統(tǒng)的電接口特性測試,不做邏輯和功能測試。羅秋鳳等研制的飛控系統(tǒng)自動檢測系統(tǒng)[11]、B.A.Li等研制的無人機整機自動測試系統(tǒng)[12],測試過程為單向一次激勵,不適用于邏輯測試需要多次激勵交互的場景。本文針對平臺管理系統(tǒng)的功能邏輯測試,開發(fā)了一套地面測試設備及自動測試方法,適用于系統(tǒng)研制過程中的地面測試。本文的創(chuàng)新點在于將平臺管理的控制對象進行模型化設計,測試設備軟件與平臺管理系統(tǒng)實現(xiàn)多次的信號自主激勵、動態(tài)交互,用以完成復雜邏輯功能的自動測試。該測試設備及自動測試方法成功應用于某無人機型號研制,顯著提高了測試效率,節(jié)省了測試時間。
為了實現(xiàn)平臺管理系統(tǒng)的邏輯功能測試,測試設備需要模擬所有被控對象。我們采用模型化的設計思路,用測試設備構(gòu)造了各被控系統(tǒng),如機電、環(huán)控、動力等系統(tǒng)的模型。被控系統(tǒng)模型由靜態(tài)參數(shù)模型和動態(tài)行為模型組成[13]。
靜態(tài)參數(shù)模型主要是各被控系統(tǒng)的輸入、輸出信號。由測試設備模擬的輸入、輸出信號靜態(tài)特征與真實被測系統(tǒng)保持一致[14],典型的系統(tǒng)參數(shù)靜態(tài)特征如表1所示。
表1 被控系統(tǒng)靜態(tài)參數(shù)模型
動態(tài)行為模型指的是測試軟件中模擬的各系統(tǒng)根據(jù)輸入信號,如采集到的信號、接收到的指令,輸出信號隨時間自動地變化,其變化趨勢也與真實被測系統(tǒng)保持一致。由于平臺管理系統(tǒng)被控對象多,邏輯復雜,如按照每個系統(tǒng)、每條邏輯均設計不同的行為模型,其測試用例的編輯將會是一項巨大的工程。且由于被控對象的邏輯存在多輪次迭代的可能,所編輯的測試用例也需要隨被控對象的邏輯變化而更改。為了簡化測試用例的編輯難度,適應測試用例的升級,我們設計了一套通用的測試用例編輯工具。根據(jù)平臺管理系統(tǒng)控制對象的特點,其動態(tài)行為模型可以總結(jié)為以下3類:
1)條件觸發(fā):滿足相應的邏輯觸發(fā)條件(大于、小于、等于、與、或、非等),測試系統(tǒng)即輸出相應的信號;
2)延時觸發(fā):設置測試用例的基準時間,當滿足時間條件后,測試系統(tǒng)輸出的信號隨時間規(guī)律變化(含線性、非線性);
3)條件和延時觸發(fā)結(jié)合模式:滿足相應的邏輯觸發(fā)條件后,測試系統(tǒng)輸出的信號隨時間規(guī)律變化。
以上3類模式已覆蓋了90%以上的測試用例編寫要求。為了適用更加復雜的動態(tài)行為模型,如無人機的控制律算法,在動態(tài)行為模型編輯界面預留了編程接口。使用測試用例編輯工具生成的部分典型系統(tǒng)動態(tài)行為模型如表2所示。
表2 被控系統(tǒng)動態(tài)行為模型
測試設備包含硬件和軟件設計,其主要目的是能夠方便地實現(xiàn)被測系統(tǒng)的模型建立。對于靜態(tài)參數(shù)模型,其硬件基礎是各接口板卡,并在驅(qū)動軟件中對各接口進行物理定義;對于動態(tài)行為模型,主要是通過可以自動運行的測試用例實現(xiàn)。
測試設備硬件是建立系統(tǒng)模型的基礎,為了方便測試設備的擴展,便于自動測試軟件的開發(fā),測試設備需進行通用化設計,具有“高內(nèi)聚,低耦合”的特點[15],具體內(nèi)涵包括:
1)設備硬件驅(qū)動與自動測試軟件解耦合;
2)接口板卡與被測單元(UUT,unit under test)物理交聯(lián)解耦合;
3)測試軟件、接口板卡、接口交聯(lián)均由獨立模塊實現(xiàn)。
測試設備主要由集成操控設備、集成綜合測試設備、斷線測試設備組成,其組成結(jié)構(gòu)如圖1所示。其中斷線測試設備通過專用電纜與被測單元、集成綜合測試設備交聯(lián),集成操控設備與集成綜合測試設備通過以太網(wǎng)交聯(lián)。各設備具體功能如下:
圖1 測試設備硬件組成
1)集成操控設備:試驗數(shù)據(jù)分析及圖形顯示平臺,給試驗操作人員提供操控界面及窗口,集成了自動測試軟件;
2)集成綜合測試設備:用于模擬被控系統(tǒng)的輸入、輸出信號。主要由工控機(實現(xiàn)接口控制)、接口板卡及驅(qū)動(含RS422接口、離散量輸入/輸出、模擬量輸入/輸出等)、顯示單元等幾大部分組成;
3)斷線測試設備:實現(xiàn)測試設備與被測單元間的物理交聯(lián)以及斷線切換測試。
自動測試軟件運行在集成操控設備上,僅需實現(xiàn)邏輯層面的軟件開發(fā),不涉及底層驅(qū)動,具有通用化、方便移植的優(yōu)點,也便于測試軟件的維護升級。
自動測試軟件將測試人員的邏輯思維轉(zhuǎn)換成測試用例去描述。由于平臺管理系統(tǒng)外部需求、系統(tǒng)軟件需經(jīng)過多輪次的升級迭代,其對應的測試用例也需持續(xù)更新完善。因此,自動測試軟件作為測試用例的編輯工具,應具有通用性、靈活性的特點。同時,自動測試軟件還能夠?qū)崿F(xiàn)測試用例的自動運行,支持測試任務的串行、并行執(zhí)行,執(zhí)行流程的條件判斷、循環(huán)、變量定義與賦值等方式。
2.2.1 單節(jié)點自動測試
根據(jù)自動測試思路,設計了一個單節(jié)點的自動測試流程,如圖2所示。該測試流程包含一條延時觸發(fā)邏輯和條件觸發(fā)邏輯,測試設備與平臺管理系統(tǒng)實現(xiàn)自動測試的流程如下:
圖2 單節(jié)點自動測試流程
1)自動測試用例開始運行后,延時ΔT時間,測試設備自動輸出信號a給平臺管理系統(tǒng);
2)平臺管理系統(tǒng)接收到信號a后,自主進行邏輯運算,根據(jù)運算結(jié)果輸出信號b給測試設備;
3)測試設備接收到信號b后,進行條件判斷,如滿足測試用例中預設條件,輸出信號c給平臺管理系統(tǒng);
4)平臺管理系統(tǒng)接收到信號c后,自主進行邏輯運算,運算后輸出信號d,完成該邏輯自動測試。
以上所有的測試均為自動運行,無需人工干預測試過程,僅需測試結(jié)束后進行結(jié)果判讀。
2.2.2 多節(jié)點自動測試
對于平臺管理系統(tǒng)復雜邏輯的測試,需要編輯復雜的測試用例。為簡化測試用例編寫,我們實現(xiàn)了多節(jié)點測試用例的組合。其基本思路是將已生成的單節(jié)點測試用例通過編輯工具進行用例組合,構(gòu)成復雜邏輯的多節(jié)點測試用例,其組合的前提條件是所有的測試用例有統(tǒng)一的時間基準。同時,為了實現(xiàn)邏輯并發(fā),開展性能測試,可以將不同的單節(jié)點測試用例設置在同一時間點激發(fā)。
以兩個單節(jié)點測試用例組合為例,說明其測試過程。其測試流程如圖3所示。
圖3 多節(jié)點自動測試流程
1)基于統(tǒng)一的時間基準,分別設計兩個單節(jié)點自動測試用例,兩個用例按照順序執(zhí)行的方式合并,合并的自動測試用例循環(huán)執(zhí)行;
2)自動測試用例開始運行后,先運行自動測試節(jié)點1,判斷是否滿足延時ΔT1或者觸發(fā)條件1。如滿足條件,則輸出信號a到平臺管理系統(tǒng)完成邏輯1測試,并進入自動測試節(jié)點2;如不滿足條件,則直接進入自動測試節(jié)點2;
3)運行自動測試節(jié)點2,判斷是否滿足延時ΔT2或者觸發(fā)條件2。如滿足條件,則輸出信號b到平臺管理系統(tǒng)完成邏輯2測試,并跳回自動測試節(jié)點1循環(huán)測試;如不滿足條件,則直接跳回自動測試節(jié)點1循環(huán)測試;
4)采用循環(huán)執(zhí)行自動測試用例,可以保證每個自動測試節(jié)點均能執(zhí)行,比如某個節(jié)點在當前循環(huán)中不滿足延時條件不執(zhí)行,在下一個循環(huán)中滿足延時條件即可執(zhí)行。
通過對簡單測試用例的組合編排,實現(xiàn)了復雜測試用例的編寫與自動測試。在一個測試過程中,可以對平臺管理系統(tǒng)的邏輯進行覆蓋性測試,達到性能測試的目的。
無人機電加熱邏輯測試是典型的多通道重復測試案例。如采用傳統(tǒng)的手動測試方法,對于單個電加熱通道,需手動設置多個溫度值以檢查平臺管理系統(tǒng)的加熱響應邏輯;此外,通常無人機的電加熱通道有近一百路,每個加熱通道均需測試,測試工作重復且繁瑣。本文所采用的自動測試方法對于此種測試場景,能夠極大地提高測試效率,減小測試人員的測試負擔。
針對單個電加熱通道,自動測試流程如圖4所示。其中,平臺管理系統(tǒng)電加熱邏輯為:
圖4 單通道電加熱邏輯自動測試流程
1)當T<26 ℃,執(zhí)行加熱回路打開指令;
2)當T>28 ℃,執(zhí)行加熱回路關(guān)閉指令;
3)當26 ℃≤T≤28 ℃,加熱回路指令保持原狀態(tài)。
通過自動測試用例模擬的環(huán)控加熱模型為:
1)設置輸出初始溫度為22 ℃;
2)接收到加熱指令輸出后,設置溫度在當前值隨時間線性增加;
3)未接收到加熱指令輸出后,設置溫度在當前值隨時間線性降低。
平臺管理系統(tǒng)與測試用例的自動交互過程為:
1)測試設備與平臺管理系統(tǒng)交互信號為:溫度采集接口、指令輸出接口;
2)測試設備、平臺管理系統(tǒng)各自根據(jù)輸入信號,經(jīng)過邏輯運算后自動輸出信號,實現(xiàn)自主交互。
測試數(shù)據(jù)自動保存,并進行數(shù)據(jù)分析判讀,結(jié)果如圖5所示。結(jié)果表明,加熱指令邏輯執(zhí)行正確,溫度被穩(wěn)定控制在26~28 ℃范圍,達到了測試目的。
圖5 電加熱邏輯自動測試結(jié)果
針對多通道電加熱邏輯測試,需要編寫對應的自動測試用例。由于每個通道的測試方法完全一致,僅需修改單通道測試用例中交互信號的端口配置,即圖4中的溫度采集接口和指令輸出接口。按照圖3示意,將多個電加熱測試用例進行組合,啟動延時△T設置為相同時間,即實現(xiàn)了多通道電加熱邏輯的并行自動測試??梢姡卺槍@種重復測試的案例中,測試用例編輯工具靈活易用,自動測試過程簡單直觀,將測試人員從重復繁瑣的用例編輯和測試過程中解放出來,測試時間由傳統(tǒng)手動測試的2天縮減到約2小時。
在平臺管理系統(tǒng)地面測試中,需要考核整個飛行包線中的系統(tǒng)功能及性能,涉及到所有的被控系統(tǒng)。由于激勵信號眾多、測試持續(xù)時間長,傳統(tǒng)的手動測試方法對于這種測試案例無能為力。通常借助全系統(tǒng)聯(lián)試,將所有的真實系統(tǒng)接入后開展全任務流程邏輯測試,其試驗規(guī)模龐大,試驗組織復雜。
我們所研制的測試用例編輯工具和自動測試方法很好地適用于此類測試案例。所設計的自動測試用例需要涵蓋全飛行包線和所有的被控系統(tǒng)。由于對系統(tǒng)單個邏輯的測試,已建立了相應測試用例,所以全任務流程的測試用例只需要將現(xiàn)有測試用例,按時間進行排序組合,使各項邏輯的測試執(zhí)行時間與飛行包線時序相匹配。
針對平臺管理系統(tǒng)的全任務流程邏輯測試,以實現(xiàn)對機電、環(huán)控、動力系統(tǒng)的管理邏輯為例,自動測試如圖6所示。我們在全任務流程測試中,設計了13個自動測試節(jié)點,所有的測試節(jié)點均隨飛行包線時序自主執(zhí)行。測試人員僅需對測試過程進行監(jiān)控,并對試驗記錄數(shù)據(jù)進行事后分析,無需干預測試過程。
圖6 全任務流程邏輯測試示意
為了解決平臺管理系統(tǒng)功能和邏輯測試復雜繁瑣的困難,我們研究開發(fā)了一套靈活通用的自動測試工具。通過該測試工具模擬被控系統(tǒng),建立了各系統(tǒng)模型。在測試過程中,測試設備與平臺管理系統(tǒng)自主交互,測試用例自動運行,達到了平臺管理系統(tǒng)功能和邏輯自動測試的目的。對比傳統(tǒng)的手動測試方法,節(jié)省了約80%的測試時間,提高了測試效率,有效支撐了某無人機型號的研制測試。
目前,該測試方法還需要由人工判讀測試數(shù)據(jù)并給出測試結(jié)論,后續(xù)工作需要實現(xiàn)測試數(shù)據(jù)的自動判讀、測試結(jié)論的自動生成,進一步解放人力,實現(xiàn)整個環(huán)節(jié)的全自動測試。