自動(dòng)測試系統(tǒng)平臺軟件及其應(yīng)用
張燾13688398377
摘要:作為自動(dòng)測試系統(tǒng)的關(guān)鍵組成部分,自動(dòng)測試軟件在整個(gè)系統(tǒng)中所發(fā)揮的作用越來越明顯,因而也一直被廣泛關(guān)注和重視。本文通過簡要分析對比當(dāng)今國內(nèi)外幾個(gè)具有代表性的測試軟件開發(fā)環(huán)境,提出了以ATML、IVI-MSS等為關(guān)鍵技術(shù)的一套開放的軟件架構(gòu),以及在此架構(gòu)之上所實(shí)現(xiàn)的通用平臺軟件。該軟件的實(shí)現(xiàn)改善了傳統(tǒng)軟件在代碼可重用、可移植性、系統(tǒng)擴(kuò)展性等方面的不足,提高了開發(fā)效率,為自動(dòng)測試系統(tǒng)的軟件開發(fā)提供了新的解決方案。
關(guān)鍵詞:自動(dòng)測試系統(tǒng),ATML,IVI-MSS,通用平臺軟件
An Automatic Test System Develop Platform Software and its Application
Chen Xiaoming, Guo Enquan, Wang Cheng, Ma Xin
(Shaanxi Hitech Electronic Co.,Ltd.,Xi’an 710075,China)
Abstract: Being the key component of the Automatic Test System, software system has been paid a lot of attention. The paper briefly analyze some typical test software developing environment at home and abroad, a open software structure is pointed out, which adopts some technologies, such as ATML, IVI-MSS and so on. Further more, a general platform software that base on this structure have made some progress on the code reusability, portability of TPS, system expansibility and developing efficiency, and provide a new kind of solution for the ATS software development.
Keyword: Automatic Test System, ATML, IVI-MSS, General Platform Software.
1 引言
隨著科學(xué)技術(shù)的進(jìn)步,當(dāng)今武器裝備的功能日趨復(fù)雜,集成度日益提高,隨之帶來的是研制、生產(chǎn)以至于維修保障等等環(huán)節(jié)費(fèi)用的不斷攀升,其中相當(dāng)?shù)某杀井a(chǎn)生在繁重的測試以及故障診斷方面,自動(dòng)測試系統(tǒng)(Automatic Test System,ATS)也正是在這種條件下應(yīng)運(yùn)而生。
通常把以計(jì)算機(jī)為核心,以完成某項(xiàng)測試任務(wù)為目標(biāo),在測試軟件控制下的測量儀器以及其他設(shè)備,形成的有機(jī)整體稱之為自動(dòng)測試系統(tǒng)。自動(dòng)測試系統(tǒng)通常包括自動(dòng)測試設(shè)備(Automatic Test Equipment,ATE)、測試程序集(Test Program Set,TPS)和專用適配器三大部分,三者有機(jī)結(jié)合,自動(dòng)完成被測單元的性能檢測、數(shù)據(jù)分析、故障識別與定位等[1]。
在ATS中,TPS起著舉足輕重的作用,TPS通常由測試程序(Test Program,TP)、接口測試適配器(Interface Test Adapter,ITA)和測試程序集文檔(Test Program Set Document,TPSD)三大部分組成。在TPS中,TP成為了整個(gè)TPS的靈魂,因此有時(shí)TP也被當(dāng)作TPS。在面對種類多樣的ATE時(shí),常見的做法大多為“TPS專用化”,即一套TPS對應(yīng)一臺(套)ATE,不同的產(chǎn)品間所使用的TPS各有不同。這樣,TPS的專用化就引發(fā)了自動(dòng)測試軟件的專用化,而自動(dòng)測試軟件的專用化,也使得各種測試軟件的開發(fā)從接口標(biāo)準(zhǔn)到設(shè)計(jì)實(shí)現(xiàn),從開發(fā)效率到人機(jī)界面等等方面存在著很大的差異,由此帶來TPS可移植性、信息交換能力、以及后期培訓(xùn)指導(dǎo),使用維護(hù)的難度上都變得越來越困難。為此,自動(dòng)測試系統(tǒng)的通用平臺軟件的研究就顯得格外重要。
通用平臺軟件的目標(biāo)是建立通用化、系列化和標(biāo)準(zhǔn)化的測試平臺。使用通用平臺軟件構(gòu)建的TPS應(yīng)具有模塊化、層次化和易升級的特點(diǎn),可以靈活配置資源,可以根據(jù)系統(tǒng)實(shí)際功能進(jìn)行重構(gòu),使ATS的通用性和可移植得到提高[2]。本文介紹了一種自動(dòng)測試系統(tǒng)的通用開發(fā)平臺軟件。軟件采用分層開放架構(gòu),以ATML(Automatic Test Markup Language)、IVI-MSS(Interchangeable Virtual Instrument Measurement and Stimulus Subsystems)技術(shù)、統(tǒng)一對象模型等技術(shù)為基礎(chǔ),具有系統(tǒng)可擴(kuò)展、流程可視化編輯、儀器可互換、參數(shù)可配置等等特點(diǎn),為TPS提供了一套統(tǒng)一的開發(fā)運(yùn)行環(huán)境。
2 現(xiàn)狀
2.1 國外情況
在早期使用專用ATS階段,大多采用的是通用編程語言,如C、C++等,來開發(fā)測試軟件,隨著ATS通用化要求的日益提高,國外出現(xiàn)了幾種得到較廣泛應(yīng)用的自動(dòng)測試系統(tǒng)軟件開發(fā)平臺,下面就對其中的幾個(gè)代表性產(chǎn)品分別介紹。
a) SMART
標(biāo)準(zhǔn)化模塊式航空電子設(shè)備維修和測試(Standard Modular avionics Repair and Test,SMART)軟件系統(tǒng)由美國航空無線電公司(Aeronautics Radio Incorporation, ARINC)開發(fā),廣泛用于各種商業(yè)飛機(jī)機(jī)載設(shè)備的測試的自動(dòng)測試系統(tǒng)。SMART軟件體系分為編譯、配置和執(zhí)行三部分。這個(gè)軟件體系對ATS使用者而言,需要提供ATLAS源程序測試單元適配器,對于ATS繼承者來說,還必須做資源描述,設(shè)備模型和配置模型等等的建模工作。SMART可用于ATLAS源程序的編譯、配置及執(zhí)行,但要使用SMART系統(tǒng)還需要做很多輔助工作,開發(fā)效率未得到顯著提高。
b) PAWS
專業(yè)ATLAS工作站(Professional ATLAS Work Station,PAWS)系統(tǒng)是另一個(gè)在航空測試領(lǐng)域廣泛使用的開發(fā)平臺。它是由TYX公司設(shè)計(jì)生產(chǎn)的商用ATLAS編譯軟件,包括PAWS/TRD(測試需求)、PAWS/TP(測試程序開發(fā))和PAWS/RTS(運(yùn)行系統(tǒng))三部分。
雖然PAWS能部分的自動(dòng)生成ATLAS源程序并編譯成最終可執(zhí)行的測試程序,但是由于PAWS只負(fù)責(zé)軟件方面的設(shè)計(jì),進(jìn)行編譯時(shí)所需要的大量硬件信息還是需要手工錄入,從而降低了測試系統(tǒng)的整體開發(fā)效率。
c) TOPTEST
TOPTEST是 美國BAE公司提供的針對大型電子測試設(shè)備的測試策略和測試程序自動(dòng)生成環(huán)境。與其它測試程序開發(fā)平臺類似,TOPTEST環(huán)境中測試程序的建立也獨(dú)立于測試資源,通過與測試資源連接形成可執(zhí)行的測試代碼。TOPTEST中測試資源是以測試資源模型的方式存在。
TOPTEST的程序建立過程與語言無關(guān),因此用戶可以定制自己需要的語言。特定的目標(biāo)語言生成要借助一個(gè)語法規(guī)則模型庫,由語法規(guī)則組成語法對象,語法對象用COM技術(shù)和ActiveX技術(shù)實(shí)現(xiàn),它可由用戶擴(kuò)充。
2.2 國內(nèi)情況
國內(nèi)在自動(dòng)測試系統(tǒng)開發(fā)平臺技術(shù)上,也基本和國外相似:軟硬件單獨(dú)開發(fā)、硬件為手工設(shè)計(jì),測試軟件的設(shè)計(jì)有采用PAWS開發(fā)的,也有各單位自行研發(fā)的。相較于傳統(tǒng)的ATS測試軟件,國內(nèi)目前所開發(fā)的軟件在界面友好程度、測試功能完整性等方面都有了長足的進(jìn)步,也在一定的領(lǐng)域有所應(yīng)用,取得了一定的成果。但是部分產(chǎn)品由于是依賴于國外現(xiàn)有技術(shù),因此在設(shè)計(jì)標(biāo)準(zhǔn)化、設(shè)計(jì)質(zhì)量、代碼可重用性、軟件可移植性、可擴(kuò)展等方面還亟需改進(jìn)。
3 軟件結(jié)構(gòu)
由于傳統(tǒng)TPS開發(fā)的專用性,使它的實(shí)現(xiàn)與相應(yīng)的ATS緊密耦合,當(dāng)ATS需要更新?lián)Q代時(shí),與之相應(yīng)的TPS也將被淘汰。而通用軟件平臺的設(shè)計(jì)應(yīng)該是讓TPS的編程具有獨(dú)立性,即通過該軟件開發(fā)出來的TPS應(yīng)該具有硬件無關(guān)性,此外,要達(dá)到真正的通用,還必須使各個(gè)部件間的信息能夠共享,并且能進(jìn)行交互,以滿足測試系統(tǒng)內(nèi)部的各部件間、不同測試系統(tǒng)之間、測試系統(tǒng)與外部環(huán)境間信息的共享與無縫交互能力[3]。
為了實(shí)現(xiàn)這一目標(biāo),將系統(tǒng)設(shè)計(jì)為兩大組成部分,一部分為TPS開發(fā)平臺,用于開發(fā)人員進(jìn)行TPS的設(shè)計(jì)與調(diào)試;另一部分為TPS運(yùn)行平臺,作為最終用戶運(yùn)行TPS的環(huán)境。而TPS的可移植性就體現(xiàn)在以ATML標(biāo)準(zhǔn)為基礎(chǔ)的TPS文件上。

