摘要:本文針對民用飛機航電系統集成驗證流程復雜、周期長的特點,研究了航電系統試驗的自動化測試方法、測試用例的規劃以及試驗管理方法,并根據民用飛機航電系統驗證流程,提出了一個低開發風險的、靈活的自動化測試與管理系統架構,該系統可集成多種成熟商用軟件并且不依賴于硬件平臺,可與現有的航電系統試驗設施結合,兼容已有的試驗數據文件,實現試驗過程的自動化與集中式管理。
關鍵詞:自動化測試 試驗管理 測試用例 構型管理
中圖分類號:V22 文獻標識碼:A 文章編號:1674-098X(2011)10(b)-0000-00
試驗室試驗是民用飛機航電系統集成與驗證過程中的重要環節,通過試驗室試驗能夠在航電系統開發的早期盡可能多的發現問題,使絕大部分問題能夠在設備裝機前得到解決,避免了裝機后由于設計缺陷而造成的系統重大更改,從而降低整個航電系統集成的風險,有效的縮短了航電系統的開發周期。隨著技術的進步,航空電子設備越來越趨向于小型化、集成化,航電系統逐漸由各子系統相對獨立的聯合式系統發展為一個集成度高的、結構復雜的綜合模塊化航電系統[1][2],這對航電系統的集成與驗證帶來了新的挑戰,傳統的手工測試和非集中式的試驗數據、文檔管理已經不能滿足日益復雜航電系統驗證需求,傳統手工測試中大量枯燥的重復操作也大大增加了試驗人員的誤操作幾率和試驗周期。本文提出了一種通用的自動化測試與管理系統,可在不更改或極少更改當前已有的航電試驗設施的情況下,實現航電系統試驗過程的自動化和整個試驗周期中試驗數據、文檔的管理,使試驗過程和結果可控、可追溯。
1 自動化測試與管理在航電系統試驗中的作用
自動化測試與管理系統的主要功能是試驗任務的編制與調度,提供一個頂層的管理平臺實現對整個試驗過程的流程控制和結果追蹤。自動化測試與管理系統與航電系統綜合驗證設施的關系如圖1所示。
圖1 自動化測試與管理系統與航電綜合驗證設施的關系
自動化測試與管理系統通過調用航電試驗設施提供的應用程序接口(API),實現與航電試驗設施的通信。在航電系統綜合驗證中,自動化測試與管理系統與航電試驗設施中的仿真系統、I/O控制系統和數據采集系統通信,能夠操控航電試驗設施完成一個完整的試驗過程中應能夠完成的所有操作,使得自動化測試與管理系統可以站在更高層的角度,對整個試驗(包括自動測試)過程進行規劃。在圖1中,航電系統集成驗證設施作為航電系統試驗的實施工具,而自動化測試與管理系統則作為航電系統試驗的規劃與管理工具,主要提供以下功能:
a) 通過調用接口,與航電試驗設施進行互操作,使用戶可以獨立于航電試驗設施編輯測試用例,測試用例可以保存成單獨的文件;
b) 對試驗任務的組成進行規劃,使用戶可以自定義一個完整的試驗任務,將相關的文件、測試用例和數據有機的結合在一起;
c) 實現試驗任務執行的流程控制,使用戶能夠對任務的執行過程進行調度,對結果進行監控;
d) 對上述試驗任務的內容以及執行過程形成的數據和文檔提供構型管理功能,使試驗文檔、數據和結果可追溯。
e) 自動化測試與管理系統所實現的試驗流程管理與具體的驗證設施無關。
2 自動化測試與管理系統設計
2.1 設計原則
自動化測試與管理系統的設計原則是使系統中每個組成部分的功能相對獨立,各個部分可以根據實際情況開發或直接選用商用成熟產品,從而降低系統的開發難度。將商用成熟產品集成到系統中的好處在于開發人員只需關心接口,可方便的實現系統中組件的升級,延長整個系統的生命周期,使系統具有更好的通用性。
2.2 系統架構
自動化測試與管理系統的架構如圖2所示。
圖2 自動化測試與管理系統架構
系統的組成如下:
a) 應用程序調用接口:提供一個與試驗設施交聯的通用接口,通過調用由試驗設施提供的應用程序接口(API)實現與試驗設施的互操作。
b) 試驗任務編輯:提供了一個人機交互環境,通過圖形界面規劃試驗流程、編制試驗任務。
c) 用戶權限管理:針對試驗人員的分工管理不同用戶的權限,權限包括數據查看的權限,任務編制與執行的權限等。
d) 報告生成:將流程執行的情況以及執行的結果生成報告,報告的格式可由用戶自定義。
e) 數據存儲:實現流程編制、執行過程中的中間數據以及執行結果的存貯,并提供一個與第三方構型管理軟件的接口,實現整個試驗流程的構型管理。
f) 流程管理核心:提供底層的服務,用于自動化測試與管理系統各個功能組件之間的運行調度和數據交換。
2.3 測試用例編輯與管理
測試用例是航電系統試驗的核心,是針對某一條或幾條相關的測試需求所提出的用于驗證該需求的測試場景,包括輸入輸出條件、步驟等。測試用例可以是一段文字描述,也可以包含實際可執行的自動測試代碼。本文根據航電系統試驗的實際情況,將傳統使用文字描述的測試用例與能夠執行的測試代碼結合起來,測試用例的文字部分用于測試場景的描述,測試用例的執行部分分為三個階段:系統設置階段,測試階段和還原設置階段。其中系統設置階段用于設置該測試用例所包含的測試條目所需的系統構型;測試階段是測試用例中各測試條目的運行階段;還原設置階段用于將本測試用例改動的系統配置還原,以免影響后續的測試。
在測試用例的三個階段中,每個階段又可分為一個或多個“步驟”,每個“步驟”代表了在傳統手工測試中試驗人員的一個操作。“步驟”為測試用例中最小的可執行單位。
在一個測試用例中,為了使數據能夠在不同“步驟”之間傳遞,使得測試用例能夠自動完成一些帶有邏輯判斷的、流控制的復雜操作,在測試用例中加入了“變量”的概念,可將“步驟”中產生的數據可存入變量,并在其它步驟中讀取變量的值,從而完成步驟之間數據交換。變量的適用范圍僅限于一個測試用例內部,是該測試用例的組成部分。為了方便管理,每個測試用例都是一個單獨的文件。
2.4 試驗任務管理
為了提高系統的通用性,能夠管理在未引入本系統以前的零散的電子文件、試驗數據,試驗任務管理[3]采用了基本的文件與文件夾管理,并且盡量使用通用的文件格式。本文結合民用飛機航電系統試驗的流程,將試驗任務分為四個部分:測試需求、試驗構型、測試用例和試驗文檔。其中測試需求的來源為飛機的T0、T1、T2級需求,分為飛機級測試需求、系統級測試需求和子系統級測試需求,分別用于飛機級集成驗證、系統級集成驗證和設備級驗證。測試需求同時也作為測試用例的輸入文件。試驗構型包括待測系統以及試驗設施的軟硬件組成、版本信息等,只有在確定了試驗構型的基礎上,一次試驗的結果才是有意義的。測試用例可追溯到一條具體的測試需求,并可被不同試驗任務復用。試驗文檔指一次試驗任務包含的文字資料,包括:試驗任務書、試驗大綱、試驗報告等。
試驗任務的執行主要是規劃一個試驗任務中測試用例的執行。每一個測試用例都是一個獨立的個體,當一個試驗任務執行時,按照測試用例的排列順序,順序執行測試用例中的步驟。
試驗任務的構型管理[4]將上述試驗任務的各組成部分分別進行版本管理,這樣,一個正式的試驗任務反映了不同版本的測試需求、試驗構型、測試用例和試驗文檔的有機組合,通過試驗任務的構型管理,可對歷史試驗任務的詳細信息進行追溯,并實現歷史試驗任務的重現。
4 結論
本文分析了自動化測試與管理在民用飛機航電系統綜合驗證中的作用,針對現代航電系統集成度高、結構復雜的特點,對航電系統試驗管理方法,測試用例的規劃以及構型管理進行了研究,提出了一種民用飛機航電試驗的自動化測試與管理系統方案,該方案不依賴具體的試驗設施,可與多種成熟商用軟件結合,實現方法靈活,開發難度小,可應用于新建或現有的航電綜合實驗室中,彌補了傳統手工測試與管理的不足。
參考文獻
[1] 江帆, 鞠建波, 鄧小濤. 綜合航空電子系統新技術研究[J] 現代電子技術, 2003(20) .
[2] 何志強. 綜合化航空電子系統發展歷程及重要支撐技術[J] 電訊技術, 2004(4) .
[3] 黃明石, 劉永志, 鄭權. 飛行試驗管理系統的設計與軟件實現[J], 飛行力學, 2000(4) .
[4] 楊璽, 范玉青. 飛機構型控制技術初探[J] 北京航空航天大學學報, 2000(3) .