(1.北京交通大學 機械與電子控制工程學院,北京 100044; 2.北京航天自動控制研究所,北京 100854)
隨著我國軍工技術的快速發展,裝備單機和系統的復雜程度大大提高。自動測試系統已經廣泛應用于軍用電子裝備的研制生產以及使用過程中。為了保證軍用電子裝備在未來戰爭中的作戰效能,裝備單機的測試維護變得越來越重要,這給自動測試技術的發展提出了新的要求[1]。同時面對武器裝備不斷增長的測試需求,如何對裝備進行快速、可靠的測試成為科研和生產單位必須面對的迫切問題。目前,針對具體的測試任務或者具體的測試對象而設計制造的專用的自動測試系統不能適應目前的發展要求,其測試信息不能實現數據的交換,測試信息不能實現復用,設計人員的重復開發從而造成了測試成本的增加。大量的測試數據和測試程序無法實現信息的共享,并且在測試程序開發的過程中存在測試儀器互換性差的問題。基于上述問題,自動測試標識語言(automatic test markup language,ATML)標準的制定給電子裝備的自動化測試提供了新的思路,ATML的提出,允許自動測試設備和測試信息在一種可拓展標識語言(extensible markup language,XML)這一公共的格式下進行信息的交換。實現軟硬件資源以及測試信息復用,增強自動測試系統各個組件之間的互操作性,減少測試系統的開發研究成本[2]。
ATML自動測試標識語言,即IEEE Std 1671標準,是一種測試信息存儲和傳遞的標準[3]。它以XML為統一的格式進行發展,是自動測試領域的XML文件模式,即測試領域的XML。ATML是一個詳細說明設計數據、測試策略和需求、測試程序、測試結果管理以及測試系統執行相關信息的系列標準的集合[1]。ATML標準的制定目的是在自動測試的環境當中能夠支持測試程序、測試資源以及被測設備的互用性。ATML標準通過這一標準媒介來實現在測試系統組件之間交換測試信息以及診斷的信息。
ATML標準的運用將有助于實現:
1)減少測試時間;
2)減少檢修周期;
3)提高測試程序集的可互用性和可移植性;
4)提高測試儀器的可互換性;
5)支持可復用的測試軟件框架結構;
6)使測試軟件和測試軟件開發工具的開發、集成和使用更加簡單;
ATML標準作為自動測試領域的XML標準,其是對自動測試系統的規范,自動測試通常意義上是指能夠對被測對象進行自動的功能、性能指標測試、故障定位、故障診斷的一類系統統稱,其功能通常包括信號激勵、信號測量、數據分析與處理、結果顯示等。ATML框架結構對自動測試系統所必需的元素進行了標準化,其標準中所有的外部接口和內部模型會參考自動測試系統(automatic test system,ATS)以及被測設備UUT。圖1為自動測試標識語言ATML標準與自動測試系統ATS之間的關系。

圖1 ATML組件與ATS的關系
ATML框架以3種不同的方式進行定義:外部接口(External interface),內部模型(internal models)、服務(service)[4]。其中,外部接口有測試描述、儀器描述、被測設備描述、測試配置、測試適配器、測試工作站以及測試結果。內部模型有ATML能力描述以及ATML線纜連接[5]。
在ATML標準中各個組件及相應的XML Schema,內容如表1所示。

表1 ATML組件標準
ATML組件標準[6]對組件的xml schema做出了標準化的描述,其描述模型[7]如下:
公共元素(Common)其提供公共的類型以及屬性的定義,其作為基礎的模式供其他組件的XML schema進行引用。
儀器描述(InstrumentDescription)是對測試儀器能力的描述,一般定義測試儀器的物理接口、儀器的能力與資源、儀器的能力與資源的映射以及資源接口連接到儀器接口。這里主要運用相應的端口以及引腳等信息對測試儀器進行描述。
被測設備描述(UUT Description)其構架對被測設備的信息進行了描述,其中包括:
1)UUT型號,包括所需的型號名稱、所需的部件或者型號可選的版本信息以及可選的制造商信息;
2)UUT的物理特性規格。例如尺寸和重量等特性;
3)UUT物理接口描述,包括連接器、引腳、端口以和數字總線;
4)UUT組件描述(組件的描述細節程度取決于測試的相關要求);
5)UUT功率操作環境和校準要求規范;
6)UUT可能的故障和故障描述。
測試配置(TestConfiguration)主要用來描述在特定的自動測試平臺上測試被測設備所需要的儀器設備資源(如儀器、接口設備、電纜、輔助設備)測試程序軟件以及測試文件。
測試適配器(TestAdapter)用來描述測試工作站與UUT之間的測試適配器的測試能力和結構。
測試工作站(TestStation)用來描述一個完整的測試工作站,包括儀器和測試設備的以及其之間的連接。
自動測試的核心在于產生測試激勵完成對被測設備的測試,而測試描述(TestDescription)作為ATML標準組件中內容最豐富的schema之一,是整個ATML標準的核心組件,與其他組件一起用于開發TPS測試程序。該標準定義了測試性能、測試條件以及診斷需求,并且對測試被測設備的流程以及相關操作進行了定義。測試描述的標準的目的是為了方便那些需要共享UUT測試需求的ATS組件之間的互操作性,如在不同的測試平臺中之間共享測試需求。ATML測試描述文檔的結構如圖2所示。