圖1 系統(tǒng)體系結(jié)構(gòu)
整個(gè)系統(tǒng)分為五層,從上至下依次是應(yīng)用層、業(yè)務(wù)層、服務(wù)層、支持層和物理層。每個(gè)層次組成成分不同,實(shí)現(xiàn)不同級別的功能目標(biāo)。應(yīng)用層調(diào)度業(yè)務(wù)層完成配置管理以及測試控制等;業(yè)務(wù)層具體實(shí)現(xiàn)各種測試功能,向應(yīng)用層返回結(jié)果;服務(wù)層為業(yè)務(wù)層和應(yīng)用層提供各種細(xì)粒度的服務(wù)組件;支持層提供包括驅(qū)動(dòng)程序在內(nèi)的系統(tǒng)運(yùn)行環(huán)境;物理層包含各種硬件設(shè)備。
采用該架構(gòu),已經(jīng)成功設(shè)計(jì)并實(shí)現(xiàn)了自動(dòng)測試系統(tǒng)通用開發(fā)平臺軟件和自動(dòng)測試系統(tǒng)通用運(yùn)行平臺軟件,下面如無特別指出,將統(tǒng)一稱為“通用平臺軟件”。
4 關(guān)鍵技術(shù)
4.1 基于功能的儀器互換
在自動(dòng)測試領(lǐng)域中,由于受試設(shè)備以及所在行業(yè)的不同,導(dǎo)致測試標(biāo)準(zhǔn)繁多,使用的測試儀器也不盡相同,儀器作為系統(tǒng)一項(xiàng)重要的資源其可互換性具有非常重要的意義。
傳統(tǒng)的很多測試軟件采用IVI-COM或IVI-C技術(shù)解決儀器互換,這種互換技術(shù)面向的是同類儀器間的互換,但是由于可用標(biāo)準(zhǔn)較少,標(biāo)準(zhǔn)開放程度不高等原因,使得這種方式限制了可互換的范圍。針對這樣的問題通用平臺軟件采用了更加高級的IVI-MSS架構(gòu),該架構(gòu)是IVI基金會為了解決同類儀器互換的不足而提出的一個(gè)互換機(jī)制。它在IVI-COM 類驅(qū)動(dòng)器的基礎(chǔ)上封裝了新的編程接口,使用測量/激勵(lì)服務(wù)器(IVI-MSS Server)和角色控制模塊(Role Control Modules ,RCM),實(shí)現(xiàn)了不同類儀器之間的互換,確保不同儀器類對同一測量/激勵(lì)有同樣的“信號”。
基于IVI-MSS模型的虛擬儀器測試軟件共包括五部分:用戶應(yīng)用程序(User Application)、測量\激勵(lì)服務(wù)器、角色控制模塊、儀器驅(qū)動(dòng)(Drivers)和物理儀器(Instruments)組成,如圖2所示。用戶應(yīng)用程序是IVI-MSS Solution的運(yùn)行環(huán)境,它通過調(diào)用IVI-MSS Server提供的編程接口實(shí)現(xiàn)對儀器資源的訪問。IVI-MSS Server是獨(dú)立于測試儀器資源的軟件層,它封裝了測試算法,對外提供面向測試功能需求的編程接口,該接口在被用戶應(yīng)用程序調(diào)用時(shí)作為“角色”向用戶提供測試服務(wù)。對于IVI-MSS Server來說,角色接口封裝了用來在一個(gè)特定Solution中執(zhí)行角色功能的一組屬性和函數(shù)的集合。RCM是連接IVI-MSS Server和儀器Driver的軟件層,在RCM內(nèi)部封裝了儀器訪問細(xì)節(jié),提供Role接口與IVI-MSS Server交互。這樣,對于IVI規(guī)范中的八類儀器,RCM通過IVI驅(qū)動(dòng)程序來實(shí)現(xiàn)訪問,對于八類之外的儀器,RCM可以通過SCPI命令、VISA函數(shù)等實(shí)現(xiàn)訪問。

