劉存躍,袁浩明,鄒雪璐
(中國航空工業集團公司 成都飛機設計研究所,成都 610091)
為了保證無人機平臺的正常工作,其機載系統通常都有機電、環控、動力、液壓等基礎系統[1]。隨著無人機處理器能力的提升,以及無人機綜合化的設計思想[2],逐步取消了各基礎系統的處理計算機,從而設計了平臺管理系統作為無人機的公共管理資源,用于實現無人機的機電、環控、動力、液壓等功能的綜合管理[3-4]。
在現代戰爭中,無人機所面臨的環境和任務執行復雜度逐漸提高[5],對于各分系統的功能要求變多,從而導致平臺管理系統對無人機的綜合管理邏輯愈發復雜[6],地面開發測試過程須對每條邏輯都進行測試驗證[7]。此外,在平臺管理系統研制過程中,外部需求、系統軟件需經過多輪次的升級迭代,每次升級均需要對系統進行全面完整的測試。對于平臺管理系統測試,傳統測試方法一般采用手動方式,依次改變地面測試設備的激勵信號,輸出到平臺管理系統完成邏輯測試。該方法每次僅能完成一條邏輯功能測試,耗時耗力,測試效率低下。因此,需要研究開發一種自動測試方法,以實現系統復雜邏輯的高效測試。
無人機自動測試的概念產生由來已久,在國內外的研究和工程中都進行了大量應用。Drozd等研制了無人機引擎的自動測試裝置,通過標準高速板卡采集動力學參數進行自主判讀,該裝置僅是狀態的單向采集[8]。Y.Liu等研制的基于虛擬儀器的無人機自動測試系統[9]、王怡蘋等研制的仿整機自動測試系統[10],都只針對機載系統的電接口特性測試,不做邏輯和功能測試。羅秋鳳等研制的飛控系統自動檢測系統[11]、B.A.Li等研制的無人機整機自動測試系統[12],測試過程為單向一次激勵,不適用于邏輯測試需要多次激勵交互的場景。本文針對平臺管理系統的功能邏輯測試,開發了一套地面測試設備及自動測試方法,適用于系統研制過程中的地面測試。本文的創新點在于將平臺管理的控制對象進行模型化設計,測試設備軟件與平臺管理系統實現多次的信號自主激勵、動態交互,用以完成復雜邏輯功能的自動測試。該測試設備及自動測試方法成功應用于某無人機型號研制,顯著提高了測試效率,節省了測試時間。
為了實現平臺管理系統的邏輯功能測試,測試設備需要模擬所有被控對象。我們采用模型化的設計思路,用測試設備構造了各被控系統,如機電、環控、動力等系統的模型。被控系統模型由靜態參數模型和動態行為模型組成[13]。
靜態參數模型主要是各被控系統的輸入、輸出信號。由測試設備模擬的輸入、輸出信號靜態特征與真實被測系統保持一致[14],典型的系統參數靜態特征如表1所示。

表1 被控系統靜態參數模型
動態行為模型指的是測試軟件中模擬的各系統根據輸入信號,如采集到的信號、接收到的指令,輸出信號隨時間自動地變化,其變化趨勢也與真實被測系統保持一致。由于平臺管理系統被控對象多,邏輯復雜,如按照每個系統、每條邏輯均設計不同的行為模型,其測試用例的編輯將會是一項巨大的工程。且由于被控對象的邏輯存在多輪次迭代的可能,所編輯的測試用例也需要隨被控對象的邏輯變化而更改。為了簡化測試用例的編輯難度,適應測試用例的升級,我們設計了一套通用的測試用例編輯工具。根據平臺管理系統控制對象的特點,其動態行為模型可以總結為以下3類:
1)條件觸發:滿足相應的邏輯觸發條件(大于、小于、等于、與、或、非等),測試系統即輸出相應的信號;
2)延時觸發:設置測試用例的基準時間,當滿足時間條件后,測試系統輸出的信號隨時間規律變化(含線性、非線性);
3)條件和延時觸發結合模式:滿足相應的邏輯觸發條件后,測試系統輸出的信號隨時間規律變化。
以上3類模式已覆蓋了90%以上的測試用例編寫要求。為了適用更加復雜的動態行為模型,如無人機的控制律算法,在動態行為模型編輯界面預留了編程接口。使用測試用例編輯工具生成的部分典型系統動態行為模型如表2所示。