圖2 TestDescription的結構圖
ATML TestDescription中的主要元素有td:UUT、td:InterfaceRequirement、td:DetailedTestInformation以及td:Extension。測試描述文件主要描述UUT、接口需求、信號需求、詳細測試信息、診斷信息等信息[5]。其中td:UUT中td:Description包含了當前實例文檔中指定測試過程中所需要的UUT的描述性信息。
這部分描述信息可以通過打包數據通過元素td:TestDescription/td:UUT/td:Description/td:DescriptionDocumentReference來參考一個UUT的文件。
除了上述UUT的信息以外還有額外的UUT測試數據,這些數據通過td:UUT/td:TestData元素進行表示,但是這些數據的描述不被UUT的ATML組件標準所定義,但是這寫數據可能被用于開發測試需求以及測試程序。其主要包括以下的數據類別:
1)AC或DC電源,在測試UUT的過程中給設備供電;
2)UUT操作的人員及設備保護所需要的時間;
3)測試UUT所需的特殊的元器件以及專用的工具清單。
對于測試過程中的所需要的必需的固定裝置等適配器信息td:InterfaceRequirement中進行相關的信息描述,其相關信息可以通過td:InterfaceRequirement/td:Fixtures/td:Fixture/td:DescriptionDocumentReference進行打包。
td:DetailedTestInformation作為ATML測試描述文檔中測試程序的描述主要元素,該元素詳細的描述了UUT測試過程中所需要的測試條件以及測試要求,其主要對測試程序結構以及測試過程中的控制流程、數據和相應的測試行為進行規范描述。元素td:DetailedTestInformation的結構如圖3所示。

圖3 DetailedTestInformation結構圖
ATML TestDescription XMLSchema對整個測試描述進行了冗余的設計,用來滿足大部分自動測試系統中相關信息的描述,用戶可以根據自己實際的需求對構架進行精簡。以下是元素td:DetailedTestInformation的子元素描述信息。
其中td:TsfLibraies是對實例文檔中引用的測試信號框架庫TSF(test signal framework)的引用,這些TSF描述了測試描述實例文檔中使用IEEE Std 1641信號的接口以及行為。
元素td:EnterPoints是在測試的過程中,ATE操作人員能夠在執行程序開始的時候選擇測試的入口點,自動測試軟件根據此項的信息自動去選擇測試的入口點,測試描述的實例描述文件中可以指定單個或者多個測試入口。當有多個入口點時,必須指定其中一個是其被指定為“主要”的入口點,這樣在沒有入口點選擇的情況下會選擇主入口測試點。其屬性值為TestGroupID,可以通過其屬性值對測試組進行引用。
元素td:TestGroups表示在測試過程中在UUT上執行的一系列測試,在TestGroups中不直接對Test進行詳細描述,這里只是描述一系列測試的步驟,這種間接允許從多個測試中引用特定的測試組,這種方式促進了可復用的測試程序開發。TestGroups中其測試步驟的順序的子節點可以被分成以下td:Sequence、td:Serial、td:Parallel、td:Unspecified、td:DiagnosticModel分別代表測試組中測試步驟的執行結果執行(類似于故障樹模型)、先后順序執行、測試步驟并行執行、測試步驟任意順序執行以及按照測試過程中的診斷推理進行決定。
元素td:GlobalVariables對測試描述中所有的全局變量進行描述,實現在測試描述文件中的引用。
元素td:SignalRequirements描述被測設備所有的信號需求。
元素td:Faults包含了特定UUT的故障列表。元素td:Failures包含UUT定義的故障列表。
元素td:AutoMaticGeneration確定用于生成測試程序的自動測試程序生成工具。
元素td:Frames應包含通過UUT的數字總線交換的所有幀列表。
元素td:Tests作為測試描述中最重要的一部分,其詳細的規定了每一個測試用例的程序結構并對測試過程的動作、信號需求等信息進行描述。td:Tests元素的結構如圖4所示。

