黃曉晴 梁曉芬 鄭永龍 章 寧 周 濤 王緯國
(中國人民解放軍第5720工廠1,安徽 蕪湖 241007;南京航空航天大學自動化學院2,江蘇 南京 210016)
自動測試系統(tǒng)(automatic test system,ATS)一般由自動測試設備(automatic test equipment,ATE)、測試程序集(test program set,TPS)和TPS軟件開發(fā)工具三部分組成。目前,ATS軟件通用性的研究已得到越來越多的重視[1-4],ATS正從單一功能的專用系統(tǒng)向多功能的通用開放系統(tǒng)發(fā)展[5]。然而,如何實現(xiàn)測試軟件的通用性和擴展性仍是一個難題[6-12]。
本文以構建通用測試系統(tǒng)為目的,提出了一種通用TPS軟件開發(fā)工具的實現(xiàn)方法,給出了通用測試軟件開發(fā)平臺(universaltestprogram development software,UTest)的框架結構及設計方法。該平臺可應用于航空領域各類機載產品的測試維修,具有界面直觀、操作簡單的特點,是產品維修和測試的重要工具。
目前,在開發(fā)針對某一被測產品的測試系統(tǒng)時,首先需要根據(jù)被測產品的測試要求選擇硬件資源;然后按照所選硬件資源及被測產品的接口信息,設計、開發(fā)接口適配器;最后按照接口適配器連接關系以及硬件資源的配置情況,開發(fā)專門的測試軟件,從而完成測試系統(tǒng)的開發(fā)。
上述開發(fā)過程不僅需要開發(fā)人員具有較強的軟件開發(fā)能力,而且還需要開發(fā)人員非常了解被測產品的測試要求。此外,由于采用該方式開發(fā)的測試軟件僅針對某一被測產品,其操作模式、界面風格、測試數(shù)據(jù)的保存等都存在很大差異,軟件的開發(fā)周期也相對較長。本文對測試平臺的需求、構建方式進行了充分分析,給出了完整的設計方案。UTest軟件系統(tǒng)架構如圖1所示。
圖1 UTest軟件系統(tǒng)架構Fig.1 Architecture of the UTest software system
UTest平臺旨在提供通用的測試軟件開發(fā)工具,將測試系統(tǒng)開發(fā)過程(除硬件資源選擇以外)都通過該平臺進行管理。更重要的是,UTest提供測試程序集的自動生成方法,這樣,測試人員無需編程就可以開發(fā)出測試程序。
整個軟件平臺分成測試工程建模平臺(test engineering model platform,TEP)和測試程序執(zhí)行平臺(test program implementation platform,TIP),這兩者之間通過特定格式的數(shù)據(jù)庫文件進行連接。
1.1.1 測試工程建模平臺(TEP)
測試工程建模平臺包括被測產品測試信息建模和測試策略編輯兩部分。測試信息建模需要實現(xiàn)的功能主要如下。
①測試資源的管理功能。根據(jù)系統(tǒng)組成,選擇被測產品需要的測試資源,并對測試資源進行設置。
②被測產品建模功能。根據(jù)被測產品的具體信息,提供建立被測產品模型的工具。該工具能夠定義被測產品進口的名稱和功能描述、被測產品接口、被測產品與硬件資源的連接關系、被測產品與接口適配器的連接關系。
③接口適配器建模功能。該功能能夠提供建立接口適配器模型的工具,以及接口適配器名稱、接插件名稱,并定義接口適配器內部連接關系。
測試工程建模平臺的另一部分——測試策略編輯模塊,能夠為被測產品建立測試流程,提供建立測試任務的工具;分解被測產品的測試過程,建立測試任務。其主要功能如下。
①將被測產品測試任務分解,建立測試任務樹。測試任務分解的最小單元是保證測試任務可以由單個函數(shù)完成。
②提供被測產品測試策略編輯工具,將測試任務樹中的各任務單元按照測試流程建立連接。
③定義各測試任務的輸入、輸出數(shù)據(jù)及數(shù)據(jù)傳遞路徑。
1.1.2 測試程序執(zhí)行平臺(TIP)
測試程序執(zhí)行平臺通過載入被測產品已建立的測試策略模型,管理測試程序運行所需的各種信息,同時提供測試程序的運行環(huán)境。測試程序執(zhí)行平臺還負責對用戶進行管理,記錄測試人員、測試產品信息,保存測試數(shù)據(jù)、生成測試報告。
TIP的主要功能具體如下。
①通過導入已建立的測試策略模型,建立測試程序運行環(huán)境,以測試策略模型中測試樹的形式顯示測試任務。
②按照測試任務中的測試步驟,自動執(zhí)行測試任務,并按照用戶設置的信息,顯示測試結果。
③對測試過程中產生的數(shù)據(jù)進行保存,生成測試報告。
另外,在測試程序執(zhí)行平臺中的測試程序函數(shù)庫是由一系列針對硬件資源開發(fā)的測試函數(shù)構成的。這些測試函數(shù)是在硬件資源所提供的驅動程序的基礎上,通過二次開發(fā),封裝、整理成具備各種功能的測試函數(shù)。
每個測試函數(shù)均具有可直接執(zhí)行的特點。當硬件資源發(fā)生改變時,可通過修改、替換、添加測試函數(shù),使測試程序函數(shù)庫與硬件資源相對應,從而保證UTest平臺適應硬件資源的變化。
UTest軟件系統(tǒng)架構的確立決定了應用該平臺開發(fā)測試程序的過程。UTest軟件的應用流程如圖2所示。
圖2 UTest軟件應用流程Fig.2 Application fowchart of UTest
測試工程建模平臺和測試程序執(zhí)行平臺的具體流程如下。
首先,用戶通過測試信息建模模塊,根據(jù)被測產品測試要求,選擇所需硬件資源,定義適配器接口,建立被測產品信息模型。在測試信息建模基礎上,測試策略編輯模塊對測試步驟和測試流程進行描述。以測試工程信息數(shù)據(jù)庫文件的形式保存上述信息。該文件能夠描述測試任務、測試流程,同時還能關聯(lián)測試程序函數(shù)庫。
接著,在TIP平臺導入相應產品的測試工程信息數(shù)據(jù)庫文件,讀取測試策略的相關信息;按照此信息調用測試函數(shù)庫中的相應函數(shù)并執(zhí)行,從而實現(xiàn)對被測產品的測試。同時TIP平臺還對測試人員、測試數(shù)據(jù)、結果等進行管理。
測試工程建模平臺基于數(shù)據(jù)庫構建,將用戶提供的被測產品信息以數(shù)據(jù)庫的形式保存,所有執(zhí)行平臺需要的信息均被保存在數(shù)據(jù)庫中。因此,數(shù)據(jù)庫的內容、構建方式、數(shù)據(jù)表單之間的數(shù)據(jù)連接關系是方案設計的難點,也是整個TEP平臺構建的基礎。TEP平臺的數(shù)據(jù)庫結構如圖3所示。
圖3 數(shù)據(jù)庫總體結構Fig.3 Structure of the database
圖3中,測試工程信息數(shù)據(jù)庫是用戶根據(jù)UUT測試要求,在測試工程建模平臺(TEP)上,按照測試工程信息數(shù)據(jù)庫的創(chuàng)建要求進行創(chuàng)建的。
TEP平臺中的硬件資源及配置和測試函數(shù)信息數(shù)據(jù)庫則根據(jù)通用測試系統(tǒng)的硬件資源情況,在UTest軟件開發(fā)階段建立。當用戶使用TEP平臺時,該數(shù)據(jù)庫已存在。當硬件資源發(fā)生改變時,數(shù)據(jù)庫信息需要進行同步更新。
測試信息建模用于構建測試工程的總體框架,針對每一被測產品,用戶可以創(chuàng)建測試工程。新建的測試工程均包括測試資源管理、測試產品信息描述及接口適配器定義三個模塊。用戶根據(jù)被測產品測試要求,分別在三個模塊中完成測試工程的創(chuàng)建。每個模塊均采用圖形化界面,并提供各種編輯工具,以提高TEP平臺的易用性。
測試策略編輯是對測試步驟、測試流程進行描述的過程。本文提出將測試策略編輯模塊用樹的形式表示測試任務。測試任務樹將測試任務分解成各任務組,各任務組又可以包含多個測試任務,每個測試任務又分成測試點。測試任務樹分解的原則,就是要求最終的各測試點能夠由硬件資源測試程序函數(shù)庫中的單個函數(shù)實現(xiàn)。測試任務樹的結構如圖4所示。
圖4 測試任務樹結構Fig.4 Tree structure of the test task
測試策略編輯模塊除了提供測試任務樹編輯的功能外,還要能夠對各測試點的執(zhí)行順序進行描述,完成測試步驟的寫入。測試策略編輯模塊利用數(shù)據(jù)庫對所有測試步驟進行記錄,尤其是每步測試中測試函數(shù)的調用。數(shù)據(jù)庫中記錄了調用測試函數(shù)的路徑,執(zhí)行測試函數(shù)時所用到的輸入、輸出參數(shù)的傳遞關系。TIP平臺通過導入數(shù)據(jù)庫信息,實現(xiàn)在執(zhí)行平臺下對硬件的操作。
測試策略模塊還為測試策略提供一些常用的執(zhí)行路徑選擇單元,如循環(huán)、跳轉、分支、賦值等,這些功能也都封裝成功能函數(shù),保存在測試函數(shù)庫的基礎函數(shù)庫,以滿足各種測試需求。
測試策略編輯是TEP平臺的核心模塊,在用戶編輯完測試策略后,該模塊將對整個策略進行解析,使之與相應的硬件資源測試程序函數(shù)庫中的函數(shù)相匹配;并將匹配的結果、測試步驟、測試函數(shù)路徑及參數(shù)信息保存到測試工程數(shù)據(jù)庫中,供TIP執(zhí)行平臺調用。
TIP平臺用于執(zhí)行測試程序,通過導入并解析測試工程信息數(shù)據(jù)庫文件,完成被測產品測試程序的執(zhí)行,以實現(xiàn)產品的調試、檢測以及故障判斷。TIP平臺由測試程序函數(shù)庫、測試執(zhí)行管理、測試信息管理三部分組成。
測試程序函數(shù)庫在UTest軟件開發(fā)階段建立,由軟件開發(fā)者根據(jù)硬件資源所提供的驅動程序開發(fā)測試函數(shù),以實現(xiàn)硬件資源所支持的各功能。所有的測試函數(shù)在開發(fā)時,為滿足執(zhí)行平臺的調用,都必須嚴格按照測試函數(shù)的開發(fā)要求編寫,每個測試程序函數(shù)都具有可直接執(zhí)行的特點。所有硬件資源的測試函數(shù)是構成測試程序函數(shù)庫的主要部分。測試程序函數(shù)庫還包括基礎函數(shù)庫?;A函數(shù)庫中的函數(shù)和硬件資源無關,主要用于實現(xiàn)測試程序執(zhí)行中所涉及的循環(huán)、跳轉、選擇等功能。
測試執(zhí)行管理實現(xiàn)相關文件的導入以及測試工程建模平臺輸出的數(shù)據(jù)庫文件的解析。根據(jù)數(shù)據(jù)庫文件,調用測試程序函數(shù)庫。測試程序函數(shù)庫中的相應函數(shù)直接執(zhí)行,無需編譯,從而完成測試程序的運行,以實現(xiàn)被測產品的檢驗、測試和故障判斷。
測試信息管理包括測試結果的顯示和保存、測試數(shù)據(jù)報表管理、用戶管理、測試任務查詢等管理功能。
測試程序執(zhí)行平臺的核心是測試執(zhí)行管理模塊。該模塊讀取測試工程數(shù)據(jù)庫信息,并按照數(shù)據(jù)庫信息調用測試函數(shù)庫中的測試函數(shù),使之運行;同時,還需管理測試函數(shù)的輸入、輸出參數(shù)的傳遞和執(zhí)行順序,以實現(xiàn)測試策略。利用測試程序執(zhí)行模塊,被測產品的測試程序執(zhí)行過程具體如下。
①程序首先調用測試策略數(shù)據(jù)庫的信息,獲取第一個測試步驟調用的測試函數(shù)名稱及路徑,啟動測試函數(shù)。
②調用測試工程數(shù)據(jù)庫的信息,獲取當前配置信息,將信息配置給需要啟動的測試函數(shù);然后執(zhí)行測試函數(shù),在完成當前測試功能后關閉測試函數(shù)。
③根據(jù)配置信息,決定是否保存當前測試結果。獲取下一測試步驟調用的VI名稱及路徑,重復步驟②的操作。
④當測試策略數(shù)據(jù)庫錄入的所有測試步驟完成后,停止執(zhí)行程序。
整個過程的軟件流程如圖5所示。
圖5 TPS執(zhí)行流程Fig.5 Execute flowchart of TPS
本文從如何實現(xiàn)測試軟件的通用性入手[13-17],研究分析了開發(fā)被測產品測試系統(tǒng)的整個過程,并提出了通用測試軟件開發(fā)平臺UTest的軟件架構,最后給出了UTest各個功能模塊的具體實現(xiàn)方法。該軟件開發(fā)平臺架構清晰、擴展性強。當測試程序執(zhí)行時,無需程序編譯過程,測試人員不用具備編程能力。采用該軟件開發(fā)平臺能夠快速、便捷地實現(xiàn)被測產品的測試,縮短了開發(fā)周期。
目前,本文提出的UTest的設計方案已經在航空機載設備的通用測試軟件開發(fā)平臺的構建過程中得到了成功應用。
[1]劉晨,戴燚.航空電子系統(tǒng)通用測試平臺的設計[J].航空電子技術,2010,41(4):37 -42.
[2]王國華,宋卿,徐旭偉,等.飛行數(shù)據(jù)采集器通用自動測試軟件[J].測試技術學報,2010,24(3):199 -204.
[3]夏晶,孫繼銀,李輝.基于PXI總線的電子設備測試系統(tǒng)的設計[J].儀器儀表學報,2007,28(S1):311 -314.
[4]葉海明,周紹磊,王昆平.通用測試系統(tǒng)軟件平臺設計[J].研究與開發(fā),2010,29(2):54 -57.
[5]柳愛利,周紹磊.自動測試技術[M].北京:電子工業(yè)出版社,2007:83-102.
[6]馬鐵華,祖靜.沖擊波超壓存儲測試技術研究[J].儀器儀表學報,2004,25(4):134 -135.
[7]ANY C.Using IVI-C class drivers to achieve the ultimate in instrument interchangeability[C]//IEEE,2004:312 -315.
[8]ANY C.Using interchangeable virtual instrument drivers to increase test system performance[J].AESS System Magazine,2001(7):9 -11.
[9]董冰玉,杜紅棉,祖靜.基于無線控制的沖擊波超壓測試系統(tǒng)[J].傳感技術學報,2010,23(2):279 -281.
[10]戴春翟,李曉靜,張侃諭.集成電路測試系統(tǒng)通用測試軟件的研究與設計[J].電子測量技術,2010,33(1):133 -135.
[11]王紅,王湘念.ATS軟件平臺發(fā)展現(xiàn)狀及建議[J].航空制造技術,2008(22):40-43.
[12]秦洪磊,路輝,郎榮玲.ATS—硬件及軟件技術[M].北京:高等教育出版社,2007:2-3.
[13]苗長青,劉慶明.數(shù)據(jù)采集系統(tǒng)軟件設計及其應用研究[J].彈箭與制導學報,2002,22(1):77 -80.
[14]姜軍銀,侯立剛.基于COM技術的通用數(shù)據(jù)庫存取組件的設計[J].遼寧石油化工大學學報:自然科學版,2005,25(1):75-77.
[15]王紅凱.基于CY7C68013A的USB接口系統(tǒng)設計[J].計算機應用,2008(1):77-79.
[16]宋清昆,孫元娜,王學偉,等.組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設計[J].計算機應用,2008,27(1):55 -57.
[17]錢笑宇,張彥武.工業(yè)實時數(shù)據(jù)庫的研究和設計[J].計算機工程,2005,31(5):98 -132.