表2 被控系統動態行為模型
測試設備包含硬件和軟件設計,其主要目的是能夠方便地實現被測系統的模型建立。對于靜態參數模型,其硬件基礎是各接口板卡,并在驅動軟件中對各接口進行物理定義;對于動態行為模型,主要是通過可以自動運行的測試用例實現。
測試設備硬件是建立系統模型的基礎,為了方便測試設備的擴展,便于自動測試軟件的開發,測試設備需進行通用化設計,具有“高內聚,低耦合”的特點[15],具體內涵包括:
1)設備硬件驅動與自動測試軟件解耦合;
2)接口板卡與被測單元(UUT,unit under test)物理交聯解耦合;
3)測試軟件、接口板卡、接口交聯均由獨立模塊實現。
測試設備主要由集成操控設備、集成綜合測試設備、斷線測試設備組成,其組成結構如圖1所示。其中斷線測試設備通過專用電纜與被測單元、集成綜合測試設備交聯,集成操控設備與集成綜合測試設備通過以太網交聯。各設備具體功能如下:

圖1 測試設備硬件組成
1)集成操控設備:試驗數據分析及圖形顯示平臺,給試驗操作人員提供操控界面及窗口,集成了自動測試軟件;
2)集成綜合測試設備:用于模擬被控系統的輸入、輸出信號。主要由工控機(實現接口控制)、接口板卡及驅動(含RS422接口、離散量輸入/輸出、模擬量輸入/輸出等)、顯示單元等幾大部分組成;
3)斷線測試設備:實現測試設備與被測單元間的物理交聯以及斷線切換測試。
自動測試軟件運行在集成操控設備上,僅需實現邏輯層面的軟件開發,不涉及底層驅動,具有通用化、方便移植的優點,也便于測試軟件的維護升級。
自動測試軟件將測試人員的邏輯思維轉換成測試用例去描述。由于平臺管理系統外部需求、系統軟件需經過多輪次的升級迭代,其對應的測試用例也需持續更新完善。因此,自動測試軟件作為測試用例的編輯工具,應具有通用性、靈活性的特點。同時,自動測試軟件還能夠實現測試用例的自動運行,支持測試任務的串行、并行執行,執行流程的條件判斷、循環、變量定義與賦值等方式。
2.2.1 單節點自動測試
根據自動測試思路,設計了一個單節點的自動測試流程,如圖2所示。該測試流程包含一條延時觸發邏輯和條件觸發邏輯,測試設備與平臺管理系統實現自動測試的流程如下:

圖2 單節點自動測試流程
1)自動測試用例開始運行后,延時ΔT時間,測試設備自動輸出信號a給平臺管理系統;
2)平臺管理系統接收到信號a后,自主進行邏輯運算,根據運算結果輸出信號b給測試設備;
3)測試設備接收到信號b后,進行條件判斷,如滿足測試用例中預設條件,輸出信號c給平臺管理系統;
4)平臺管理系統接收到信號c后,自主進行邏輯運算,運算后輸出信號d,完成該邏輯自動測試。
以上所有的測試均為自動運行,無需人工干預測試過程,僅需測試結束后進行結果判讀。
2.2.2 多節點自動測試
對于平臺管理系統復雜邏輯的測試,需要編輯復雜的測試用例。為簡化測試用例編寫,我們實現了多節點測試用例的組合。其基本思路是將已生成的單節點測試用例通過編輯工具進行用例組合,構成復雜邏輯的多節點測試用例,其組合的前提條件是所有的測試用例有統一的時間基準。同時,為了實現邏輯并發,開展性能測試,可以將不同的單節點測試用例設置在同一時間點激發。
以兩個單節點測試用例組合為例,說明其測試過程。其測試流程如圖3所示。

