(1.北京交通大學(xué) 機(jī)械與電子控制工程學(xué)院,北京 100044; 2.北京航天自動控制研究所,北京 100854)
隨著我國軍工技術(shù)的快速發(fā)展,裝備單機(jī)和系統(tǒng)的復(fù)雜程度大大提高。自動測試系統(tǒng)已經(jīng)廣泛應(yīng)用于軍用電子裝備的研制生產(chǎn)以及使用過程中。為了保證軍用電子裝備在未來戰(zhàn)爭中的作戰(zhàn)效能,裝備單機(jī)的測試維護(hù)變得越來越重要,這給自動測試技術(shù)的發(fā)展提出了新的要求[1]。同時面對武器裝備不斷增長的測試需求,如何對裝備進(jìn)行快速、可靠的測試成為科研和生產(chǎn)單位必須面對的迫切問題。目前,針對具體的測試任務(wù)或者具體的測試對象而設(shè)計制造的專用的自動測試系統(tǒng)不能適應(yīng)目前的發(fā)展要求,其測試信息不能實現(xiàn)數(shù)據(jù)的交換,測試信息不能實現(xiàn)復(fù)用,設(shè)計人員的重復(fù)開發(fā)從而造成了測試成本的增加。大量的測試數(shù)據(jù)和測試程序無法實現(xiàn)信息的共享,并且在測試程序開發(fā)的過程中存在測試儀器互換性差的問題?;谏鲜鰡栴},自動測試標(biāo)識語言(automatic test markup language,ATML)標(biāo)準(zhǔn)的制定給電子裝備的自動化測試提供了新的思路,ATML的提出,允許自動測試設(shè)備和測試信息在一種可拓展標(biāo)識語言(extensible markup language,XML)這一公共的格式下進(jìn)行信息的交換。實現(xiàn)軟硬件資源以及測試信息復(fù)用,增強自動測試系統(tǒng)各個組件之間的互操作性,減少測試系統(tǒng)的開發(fā)研究成本[2]。
ATML自動測試標(biāo)識語言,即IEEE Std 1671標(biāo)準(zhǔn),是一種測試信息存儲和傳遞的標(biāo)準(zhǔn)[3]。它以XML為統(tǒng)一的格式進(jìn)行發(fā)展,是自動測試領(lǐng)域的XML文件模式,即測試領(lǐng)域的XML。ATML是一個詳細(xì)說明設(shè)計數(shù)據(jù)、測試策略和需求、測試程序、測試結(jié)果管理以及測試系統(tǒng)執(zhí)行相關(guān)信息的系列標(biāo)準(zhǔn)的集合[1]。ATML標(biāo)準(zhǔn)的制定目的是在自動測試的環(huán)境當(dāng)中能夠支持測試程序、測試資源以及被測設(shè)備的互用性。ATML標(biāo)準(zhǔn)通過這一標(biāo)準(zhǔn)媒介來實現(xiàn)在測試系統(tǒng)組件之間交換測試信息以及診斷的信息。
ATML標(biāo)準(zhǔn)的運用將有助于實現(xiàn):
1)減少測試時間;
2)減少檢修周期;
3)提高測試程序集的可互用性和可移植性;
4)提高測試儀器的可互換性;
5)支持可復(fù)用的測試軟件框架結(jié)構(gòu);
6)使測試軟件和測試軟件開發(fā)工具的開發(fā)、集成和使用更加簡單;
ATML標(biāo)準(zhǔn)作為自動測試領(lǐng)域的XML標(biāo)準(zhǔn),其是對自動測試系統(tǒng)的規(guī)范,自動測試通常意義上是指能夠?qū)Ρ粶y對象進(jìn)行自動的功能、性能指標(biāo)測試、故障定位、故障診斷的一類系統(tǒng)統(tǒng)稱,其功能通常包括信號激勵、信號測量、數(shù)據(jù)分析與處理、結(jié)果顯示等。ATML框架結(jié)構(gòu)對自動測試系統(tǒng)所必需的元素進(jìn)行了標(biāo)準(zhǔn)化,其標(biāo)準(zhǔn)中所有的外部接口和內(nèi)部模型會參考自動測試系統(tǒng)(automatic test system,ATS)以及被測設(shè)備UUT。圖1為自動測試標(biāo)識語言ATML標(biāo)準(zhǔn)與自動測試系統(tǒng)ATS之間的關(guān)系。
圖1 ATML組件與ATS的關(guān)系
ATML框架以3種不同的方式進(jìn)行定義:外部接口(External interface),內(nèi)部模型(internal models)、服務(wù)(service)[4]。其中,外部接口有測試描述、儀器描述、被測設(shè)備描述、測試配置、測試適配器、測試工作站以及測試結(jié)果。內(nèi)部模型有ATML能力描述以及ATML線纜連接[5]。
在ATML標(biāo)準(zhǔn)中各個組件及相應(yīng)的XML Schema,內(nèi)容如表1所示。
表1 ATML組件標(biāo)準(zhǔn)
ATML組件標(biāo)準(zhǔn)[6]對組件的xml schema做出了標(biāo)準(zhǔn)化的描述,其描述模型[7]如下:
公共元素(Common)其提供公共的類型以及屬性的定義,其作為基礎(chǔ)的模式供其他組件的XML schema進(jìn)行引用。
儀器描述(InstrumentDescription)是對測試儀器能力的描述,一般定義測試儀器的物理接口、儀器的能力與資源、儀器的能力與資源的映射以及資源接口連接到儀器接口。這里主要運用相應(yīng)的端口以及引腳等信息對測試儀器進(jìn)行描述。
被測設(shè)備描述(UUT Description)其構(gòu)架對被測設(shè)備的信息進(jìn)行了描述,其中包括:
1)UUT型號,包括所需的型號名稱、所需的部件或者型號可選的版本信息以及可選的制造商信息;
2)UUT的物理特性規(guī)格。例如尺寸和重量等特性;
3)UUT物理接口描述,包括連接器、引腳、端口以和數(shù)字總線;
4)UUT組件描述(組件的描述細(xì)節(jié)程度取決于測試的相關(guān)要求);
5)UUT功率操作環(huán)境和校準(zhǔn)要求規(guī)范;
6)UUT可能的故障和故障描述。
測試配置(TestConfiguration)主要用來描述在特定的自動測試平臺上測試被測設(shè)備所需要的儀器設(shè)備資源(如儀器、接口設(shè)備、電纜、輔助設(shè)備)測試程序軟件以及測試文件。
測試適配器(TestAdapter)用來描述測試工作站與UUT之間的測試適配器的測試能力和結(jié)構(gòu)。
測試工作站(TestStation)用來描述一個完整的測試工作站,包括儀器和測試設(shè)備的以及其之間的連接。
自動測試的核心在于產(chǎn)生測試激勵完成對被測設(shè)備的測試,而測試描述(TestDescription)作為ATML標(biāo)準(zhǔn)組件中內(nèi)容最豐富的schema之一,是整個ATML標(biāo)準(zhǔn)的核心組件,與其他組件一起用于開發(fā)TPS測試程序。該標(biāo)準(zhǔn)定義了測試性能、測試條件以及診斷需求,并且對測試被測設(shè)備的流程以及相關(guān)操作進(jìn)行了定義。測試描述的標(biāo)準(zhǔn)的目的是為了方便那些需要共享UUT測試需求的ATS組件之間的互操作性,如在不同的測試平臺中之間共享測試需求。ATML測試描述文檔的結(jié)構(gòu)如圖2所示。
圖2 TestDescription的結(jié)構(gòu)圖
ATML TestDescription中的主要元素有td:UUT、td:InterfaceRequirement、td:DetailedTestInformation以及td:Extension。測試描述文件主要描述UUT、接口需求、信號需求、詳細(xì)測試信息、診斷信息等信息[5]。其中td:UUT中td:Description包含了當(dāng)前實例文檔中指定測試過程中所需要的UUT的描述性信息。
這部分描述信息可以通過打包數(shù)據(jù)通過元素td:TestDescription/td:UUT/td:Description/td:DescriptionDocumentReference來參考一個UUT的文件。
除了上述UUT的信息以外還有額外的UUT測試數(shù)據(jù),這些數(shù)據(jù)通過td:UUT/td:TestData元素進(jìn)行表示,但是這些數(shù)據(jù)的描述不被UUT的ATML組件標(biāo)準(zhǔn)所定義,但是這寫數(shù)據(jù)可能被用于開發(fā)測試需求以及測試程序。其主要包括以下的數(shù)據(jù)類別:
1)AC或DC電源,在測試UUT的過程中給設(shè)備供電;
2)UUT操作的人員及設(shè)備保護(hù)所需要的時間;
3)測試UUT所需的特殊的元器件以及專用的工具清單。
對于測試過程中的所需要的必需的固定裝置等適配器信息td:InterfaceRequirement中進(jìn)行相關(guān)的信息描述,其相關(guān)信息可以通過td:InterfaceRequirement/td:Fixtures/td:Fixture/td:DescriptionDocumentReference進(jìn)行打包。
td:DetailedTestInformation作為ATML測試描述文檔中測試程序的描述主要元素,該元素詳細(xì)的描述了UUT測試過程中所需要的測試條件以及測試要求,其主要對測試程序結(jié)構(gòu)以及測試過程中的控制流程、數(shù)據(jù)和相應(yīng)的測試行為進(jìn)行規(guī)范描述。元素td:DetailedTestInformation的結(jié)構(gòu)如圖3所示。
圖3 DetailedTestInformation結(jié)構(gòu)圖
ATML TestDescription XMLSchema對整個測試描述進(jìn)行了冗余的設(shè)計,用來滿足大部分自動測試系統(tǒng)中相關(guān)信息的描述,用戶可以根據(jù)自己實際的需求對構(gòu)架進(jìn)行精簡。以下是元素td:DetailedTestInformation的子元素描述信息。
其中td:TsfLibraies是對實例文檔中引用的測試信號框架庫TSF(test signal framework)的引用,這些TSF描述了測試描述實例文檔中使用IEEE Std 1641信號的接口以及行為。
元素td:EnterPoints是在測試的過程中,ATE操作人員能夠在執(zhí)行程序開始的時候選擇測試的入口點,自動測試軟件根據(jù)此項的信息自動去選擇測試的入口點,測試描述的實例描述文件中可以指定單個或者多個測試入口。當(dāng)有多個入口點時,必須指定其中一個是其被指定為“主要”的入口點,這樣在沒有入口點選擇的情況下會選擇主入口測試點。其屬性值為TestGroupID,可以通過其屬性值對測試組進(jìn)行引用。
元素td:TestGroups表示在測試過程中在UUT上執(zhí)行的一系列測試,在TestGroups中不直接對Test進(jìn)行詳細(xì)描述,這里只是描述一系列測試的步驟,這種間接允許從多個測試中引用特定的測試組,這種方式促進(jìn)了可復(fù)用的測試程序開發(fā)。TestGroups中其測試步驟的順序的子節(jié)點可以被分成以下td:Sequence、td:Serial、td:Parallel、td:Unspecified、td:DiagnosticModel分別代表測試組中測試步驟的執(zhí)行結(jié)果執(zhí)行(類似于故障樹模型)、先后順序執(zhí)行、測試步驟并行執(zhí)行、測試步驟任意順序執(zhí)行以及按照測試過程中的診斷推理進(jìn)行決定。
元素td:GlobalVariables對測試描述中所有的全局變量進(jìn)行描述,實現(xiàn)在測試描述文件中的引用。
元素td:SignalRequirements描述被測設(shè)備所有的信號需求。
元素td:Faults包含了特定UUT的故障列表。元素td:Failures包含UUT定義的故障列表。
元素td:AutoMaticGeneration確定用于生成測試程序的自動測試程序生成工具。
元素td:Frames應(yīng)包含通過UUT的數(shù)字總線交換的所有幀列表。
元素td:Tests作為測試描述中最重要的一部分,其詳細(xì)的規(guī)定了每一個測試用例的程序結(jié)構(gòu)并對測試過程的動作、信號需求等信息進(jìn)行描述。td:Tests元素的結(jié)構(gòu)如圖4所示。
圖4 Tests的結(jié)構(gòu)圖
元素td:Test中屬性主要有名稱、ID、類型等信息的描述,其中td:Description元素對測試用例進(jìn)行自由文本的描述。元素td:Outcome描述了測試可能出現(xiàn)的所有結(jié)果,其元素屬性包括“ID”以及“value”值以及“qualifier”限定符,這里的結(jié)果值有“Passed”“Failed”“Done”和“Aborted”。其限定符在需要的時候進(jìn)行描述。例如與上限和下線值進(jìn)行比較:
1)value=“Passed”
2)value=“Failed”, qualifier =“High”
3)value=“Failed”, qualifier =“Low”
元素td:TsetResults是測試返回的測試結(jié)果,是可以被測量值、計算值或是通過參數(shù)和變量接受的值。其子元素td:TestResult/td:ValueDescription用來描述測試結(jié)果的值,該描述表示數(shù)據(jù)類型,單位和可選的標(biāo)稱值,而不會指定實際的數(shù)據(jù),實際的數(shù)據(jù)值在測試的過程中產(chǎn)生。必要時可以通過元素td:Limit對測試結(jié)果進(jìn)行限制或者對其期望值進(jìn)行描述。元素td:Parameters是對測試的參數(shù)化描述來增加測試在測試描述或者跨多個測試描述的重復(fù)使用。元素td:Condition是在測試UUT的過程中必需滿足一定的條件,有前置條件和后置條件之分。
元素td:Behavior是td:Test中最重要的元素,此元素詳細(xì)的描述了當(dāng)前測試行為執(zhí)行過程中采取的詳細(xì)的動作步驟。通常情況下,測試行為的描述包括施加在UUT上的測試激勵,測試UUT的測試回應(yīng)以及對測量值與限制或者期望值之間的比較。在ATML TestDescription的XML schema中支持以下描述測試行為:通過自由的文本格式、指定單獨的測試組、預(yù)定義面向信號的操作序列、引用XML格式的測試定義的專門操作。這些測試行再為td:Behavior中進(jìn)行定義描述。圖5為Behavior的結(jié)構(gòu)圖。
圖5 Behavior的結(jié)構(gòu)圖
在元素td:Behavior/td:Operations中表示測試行為被指定為預(yù)定義的序列操作其包含18類子元素。子元素描述的操作應(yīng)該按實例文檔的操作順序依次執(zhí)行。ATML標(biāo)準(zhǔn)預(yù)定義了信號操作、定時操作和控制流操作,通過預(yù)設(shè)定的能夠描述復(fù)雜的測試操作,便于文件的解析以及自動測試程序的生成。這里列舉作為最通用的信號5種類型的操作動作:
1)OperationSetup描述信號(信號源或傳感器)的實例化和配置;
2)OperationConnect描述信號與UUT接口上的端口連接或者UUT的端口互聯(lián);
3)OperationChange描述信號的重新配置;
4)OperationRead描述模擬傳感器信號的測量;
5)OperationDisconnect描述連接信號或互連UUT接口的斷開;
6)OperationReset描述信號的復(fù)位,通常使信號處于靜止?fàn)顟B(tài)。
上文對ATML標(biāo)準(zhǔn)中測試描述XMLschema進(jìn)行了描述,通過對典型的測試程序結(jié)構(gòu)的進(jìn)行描述,實現(xiàn)對測試程序集的開發(fā)的具有指導(dǎo)意義。
構(gòu)建滿足ATML標(biāo)準(zhǔn)體系的自動測試系統(tǒng)是測試系統(tǒng)發(fā)展的方向,本文以自動測試系統(tǒng)生成測試激勵為例,簡要說明ATML各組件在自動測試系統(tǒng)中的應(yīng)用。
針對上文對ATML標(biāo)準(zhǔn)以及各組件簡要分析,以ATML標(biāo)準(zhǔn)中各個組件的關(guān)系為基礎(chǔ),測試開發(fā)人員通過配置保存相應(yīng)ATML測試描述實例文檔,并且對自動測試系統(tǒng)中的資源信息進(jìn)行相應(yīng)標(biāo)準(zhǔn)構(gòu)架下的描述,為測試程序的執(zhí)行提供相應(yīng)的信息?;贏TML的自動測試系統(tǒng)的測試激勵運行原理如圖6所示[8-9],實現(xiàn)了包括測試需求信息(信號)的解析、信號能力的匹配以及相應(yīng)的儀器驅(qū)動等以信號激勵為測試的過程。
1)當(dāng)測試開發(fā)人員通過對UUT的組件以及功能結(jié)構(gòu)分析,制定出正確的測試策略,開發(fā)配置出基于ATML標(biāo)準(zhǔn)的測試描述實例文檔,軟件平臺通過對測試需求信息的解析,遍歷XML樹形結(jié)構(gòu)中相應(yīng)存儲測試需求信息的元素節(jié)點并確定相應(yīng)的主測試組。再從測試組相關(guān)測試中提取需求信號信息、測試對象信息和測試流程信息;
2)根據(jù)測試需求信息中的信號特征信息創(chuàng)建實例化信號組件對象,并傳遞給RTS運行系統(tǒng),RTS觸發(fā)相應(yīng)的儀器匹配函數(shù),匹配相應(yīng)的具有需求信息能力的測試儀器(激勵、測試等)。同時RTS運行時服務(wù)系統(tǒng)解析儀器描述實例文檔確定測試儀器的測試能力[10],解析被測設(shè)備UUT、測試工作站以及測試適配器描述文件的實例文檔,確定物理連接路徑及儀器名稱、儀器地址。將匹配到的儀器根據(jù)測試需求信號產(chǎn)生對應(yīng)的信號[11],最后測試程序根據(jù)測試資源描述信息選擇相應(yīng)的信號通路,產(chǎn)生測試激勵施加給被測設(shè)備UUT。下圖是基于ATML測試激勵產(chǎn)生的框圖:
圖6 基于ATML測試激勵產(chǎn)生框圖
ATML標(biāo)準(zhǔn)對自動測試系統(tǒng)ATS中各個部分進(jìn)行了標(biāo)準(zhǔn)化描述[12-13],其相應(yīng)的XML實例文檔存儲了各類的測試信息,基于ATML描述測試信息應(yīng)用于某型信息處理系統(tǒng)的功能測試,解決了自動測試系統(tǒng)以下問題:
1)針對專用測試系統(tǒng)通用性差的問題,ATML標(biāo)準(zhǔn)的應(yīng)用提高了測試程序的可移植,通過對其進(jìn)行標(biāo)準(zhǔn)化描述,還可以實現(xiàn)對測試程序信息進(jìn)行擴(kuò)展,使得基于ATML標(biāo)準(zhǔn)開發(fā)的自動測試系統(tǒng)通用性更強。
2)測試描述中通過對測試需求信號的描述以及相關(guān)測試儀器能力、資源、接口以及相互映射關(guān)系的描述,為面向信號的自動測試系統(tǒng)的設(shè)計提供支撐,有效地解決測試過程中儀器可互換的問題。
3)XML文檔存儲的各類測試信息,能夠有效地解決測試開發(fā)環(huán)境中信息的交換,大大縮短系統(tǒng)開發(fā)運行的時間,極大提高測試數(shù)據(jù)共享交互的通用性。
測試信息的標(biāo)準(zhǔn)化是實現(xiàn)自動測試系統(tǒng)信息交換的關(guān)鍵,ATML標(biāo)準(zhǔn)測試信息描述在下一代自動測試系統(tǒng)中具有顯著的作用,特別是在軍用測試領(lǐng)域。本文首先分析了ATML標(biāo)準(zhǔn)的框架、組件描述信息、以及測試描述的詳細(xì)介紹,為測試程序集的開發(fā)以及測試激勵的產(chǎn)生方法提供了參考。