劉杰強,張阿真,劉恒毅,鄒國際
(航天恒星科技有限公司,北京 100086)
隨著航天產(chǎn)業(yè)的快速發(fā)展,航天器產(chǎn)品日趨小型化、集群化,航天器批產(chǎn)化測試的要求越來越高. 為了提高航天器批產(chǎn)測試效率,縮短測試周期,迫切需要構(gòu)建一套并行化的自動測試平臺.
并行測試建立于分布式測試系統(tǒng)上,在測試程序的控制下同時對多個被測對象進行測試,且每個測試節(jié)點都可獨立進行測試. 與傳統(tǒng)順序測試技術(shù)相比,并行測試技術(shù)通過優(yōu)化系統(tǒng)資源可以大幅度提高測試效率及測試質(zhì)量,并明顯提高測試資源利用率. 并行化測試的核心思想是構(gòu)建集群環(huán)境,通過并發(fā)測試任務來提高測試執(zhí)行效率[1-3]. 然而,構(gòu)建集群需要根據(jù)測試需求的峰值配置物理設備,導致較高的成本開銷及相對較低的資源利用率,從而增加了管理與維護的復雜度[4-6]. 為了解決這一問題,本文引入云計算技術(shù),可根據(jù)各種需求向用戶提供動態(tài)彈性可伸縮的資源,以其超大規(guī)模、虛擬化、高可用性、通用性、可擴展性、按需服務等特點,為自動測試系統(tǒng)構(gòu)建虛擬、可靠的測試環(huán)境.
系統(tǒng)采用VMware vSphere云計算軟件實現(xiàn)系統(tǒng)資源的集群管理,構(gòu)建測試設計子平臺、核心數(shù)據(jù)處理子平臺、通用測試設備子平臺、自動化測試執(zhí)行子平臺、測試信息存儲子平臺、信息評估分析子平臺等六大子平臺[7]. 系統(tǒng)采用模塊化設計思想,可以從測試設計、測試執(zhí)行、測試評估等階段為用戶提供全要素、全過程、全方位的并行化、自動化、智能化的測試平臺,形成滿足航天領(lǐng)域測試需求的并行化自動測試系統(tǒng). 系統(tǒng)組成如圖 1 所示.
圖 1 并行自動化測試系統(tǒng)組成Fig.1 Composition of parallel automatic test system
測試設計平臺可全方位、深度融合測試信息與測試過程各個環(huán)節(jié)要素,構(gòu)建一個綜合性智能設計平臺. 該平臺基于SQLite數(shù)據(jù)庫和測試指令管理中心軟件,主要實現(xiàn)測試信息設計、測試執(zhí)行序列設計和測試報告及評估設計等功能[8]. 測試信息設計包括測試協(xié)議配置、測試執(zhí)行配置、測試設備儀器配置、測試監(jiān)視界面配置、測試信息輸入,測試執(zhí)行序列設計的內(nèi)容包括測試自檢序列、測試主序列、參數(shù)監(jiān)視序列、參數(shù)報警序列、設備序列、設備報警序列,測試報告及評估設計包括描點畫線參數(shù)選擇、參數(shù)簡單算法設計、測試評估二次開發(fā)庫設計.
自動化測試執(zhí)行平臺是整個系統(tǒng)原始數(shù)據(jù)的處理中心和自動化測試過程實施中心. 采用并行測試方式,以自動化測試控制中心為核心,具備測試序列自檢、測試序列一鍵執(zhí)行、參數(shù)監(jiān)視、參數(shù)報警、設備監(jiān)視、設備報警、測試報告自動打印等七大功能. 此外,數(shù)據(jù)顯示中心能以列表方式和圖表方式對遙測數(shù)據(jù)進行實時顯示并自動判讀.
核心數(shù)據(jù)處理平臺主要由主測試服務(MTP)模塊、數(shù)據(jù)庫服務(DBS)模塊、監(jiān)視判讀服務(DJS)模塊、數(shù)據(jù)訂閱服務(RTS)模塊、時統(tǒng)服務模塊組成. 該平臺是并行自動化測試系統(tǒng)中數(shù)據(jù)處理、控制指令管理、自動化測試實施、測試數(shù)據(jù)分析、測試過程指揮監(jiān)控管理中心. 它是測試數(shù)據(jù)處理存儲系統(tǒng)的后臺核心服務軟件和管理工具,主要用于完成測試期間上行、下行數(shù)據(jù)的管理和控制,對測試設備進行統(tǒng)一管理和調(diào)度,對數(shù)據(jù)庫進行訪問與維護.
并行化自動測試系統(tǒng)分為兩個大數(shù)據(jù)庫,分別為項目庫和知識庫. 其中,項目庫存儲當前正在運行的項目數(shù)據(jù),知識庫存儲歷史項目數(shù)據(jù). 知識庫分為若干個平臺庫,每個平臺下存儲若干項目數(shù)據(jù). 每個項目分為若干次測試數(shù)據(jù),如初樣測試、正樣測試、出所測試等. 每個測試庫下存儲基礎庫和被測數(shù)據(jù)存儲表,基礎庫包含基礎協(xié)議、基礎指令等基礎信息.
信息評估分析平臺用于對測試數(shù)據(jù)進行評估分析,包括自動數(shù)據(jù)分析模塊和故障診斷模塊. 自動數(shù)據(jù)分析模塊按照測試協(xié)議的具體指標要求將測試數(shù)據(jù)進行實時判讀,并實時發(fā)送給自動化測試執(zhí)行平臺; 故障診斷模塊引入神經(jīng)網(wǎng)絡和專家系統(tǒng)等評估方法,利用航天標準測試用例集形成完善的標準評估指標體系. 通過此方法給出航天器性能的診斷結(jié)果,達到知識自動獲取、診斷準確率高、診斷效率高的優(yōu)勢.
通用測試設備平臺是并行化自動測試系統(tǒng)的核心產(chǎn)品,以小型化、集成化測試設備為核心,通過有線或無線的方式與被測設備連接,通過網(wǎng)絡與自動化測試平臺連接. 其主要功能包括為被測產(chǎn)品供電、發(fā)送指令和數(shù)據(jù)、接收遙測數(shù)據(jù)、產(chǎn)生各種激勵信號. 主要由通用接口測試設備和通用測試儀器管理設備兩部分組成. 通用接口測試設備采用通用化設計,可支持各類被測產(chǎn)品的接口測試,接口包括LVDS總線、422總線、CAN、1553B等. 通用測試儀器管理設備為系統(tǒng)的測試儀器、設備提供二次開發(fā)平臺,滿足系統(tǒng)的設備擴展需求.
云計算技術(shù)是在硬件平臺上直接創(chuàng)建一個虛擬化平臺間接管理硬件資源,并通過虛擬化控制中心控制計算中心全部服務器的虛擬化平臺,進而將全部硬件資源形成資源池(包括CPU、內(nèi)存、網(wǎng)絡資源、外存儲器)[9,10]. 同時,云計算支撐平臺還在虛擬化平臺層上創(chuàng)建出若干個虛擬操作系統(tǒng),并根據(jù)實際需求將資源池中的硬件資源分配給虛擬操作系統(tǒng),并在虛擬操作系統(tǒng)上運行應用軟件. 通過這種方法可以使測試系統(tǒng)的工作徹底擺脫硬件資源的局限,實現(xiàn)根據(jù)系統(tǒng)需求進行資源的有效配置和系統(tǒng)的高可靠運行.
在并行化自動測試系統(tǒng)中,云計算支撐平臺位于各業(yè)務子平臺的下層,對具體的業(yè)務子平臺提供諸如測試數(shù)據(jù)存儲、高性能分布式計算等支撐,以保證平臺在實現(xiàn)大容量數(shù)據(jù)服務時的服務質(zhì)量.
云計算支撐平臺是并行化自動測試系統(tǒng)的軟、硬件支撐平臺. 該平臺可在云端實現(xiàn)通用測試設備子平臺、核心數(shù)據(jù)處理子平臺、測試設計子平臺、自動化測試執(zhí)行子平臺、測試信息存儲子平臺、信息評估分析子平臺的相關(guān)功能. 利用云計算資源聚合的特點,從物理上合并需要的服務器和終端,將全部硬件設備采用云計算方式整合到同一硬件服務器平臺.
云計算支撐平臺分為3層:基礎級服務層(instrument as a service, IAAS)、平臺級服務層(platform as a service, PAAS)、軟件級服務層(software as a service, SAAS)[11]. IAAS層負責提供測試所需的服務器、工控機等硬件基礎設施,為用戶提供網(wǎng)絡、儀器、存儲和計算節(jié)點等物理設備. 用戶在IAAS層需要提供設備的配置信息,通過虛擬化技術(shù)實現(xiàn)物理資源與虛擬資源的鏈接,形成虛擬資源池,用戶根據(jù)需求向系統(tǒng)提出資源請求,提高了系統(tǒng)資源的利用率. PAAS層是介于SAAS和IAAS之間的部分,作為主要關(guān)聯(lián)部分將系統(tǒng)與云平臺關(guān)聯(lián)起來,控制上層系統(tǒng)的部署與軟件的環(huán)境配置,提供應用服務引擎,為并行化自動測試系統(tǒng)的數(shù)據(jù)分發(fā)、數(shù)據(jù)入庫、數(shù)據(jù)存儲、數(shù)據(jù)判讀等功能的應用提供入口程序[12,13]. SAAS層是將測試系統(tǒng)各層次的服務提供給用戶的最終環(huán)節(jié),主要包括用戶服務(人機界面)、測試執(zhí)行服務(專用測試應用)、測試項目開發(fā)服務和測試數(shù)據(jù)應用服務. 并行化自動測試系統(tǒng)在SAAS層設計了測試信息管理終端、測試基礎數(shù)據(jù)庫管理模塊、測試指令管理中心、測試信息監(jiān)視終端、自動數(shù)據(jù)分析模塊、故障診斷模塊等應用軟件,實現(xiàn)了測試服務的便捷性.
基于對軟件可移植性、硬件可互換性和系統(tǒng)互操作性的研究,本文設計了一種并行化自動測試平臺的云計算架構(gòu),如圖 2 所示.
圖 2 云計算架構(gòu)Fig.2 Cloud computing architecture
并行化自動測試系統(tǒng)對計算能力和長時間工作的可靠性要求較高,采用工業(yè)級的服務器可滿足分析處理、協(xié)議轉(zhuǎn)換、數(shù)據(jù)存儲等功能要求. 本系統(tǒng)采用vSphere云計算管理終端軟件實現(xiàn)對服務器的操作,以其系統(tǒng)資源集群管理、可靠性高等優(yōu)勢為并行化自動測試系統(tǒng)提供了方便、高效的運行環(huán)境.
本文以導航接收機為例,實現(xiàn)四臺接收機并行一鍵化測試. 基于上述云計算硬件和軟件支撐平臺,并行化自動測試系統(tǒng)使用工控機作為數(shù)據(jù)采集設備,通過四路RS232串口同時對四臺接收機進行遙測數(shù)據(jù)接收與遙控指令發(fā)送; 一臺服務器集成指令控制終端軟件與數(shù)據(jù)顯示終端軟件,同時一鍵化執(zhí)行測試序列. 整個系統(tǒng)的工作信息流如圖 3 所示,系統(tǒng)從測試準備、測試執(zhí)行、測試評估三個階段實現(xiàn)導航接收機的并行化自動測試.
圖 3 系統(tǒng)工作信息流圖Fig.3 Work flow chart of the system
測試設計平臺包括基礎數(shù)據(jù)管理終端和測試細則管理終端,通過兩個終端設備設計基礎數(shù)據(jù)協(xié)議和測試細則等測試前的準備工作,并將基礎數(shù)據(jù)信息、項目測試序列TPS發(fā)送給測試數(shù)據(jù)存儲平臺進行存儲.
通用測試設備平臺采集導航接收機的四路遙測數(shù)據(jù),利用工控機通過串口通信的方式與接收機進行數(shù)據(jù)交互,同時電源和衛(wèi)星導航模擬源為接收機提供激勵信號. 核心數(shù)據(jù)處理平臺接收通用測試設備平臺采集到的遙測數(shù)據(jù),主測試服務器將數(shù)據(jù)按照基礎數(shù)據(jù)協(xié)議進行解析處理,并將處理后的數(shù)據(jù)發(fā)送給數(shù)據(jù)訂閱服務器,由數(shù)據(jù)訂閱服務器將數(shù)據(jù)分發(fā)給自動化測試執(zhí)行平臺. 自動化測試執(zhí)行平臺是整個系統(tǒng)的測試執(zhí)行機構(gòu),包括控制臺終端和數(shù)據(jù)顯示終端. 控制臺向主測試服務器發(fā)送控制指令等信息; 數(shù)據(jù)顯示終端接收來自數(shù)據(jù)訂閱服務器的設備狀態(tài)數(shù)據(jù)、設備管理數(shù)據(jù)、遙控指令數(shù)據(jù)、遙測工程值等信息,并以圖形和列表兩種形式進行顯示. 測試數(shù)據(jù)存儲平臺存儲測試設計平臺生成的測試用例集、測試序列TPS、項目的基礎數(shù)據(jù)庫和測試過程數(shù)據(jù),并將基礎數(shù)據(jù)發(fā)送給主測試服務器和控制臺終端,同時將測試序列TPS發(fā)送給控制臺終端.
信息評估分析平臺從數(shù)據(jù)庫服務器中讀取測試數(shù)據(jù),將數(shù)據(jù)按照標準評估指標體系進行數(shù)據(jù)分析評估. 一方面,將判讀信息實時發(fā)送給自動化測試執(zhí)行平臺,形成測試報告并自動打??; 另一方面,將數(shù)據(jù)評估結(jié)果發(fā)送給測試信息存儲平臺用于后期的結(jié)果查詢.
本文在充分分析自動化測試系統(tǒng)的研究現(xiàn)狀和云計算測試的基礎上,研究了面向自動化測試的云計算體系架構(gòu),設計了一種基于云計算的并行化自動測試系統(tǒng),并充分考慮了軟件可移植性、硬件可互換性和系統(tǒng)互操作性,實現(xiàn)了多臺被測產(chǎn)品同時進行一鍵化測試執(zhí)行. 實驗表明,基于云計算的并行化自動測試系統(tǒng)借助少量的測試設備實現(xiàn)一鍵化四個被測產(chǎn)品同時測試并自動生成測試報告,提高了測試效率,減少了測試用例的執(zhí)行時間,加速了測試過程,降低了測試環(huán)境成本,提高了測試質(zhì)量.