于晗 李柯達



關鍵詞:軟件測試;專用測試設備;通用測試設備;通信協議;通用性
0 引言
隨著我國軍事事業的不斷發展,不同兵種作戰產品的種類越來越多,復雜程度也越來越大。在產品的系列化發展過程中,通常需要很多測試設備對產品的各個部件進行測試,以確定其各項指標是否滿足設計技術要求[1]。
傳統的專用測試設備通常由項目組在立項之初起就進行同步設計,這類測試設備大部分是針對一種或兩種部件進行設計,而無法應用于其他部件,具有很強的專用性[2]。一臺專用測試設備往往只適用于一個項目,在項目結束之后,測試設備也就失去了作用,這造成了硬件的極大浪費。專用軟件測試設備面臨的另一個問題是研發周期很長,由于通信協議制定以及研發過程中協議在不斷地變更,導致專用測試設備也需要進行相應的調整。這種調整往往是重新進行編碼,因而周期很長、成本很高。
此外,由于專用測試設備的種種限制,測試環境的搭建會非常耗時并且一些特殊的測試用例也無法得到執行。為了解決上述這些問題,同時滿足產品開發的需要,建立一種通用化的軟件測試設備,是非常必要的。
目前,通用化的測試理念已經在各個不同領域得到了廣泛應用[3-8]。2011年,何銀菊等人設計開發了基于LabView的控制器自動測試平臺,該平臺可以在短時間內完成控制器自動測試系統的硬件連接和軟件定制[9]。2019年張旭洲和李林研究了航空電子產品的通用測試設備架構,從而縮短了開發周期、節約了研制成本,提升了設備利用率[10]。
本文提出了一種通用化便攜式軟件測試設備,它配置有RS422串口、ARINC429接口、AD/DA接口、IO 接口等多個硬件接口,滿足了絕大多數軍用軟件接口測試的需求,充分地利用了硬件資源,節約了研制成本。同時,測試設備提供了便捷的通信邏輯和時序邏輯編譯環境,方便用戶根據情況進行修改,具有一定的通用性。軟件測試設備主要包括以下內容:總體設計及工作原理、硬件設計以及軟件設計。
1 總體設計及工作原理
通用化便攜式軟件測試設備是一個涉及硬件系統、軟件系統的綜合平臺,平臺主要由主控計算機、信號處理系統以及接口適配器三部分組成。
主控計算機內部集成控制處理系統,并運行控制系統軟件,包括有測試用例編程軟件、測試用例數據管理軟件、測試實例數據接收軟件、測試實例架構軟件、測試實例數據發送軟件以及接口驅動軟件等,負責模式設置、數據發送、接收、處理及導出等各種操作,并且與信號處理系統進行通信,對整個測試過程進行控制。
信號處理系統包含了一個多功能接口系統板和一個信號調理板,主要完成對被測設備連接的信號調理、處理,信息采集,激勵信號產生等任務,接口適配器負責與被測設備連接。
區別于分體式設計,本文采用一體式結構設計,將主控計算機、信號處理系統以及接口適配器集成到同一個工控機箱中,重量較輕、便于攜帶。軟件測試設備總體設計框圖見圖1。
通用化便攜式軟件測試設備的工作原理包括以下幾部分:
1) 搭建測試環境。建立測試設備與被測件之間的仿真交聯環境,依據通信協議配置硬件接口與軟件通信協議和時序邏輯,為后續的軟件測試提供仿真測試環境。
2) 確定測試項目。根據軟件測試需求,明確軟件測試項目,然后通過編輯測試用例,加載到“實時測試系統”中進行實時測試,驅動仿真模型的運行,從而實現與被測設備的數據交互。
3) 進行測試。對測試結果數據進行查看。通過對獲得的數據進行分析,判定被測設備軟件是否符合軟件測試需求。
2 硬件設計
軍用武器系統裝備復雜,一個系統通常包含多個不同的部件,而一個部件又往往與多個不同的部件相關聯。因此,測試設備要能夠與多個不同外部設備相關聯。這就要求軟件測試設備的硬件具有一定的通用性。
本文通過對以往慣性導航裝置、伺服控制裝置以及發控裝置軟件測試中使用的硬件接口進行整理, 歸納出如下接口(見圖2) 。如果一個軟件測試設備可以集結上述硬件接口,由用戶根據需求進行相應的配置,那么這個測試設備就具有一定的通用性。
根據通用性的要求,軟件測試設備配置了RS422 串口、ARINC429 串口、AD接口以及DA接口等,具體情況見表1。用戶可以根據軟件測試需要選擇相應的硬件接口并且對接口通訊進行設置。此外,測試設備還預留了卡槽,方便用戶根據實際情況對設備硬件資源進行擴展,以適應不同的測試需求。
以RS422端口為例,考慮到不同被測設備端口數量的不同,測試系統包含了8 路普通接口(422-1~422-7) 可以發送以及3路專用串口(422-9~422-11) 只用于發送,用戶可以根據需要決定通道使能。同時,用戶也可以對串口的波特率、校驗方式(無校驗、偶校驗和奇校驗)以及串口發送周期進行設定。
3 軟件設計
作為整個便攜式軟件測試系統的重要組成部分,軟件設計的好壞直接關系到整個測試系統的測試性能以及軟件測試流程的順利進行。考慮到軟件設計的可靠性與可維護性原則,本文選用LabView作為軟件開發平臺,它具有開發便利、可以快捷進行協議配置和通信邏輯配置等優點。軟件設計分為通信協議設計和時序邏輯設計兩大塊。
3.1 通信協議設計
軟件測試系統的通用性主要體現在通信協議可配置。 傳統專用測試設備的通信協議通常是根據項目進行定制,與測試設備直接關聯,無法更改。如果在產品的研發過程中通信協議發生變化,則需要重新編譯并與測試設備進行鏈接。這就會增加軟件的開發時間,成本很高。
與傳統專用測試設備不同,本文提出的軟件測試系統提供了協議配置項的管理功能。協議配置項可供軟件配置加載也可供結果數據的解析使用。協議配置項是某個具體的協議,可由用戶手動輸入。用戶可以對測試設備參數配置表中的協議配置項進行編輯、刪除、修改與新建。每個協議配置項都有一個唯一的名稱。
協議配置項由若干字段組成,每個字段都可以設置長度(單位:字節)、最大值、最小值、比例尺等。同時,用戶可以指定協議的長度、采取的是大端法還是小端法。
3.2 時序邏輯設計
時序邏輯是整個軟件的核心功能,時序邏輯配置完成了信息交互的個性化定制,使得測試設備能夠滿足不同測試任務的測試需求,大大增強了測試設備的通用性。
在軟件測試過程中,外部設備與被測件之間通過報文進行信息交互,而外部設備不同報文的發送是通過時序和事件節點觸發的。
根據觸發條件的不同,時序邏輯配置可以分為以下三類(見圖3) :
1) 時序節點觸發:外部設備在設定好的一段時間后發送報文;
2) 事件節點觸發:外部設備在收到被測件的報文并按相應協議解析后,按照一定的規則選擇報文并發送;
3) 時序和事件雙重節點觸發:在同時滿足時序和事件的條件下觸發。
軟件配置決定了發送報文的時序和邏輯結構,但并不指定具體的報文,具體的報文在測試用例中添加。
4 測試流程
通用化便攜式軟件測試設備的測試流程包括了五部分:搭建測試環境、進行協議配置、新建測試項目和測試用例、執行測試用例、查看測試結果。本文以某慣性導航裝置軟件的測試為例,描述軟件測試設備的測試流程:
1) 首先建立測試設備與被測設備之間的仿真交聯環境(見圖4) 。慣性導航裝置(被測件)外部硬件環境包括5路RS422串行接口、6路TTL電平以及兩路電源(一路設置為±15V,一路設置為5V) 。
2) 對測試設備與被測件(慣性導航裝置)之間通信協議進行配置。具體為將5路RS422串口信號、6 路TTL電平(脈沖輸出),按照通信協議內容,進行相應參數設置。
以其中3路RS422上的通信協議配置為例。被測件上電后,以2.5ms為周期,通過3路RS422向測試設備發送命令0xb1;測試設備收到命令0xb1后,通過3 路RS422向被測件回送報文a(周期為2.5ms) 。3路RS422上的報文傳遞如圖5所示。
3) 新建測試項目和測試用例。根據測試需求分析,建立測試項目。測試設備可以新建、編輯、刪除、修改測試項目和測試用例,每個測試項目和測試用例都有一個唯一的標識。在測試用例編輯界面(見圖6) ,可以加載之前設置的硬件配置項和軟件配置項;若所需的硬件配置項、軟件配置項不存在,也可以手動設置,并將設置好的配置項保存到數據庫中,供后續測試用例重復使用。
4) 執行測試用例。所有設置完畢后,給被測設備上電,開始運行測試用例。通過日志可以實時查看報文的交互過程。
5) 查看測試結果。測試用例執行完畢后,對獲得的數據進行分析,判定被測件是否達到了預期的測試目的。
目前,本發明一種通用化便攜式軟件測試設備,已成功地應用到某型號的彈載計算機和慣性導航裝置軟件的測試過程中。與傳統的專用軟件測試設備相比,本發明提出的技術方案中建立了多種不同類別的硬件接口,用戶可以通過選擇不同的硬件接口來模擬與不同被測設備之間的仿真交聯環境,可以充分利用硬件資源,節約研制成本,具有一定的通用性。同時,軟件測試設備與被測設備之間硬件以及通信協議均可以進行配置,方便用戶根據測試依據進行修改。此外,該測試設備具有很好的可擴展性,平臺硬件和通用測試模塊均可以根據實際情況進行擴展,以適應未來的測試需求。
5 結束語
本文介紹了一種應用于導彈武器系統的通用化便攜式軟件測試設備。用戶可以通過搭建被測件與測試設備之間的仿真交聯環境,配置硬件接口與軟件通信協議和時序邏輯,從而實現對被測件的軟件測試。區別于傳統的專用軟件測試設備,該測試設備能夠遷移應用于多個不同的軍用軟件測試項目,具有一定的通用性。另一方面,測試設備搭建環境簡便快捷,能夠滿足當前軍用軟件研制快節奏的要求。