圖2 IVI-MSS模型結(jié)構(gòu)
本系統(tǒng)將該架構(gòu)成功引入測試軟件中,實(shí)現(xiàn)了不同廠家相同功能的儀器互換。在儀器驅(qū)動(dòng)開發(fā)時(shí),從功能(Role)視圖來看待儀器。一項(xiàng)功能可以由多種儀器實(shí)現(xiàn),相同功能不同儀器之間可以實(shí)現(xiàn)互換。在儀器驅(qū)動(dòng)程序開發(fā)時(shí),將驅(qū)動(dòng)劃分為Server和RCM兩層, Server代表的抽象的功能和RCM代表的具體實(shí)現(xiàn)不會綁定到一起,可以在運(yùn)行時(shí)進(jìn)行選擇或者切換。RCM可根據(jù)需要進(jìn)行擴(kuò)充, Server則將同類的不同的RCM進(jìn)行組合。例如,產(chǎn)生正弦信號的功能既可以使用RS公司SMY01信號源來實(shí)現(xiàn),也可以使用Agilent公司的E8257D頻譜儀來實(shí)現(xiàn),或者其它廠商儀器來實(shí)現(xiàn),按照上述思想設(shè)計(jì)的儀器驅(qū)動(dòng)如圖3所示。這種方式極大的提高了硬件可互換的級別,實(shí)現(xiàn)了基于功能的儀器互換。