圖4 Tests的結構圖
元素td:Test中屬性主要有名稱、ID、類型等信息的描述,其中td:Description元素對測試用例進行自由文本的描述。元素td:Outcome描述了測試可能出現的所有結果,其元素屬性包括“ID”以及“value”值以及“qualifier”限定符,這里的結果值有“Passed”“Failed”“Done”和“Aborted”。其限定符在需要的時候進行描述。例如與上限和下線值進行比較:
1)value=“Passed”
2)value=“Failed”, qualifier =“High”
3)value=“Failed”, qualifier =“Low”
元素td:TsetResults是測試返回的測試結果,是可以被測量值、計算值或是通過參數和變量接受的值。其子元素td:TestResult/td:ValueDescription用來描述測試結果的值,該描述表示數據類型,單位和可選的標稱值,而不會指定實際的數據,實際的數據值在測試的過程中產生。必要時可以通過元素td:Limit對測試結果進行限制或者對其期望值進行描述。元素td:Parameters是對測試的參數化描述來增加測試在測試描述或者跨多個測試描述的重復使用。元素td:Condition是在測試UUT的過程中必需滿足一定的條件,有前置條件和后置條件之分。
元素td:Behavior是td:Test中最重要的元素,此元素詳細的描述了當前測試行為執行過程中采取的詳細的動作步驟。通常情況下,測試行為的描述包括施加在UUT上的測試激勵,測試UUT的測試回應以及對測量值與限制或者期望值之間的比較。在ATML TestDescription的XML schema中支持以下描述測試行為:通過自由的文本格式、指定單獨的測試組、預定義面向信號的操作序列、引用XML格式的測試定義的專門操作。這些測試行再為td:Behavior中進行定義描述。圖5為Behavior的結構圖。

圖5 Behavior的結構圖
在元素td:Behavior/td:Operations中表示測試行為被指定為預定義的序列操作其包含18類子元素。子元素描述的操作應該按實例文檔的操作順序依次執行。ATML標準預定義了信號操作、定時操作和控制流操作,通過預設定的能夠描述復雜的測試操作,便于文件的解析以及自動測試程序的生成。這里列舉作為最通用的信號5種類型的操作動作:
1)OperationSetup描述信號(信號源或傳感器)的實例化和配置;
2)OperationConnect描述信號與UUT接口上的端口連接或者UUT的端口互聯;
3)OperationChange描述信號的重新配置;
4)OperationRead描述模擬傳感器信號的測量;
5)OperationDisconnect描述連接信號或互連UUT接口的斷開;
6)OperationReset描述信號的復位,通常使信號處于靜止狀態。
上文對ATML標準中測試描述XMLschema進行了描述,通過對典型的測試程序結構的進行描述,實現對測試程序集的開發的具有指導意義。
構建滿足ATML標準體系的自動測試系統是測試系統發展的方向,本文以自動測試系統生成測試激勵為例,簡要說明ATML各組件在自動測試系統中的應用。
針對上文對ATML標準以及各組件簡要分析,以ATML標準中各個組件的關系為基礎,測試開發人員通過配置保存相應ATML測試描述實例文檔,并且對自動測試系統中的資源信息進行相應標準構架下的描述,為測試程序的執行提供相應的信息。基于ATML的自動測試系統的測試激勵運行原理如圖6所示[8-9],實現了包括測試需求信息(信號)的解析、信號能力的匹配以及相應的儀器驅動等以信號激勵為測試的過程。
1)當測試開發人員通過對UUT的組件以及功能結構分析,制定出正確的測試策略,開發配置出基于ATML標準的測試描述實例文檔,軟件平臺通過對測試需求信息的解析,遍歷XML樹形結構中相應存儲測試需求信息的元素節點并確定相應的主測試組。再從測試組相關測試中提取需求信號信息、測試對象信息和測試流程信息;
2)根據測試需求信息中的信號特征信息創建實例化信號組件對象,并傳遞給RTS運行系統,RTS觸發相應的儀器匹配函數,匹配相應的具有需求信息能力的測試儀器(激勵、測試等)。同時RTS運行時服務系統解析儀器描述實例文檔確定測試儀器的測試能力[10],解析被測設備UUT、測試工作站以及測試適配器描述文件的實例文檔,確定物理連接路徑及儀器名稱、儀器地址。將匹配到的儀器根據測試需求信號產生對應的信號[11],最后測試程序根據測試資源描述信息選擇相應的信號通路,產生測試激勵施加給被測設備UUT。下圖是基于ATML測試激勵產生的框圖:

圖6 基于ATML測試激勵產生框圖
ATML標準對自動測試系統ATS中各個部分進行了標準化描述[12-13],其相應的XML實例文檔存儲了各類的測試信息,基于ATML描述測試信息應用于某型信息處理系統的功能測試,解決了自動測試系統以下問題:
1)針對專用測試系統通用性差的問題,ATML標準的應用提高了測試程序的可移植,通過對其進行標準化描述,還可以實現對測試程序信息進行擴展,使得基于ATML標準開發的自動測試系統通用性更強。
2)測試描述中通過對測試需求信號的描述以及相關測試儀器能力、資源、接口以及相互映射關系的描述,為面向信號的自動測試系統的設計提供支撐,有效地解決測試過程中儀器可互換的問題。
3)XML文檔存儲的各類測試信息,能夠有效地解決測試開發環境中信息的交換,大大縮短系統開發運行的時間,極大提高測試數據共享交互的通用性。
測試信息的標準化是實現自動測試系統信息交換的關鍵,ATML標準測試信息描述在下一代自動測試系統中具有顯著的作用,特別是在軍用測試領域。本文首先分析了ATML標準的框架、組件描述信息、以及測試描述的詳細介紹,為測試程序集的開發以及測試激勵的產生方法提供了參考。