圖3 多節點自動測試流程
1)基于統一的時間基準,分別設計兩個單節點自動測試用例,兩個用例按照順序執行的方式合并,合并的自動測試用例循環執行;
2)自動測試用例開始運行后,先運行自動測試節點1,判斷是否滿足延時ΔT1或者觸發條件1。如滿足條件,則輸出信號a到平臺管理系統完成邏輯1測試,并進入自動測試節點2;如不滿足條件,則直接進入自動測試節點2;
3)運行自動測試節點2,判斷是否滿足延時ΔT2或者觸發條件2。如滿足條件,則輸出信號b到平臺管理系統完成邏輯2測試,并跳回自動測試節點1循環測試;如不滿足條件,則直接跳回自動測試節點1循環測試;
4)采用循環執行自動測試用例,可以保證每個自動測試節點均能執行,比如某個節點在當前循環中不滿足延時條件不執行,在下一個循環中滿足延時條件即可執行。
通過對簡單測試用例的組合編排,實現了復雜測試用例的編寫與自動測試。在一個測試過程中,可以對平臺管理系統的邏輯進行覆蓋性測試,達到性能測試的目的。
無人機電加熱邏輯測試是典型的多通道重復測試案例。如采用傳統的手動測試方法,對于單個電加熱通道,需手動設置多個溫度值以檢查平臺管理系統的加熱響應邏輯;此外,通常無人機的電加熱通道有近一百路,每個加熱通道均需測試,測試工作重復且繁瑣。本文所采用的自動測試方法對于此種測試場景,能夠極大地提高測試效率,減小測試人員的測試負擔。
針對單個電加熱通道,自動測試流程如圖4所示。其中,平臺管理系統電加熱邏輯為:

圖4 單通道電加熱邏輯自動測試流程
1)當T<26 ℃,執行加熱回路打開指令;
2)當T>28 ℃,執行加熱回路關閉指令;
3)當26 ℃≤T≤28 ℃,加熱回路指令保持原狀態。
通過自動測試用例模擬的環控加熱模型為:
1)設置輸出初始溫度為22 ℃;
2)接收到加熱指令輸出后,設置溫度在當前值隨時間線性增加;
3)未接收到加熱指令輸出后,設置溫度在當前值隨時間線性降低。
平臺管理系統與測試用例的自動交互過程為:
1)測試設備與平臺管理系統交互信號為:溫度采集接口、指令輸出接口;
2)測試設備、平臺管理系統各自根據輸入信號,經過邏輯運算后自動輸出信號,實現自主交互。
測試數據自動保存,并進行數據分析判讀,結果如圖5所示。結果表明,加熱指令邏輯執行正確,溫度被穩定控制在26~28 ℃范圍,達到了測試目的。

圖5 電加熱邏輯自動測試結果
針對多通道電加熱邏輯測試,需要編寫對應的自動測試用例。由于每個通道的測試方法完全一致,僅需修改單通道測試用例中交互信號的端口配置,即圖4中的溫度采集接口和指令輸出接口。按照圖3示意,將多個電加熱測試用例進行組合,啟動延時△T設置為相同時間,即實現了多通道電加熱邏輯的并行自動測試。可見,在針對這種重復測試的案例中,測試用例編輯工具靈活易用,自動測試過程簡單直觀,將測試人員從重復繁瑣的用例編輯和測試過程中解放出來,測試時間由傳統手動測試的2天縮減到約2小時。
在平臺管理系統地面測試中,需要考核整個飛行包線中的系統功能及性能,涉及到所有的被控系統。由于激勵信號眾多、測試持續時間長,傳統的手動測試方法對于這種測試案例無能為力。通常借助全系統聯試,將所有的真實系統接入后開展全任務流程邏輯測試,其試驗規模龐大,試驗組織復雜。
我們所研制的測試用例編輯工具和自動測試方法很好地適用于此類測試案例。所設計的自動測試用例需要涵蓋全飛行包線和所有的被控系統。由于對系統單個邏輯的測試,已建立了相應測試用例,所以全任務流程的測試用例只需要將現有測試用例,按時間進行排序組合,使各項邏輯的測試執行時間與飛行包線時序相匹配。
針對平臺管理系統的全任務流程邏輯測試,以實現對機電、環控、動力系統的管理邏輯為例,自動測試如圖6所示。我們在全任務流程測試中,設計了13個自動測試節點,所有的測試節點均隨飛行包線時序自主執行。測試人員僅需對測試過程進行監控,并對試驗記錄數據進行事后分析,無需干預測試過程。

圖6 全任務流程邏輯測試示意
為了解決平臺管理系統功能和邏輯測試復雜繁瑣的困難,我們研究開發了一套靈活通用的自動測試工具。通過該測試工具模擬被控系統,建立了各系統模型。在測試過程中,測試設備與平臺管理系統自主交互,測試用例自動運行,達到了平臺管理系統功能和邏輯自動測試的目的。對比傳統的手動測試方法,節省了約80%的測試時間,提高了測試效率,有效支撐了某無人機型號的研制測試。
目前,該測試方法還需要由人工判讀測試數據并給出測試結論,后續工作需要實現測試數據的自動判讀、測試結論的自動生成,進一步解放人力,實現整個環節的全自動測試。