圖3 正弦功能互換性設(shè)計(jì)
4.2 可視化編輯
開發(fā)平臺提供“所見即所得”的界面定制生成功能,結(jié)合具體測試的需求,設(shè)計(jì)和創(chuàng)建測試執(zhí)行所需的運(yùn)行界面。通過可視化的操作以及大量豐富的設(shè)置,減少了出錯(cuò)的可能,也從一定程度上解決了以往流程開發(fā)多以文本語句構(gòu)建,不直觀,不清晰的缺點(diǎn)。
開發(fā)平臺通過可視化的設(shè)計(jì)器,提供了一個(gè)集成開發(fā)環(huán)境,該環(huán)境能夠管理TP工程文件、進(jìn)行TP建模、TP調(diào)試、TP發(fā)布等。

圖4 流程編輯器
在通用開發(fā)平臺軟件中提供了流程圖編輯器供開發(fā)人員以圖形化的方式創(chuàng)建測試流程,在流程編輯界面根據(jù)業(yè)務(wù)邏輯,繪制相應(yīng)的流程。在界面編輯部分,通過軟件提供的各種界面基本元素,設(shè)計(jì)流程執(zhí)行過程中的用戶交互界面。如圖4、圖5所示的就是一個(gè)簡單的數(shù)據(jù)采集流程。

圖5 界面編輯器
4.3 基于ATML的信息組織
ATML通過定義測試平臺、被測單元、接口適配器等描述信息及測試信息的格式標(biāo)準(zhǔn),促進(jìn)在不同測試環(huán)境中的信息交換。此外,ATML可以促進(jìn)測試和維修信息的反饋,使得持續(xù)改進(jìn)產(chǎn)品及其測試的過程成為可能。
TP開發(fā)階段以ATS集成階段生成的各種ATML描述文檔為基礎(chǔ),生成ATML測試描述文檔,進(jìn)而依據(jù)ATML測試描述文檔生成TP,最后通過適當(dāng)?shù)呐渲镁涂梢孕纬煽蓤?zhí)行測試程序。TP的開發(fā)流程如圖6所示。
ATML建立了統(tǒng)一的信息框架,測試系統(tǒng)各個(gè)部分均采用XML格式描述。這種格式很容易被人和計(jì)算機(jī)讀懂,從而實(shí)現(xiàn)了測試系統(tǒng)信息共享,與此同時(shí)也大大提高了TP的可移植性。

圖 6 TP開發(fā)過程
4.4 測試引擎技術(shù)
作為通用平臺軟件的核心之一,測試引擎的作用不言而喻。它是整個(gè)軟件系統(tǒng)效率、魯棒性的重要保證。
測試引擎為通用平臺軟件提供了強(qiáng)大的流程執(zhí)行與調(diào)試能力,流程執(zhí)行方面除了提供簡單的序列、循環(huán)、跳轉(zhuǎn)、分支外,還可以根據(jù)需要開辟獨(dú)立的執(zhí)行線程以滿足特定的場景。對于調(diào)試,測試引擎提供了單步運(yùn)行、跳過以及斷點(diǎn)、監(jiān)視等功能。
4.5 開放的體系結(jié)構(gòu)
任何一個(gè)軟件自身所能提供的功能總是有限的,但是用戶的實(shí)際需求總是千變?nèi)f化的,如何通過一種靈活的架構(gòu)來適應(yīng)滿足這種情況,是檢驗(yàn)一個(gè)軟件系統(tǒng)是否強(qiáng)大的標(biāo)志之一。
開放性測試軟件體系結(jié)構(gòu)不同于基于特定應(yīng)用的具體的測試系統(tǒng)軟件, 它要求對測試軟件做很小改動(dòng)就可以在不同的ATE上移植, 最大程度地實(shí)現(xiàn)代碼重用、通用的測試服務(wù)、操作員界面和儀器的可操作性與互換性以及軟件體系結(jié)構(gòu)的標(biāo)準(zhǔn)化。開放性測試軟件體系結(jié)構(gòu)還要求能夠不斷集成新的軟件技術(shù)和標(biāo)準(zhǔn)[4]。
開發(fā)平臺軟件支持用戶將已經(jīng)開發(fā)的TP,通過封裝復(fù)用的形式進(jìn)行代碼重用。包括系統(tǒng)中所有供TP開發(fā)的模塊以及用戶自定義的模塊,均可以通過“熱插拔”的方式供用戶靈活裁剪、擴(kuò)充。
在自定義模塊方面,通用平臺軟件提供給用戶一套可供二次開發(fā)的規(guī)范,通過該規(guī)范,用戶可以自行開發(fā)定制的TP模塊、驅(qū)動(dòng)組件等,以盡可能的利用并發(fā)揮已有的技術(shù)積累成果。軟件通過開放的架構(gòu),可以將用戶的自定義模塊無縫的插入系統(tǒng)當(dāng)中,使得測試功能得到大大的擴(kuò)充。
5 結(jié)束語
本文通過分析國內(nèi)外在ATS領(lǐng)域的相關(guān)測試軟件,針對當(dāng)前TP開發(fā)中存在的可移植性、擴(kuò)展能力以及復(fù)用程度等方面的不足,提出了具有開放性的軟件架構(gòu),采用文中提到的多項(xiàng)技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了通用平臺軟件,為ATS測試軟件的開發(fā)提供了又一種高效、直觀的實(shí)現(xiàn)途徑。
參考文獻(xiàn)
[1] 陸古兵,張林,金傳喜等,基于PXI總線技術(shù)的船用電子設(shè)備自動(dòng)測試系統(tǒng)設(shè)計(jì)[J].測控技術(shù),2009,28(1):70-72.
[2] 任獻(xiàn)彬,牛雙誠,許愛強(qiáng).通用ATS軟件設(shè)計(jì)平臺研究[J].宇航計(jì)測技術(shù),2002,22(5):59-63.
[3] 于勁松,李行善,下一代自動(dòng)測試系統(tǒng)體系結(jié)構(gòu)與關(guān)鍵技術(shù)[J].計(jì)算機(jī)測量與控制,2005.13(1):1-3.
[4] 王學(xué)奇,陳華勇,肖明清. 開放性測試軟件體系結(jié)構(gòu)研究[J]. 微型計(jì)算機(jī)(管控一體化)2005 年第21 卷第10-3 期: 145-147.