測試語言的發展
介紹幾種主要的自動測試系統測試語言,分析了目前測試語言中存在的問題,指出了通用標準測試語言應實現的目標。
關鍵詞:測試語言;TPS;ATS
Development of ATS Test Language
WANG Cheng, MENG Chen, ZHANG Jian
(Ordnance Engineering College, Shijiazhuang 050003, China)
Key words: test language; TPS; ATS
1標準測試語言
測試技術的發展過程中出現了許多測試語言,給測試工程人員之間交流帶來一定困難,而且,測試程序很難移植。因此,需要一門國際通用的標準測試語言。制定標準測試語言的目標如下:
(1)與硬件無關:測試描述應該是使用通用的工程描述語言,不涉及到具體的儀器類型;(2)可移植:即用標準測試語言編寫的TPS可以在不同的平臺之間移植,被測對象的測試結果采用同樣的標準;(3)精確性:標準測試語言對測試描述應該非常精確,沒有任何模糊的自然語言中的描述語句;(4)以英語為基礎:標準測試語言采用英語中的詞匯來描述測試需求,這樣,可以使測試工程人員不用經過特殊培訓就可以看懂用其編制的測試程序;(5)非私有:標準測試語言的說明書可以免費獲得;(6)降低成本:通過標準測試語言的制定,降低程序編制、文檔編制和人員培訓等的成本,這是制定標準測試語言的最重要的目標。?
測試技術的發展過程中出現了許多測試語言,給測試工程人員之間交流帶來一定困難,而且,測試程序很難移植。因此,需要一門國際通用的標準測試語言。制定標準測試語言的目標如下:
(1)與硬件無關:測試描述應該是使用通用的工程描述語言,不涉及到具體的儀器類型;(2)可移植:即用標準測試語言編寫的TPS可以在不同的平臺之間移植,被測對象的測試結果采用同樣的標準;(3)精確性:標準測試語言對測試描述應該非常精確,沒有任何模糊的自然語言中的描述語句;(4)以英語為基礎:標準測試語言采用英語中的詞匯來描述測試需求,這樣,可以使測試工程人員不用經過特殊培訓就可以看懂用其編制的測試程序;(5)非私有:標準測試語言的說明書可以免費獲得;(6)降低成本:通過標準測試語言的制定,降低程序編制、文檔編制和人員培訓等的成本,這是制定標準測試語言的最重要的目標。?
2.1ATLAS語言
ATLAS語言(Abbreviated Test Language for All Systems,所有系統的簡化測試語言)實現了標準測試語言的前五個目標,該語言以英語為基礎,測試人員不經過專門的培訓都可以理解許多ATLAS語句;該語言與硬件無關,測試語句不涉及具體的儀器;該語言是非私有的,雖然該語言說明書的版權由ARINC和IEEE享有,但它們鼓勵免費使用該語言;該語言具有可移植性,在不同平臺上測試,UUT將被相同的標準測試;該語言具有精確性,排除了自然語言中的模糊描述語句。
然而,ATLAS語言制定后,在非官方指定使用該語言的場合外,并沒有成為測試部門的自動選擇。主要是ATLAS語言具有下列不足:
(1)目前市場上沒有一個測試軟件人員可接受價位的ATLAS語言的開發工具。ATLAS語言只是一門測試描述語言(Test Specification Language),要想將ATLAS程序轉化為計算機和自動測試設備能執行的代碼,還需要專門的開發ATLAS語言的工具(工具內應集成有ATLAS語言的編譯器或解釋器),美國TYX公司開發了PAWS軟件為ATLAS軟件提供了一個比較完善的開發平臺,然而,該軟件比較昂貴,測試部門難以承受。(2)學習ATLAS標準比較困難。測試部門選擇ATLAS做為測試語言必須要花大量時間去理解ATLAS標準和培訓測試工程人員。(3)ATLAS語言中提供的程序控制語句不夠完善。例如ATLAS中跳轉語句的實現是指向步驟數的,如:GO TO STEP 00200$,這樣給修改程序,尤其是添加代碼帶來很大不便。(4)和現在主流的測試語言開發環境相比,ATLAS語言提供的人機接口太簡單。ATLAS語言只提供給系統顯示器輸出消息的接口。
2.2GOAL語言
GOAL(Ground Operations Aerospace Language)是一門不嚴格以ATLAS語言為基礎,并吸收了一些高級語言特點的語言。GOAL是一門面向測試工程人員的語言,該語言設計是用在航空器發射環境中的地面測試操作的測試編程語言。該語言包括廣泛的一系列的測試,包括飛行器系統及其子系統的升空前測試和地面控制測試。該語言也被廣泛用于其他的設計領域中。
GOAL語言主要由程序和數據庫集這兩個基本成分組成,另外還包括子程序、宏和非GOAL語言部分。而程序部分包括聲明語句和過程語句。這些語句都象簡單的英語中的命令語句,因此利用該語言編制的測試程序可讀性高,容易維護,而且程序本身自成文檔。數據庫集部分是獨立于程序部分的一個軟件實體,它包含了數據聲明、子程序、測試設備和被測單元的描述,包括測試接點連接等信息。數據庫集就象“中間文件”一樣將測試系統和被測單元聯系起來。?
從1971年10月開始,肯尼迪太空中心的不同部門的工程人員一致評價GOAL語言在該領域中容易理解,可讀性強,易維護,而且應用范圍廣泛。
2.3PLACE語言
PLACE(Programming Language for Automatic Checkout Equipment)是由美國空軍發起的,Battelle Memorial學院開發的一門語言(同時開發了該語言的編譯器)。該語言具有如下特點:
(1)實際上并沒有定義一門非常具體的語言,而只是定義了一個用戶可以在其中定義自己的測試語句的結構;
(2)允許測試人員在測試功能級上對測試要求進行描述,而不涉及到具體ATE的操作。
2.4ELATE語言和DIMATE語言
ELATE是由Hughes Aircraft Company為通用測試設備開發的測試語言,DIMATE(Depot Installed Automatic Test Equipment)是早期美國無線電公司為其多功能測試設備開發的語言。它們都是針對具體ATE應用的面向問題語言的代表。這兩種語言可讀性強,需要編程人員有一定的有效利用的經驗。由于這兩種語言都是針對具體ATE的,因此,一方面語言比較簡單,另一方面語言不具備經過調整用到其他ATE上的靈活性。
2.5ATLAS2K
IEEE SCC20正在制定ATLAS2K標準。ATLAS2K是一個發展中的新標準,與舊版本的ATLAS相比,具有以下特點:(1)面向被測信號源,而不是具體的測試系統。(2)采用面向對象及組件對象模型(COM)技術。(3)實現可擴展性,提供新信號的定義。(4)測試程序具有可移植性。ATLAS2K標準定義了一組功能強大的構件塊,用戶可以通過COM接口方便地訪問和使用它們。?
ATLAS語言(Abbreviated Test Language for All Systems,所有系統的簡化測試語言)實現了標準測試語言的前五個目標,該語言以英語為基礎,測試人員不經過專門的培訓都可以理解許多ATLAS語句;該語言與硬件無關,測試語句不涉及具體的儀器;該語言是非私有的,雖然該語言說明書的版權由ARINC和IEEE享有,但它們鼓勵免費使用該語言;該語言具有可移植性,在不同平臺上測試,UUT將被相同的標準測試;該語言具有精確性,排除了自然語言中的模糊描述語句。
然而,ATLAS語言制定后,在非官方指定使用該語言的場合外,并沒有成為測試部門的自動選擇。主要是ATLAS語言具有下列不足:
(1)目前市場上沒有一個測試軟件人員可接受價位的ATLAS語言的開發工具。ATLAS語言只是一門測試描述語言(Test Specification Language),要想將ATLAS程序轉化為計算機和自動測試設備能執行的代碼,還需要專門的開發ATLAS語言的工具(工具內應集成有ATLAS語言的編譯器或解釋器),美國TYX公司開發了PAWS軟件為ATLAS軟件提供了一個比較完善的開發平臺,然而,該軟件比較昂貴,測試部門難以承受。(2)學習ATLAS標準比較困難。測試部門選擇ATLAS做為測試語言必須要花大量時間去理解ATLAS標準和培訓測試工程人員。(3)ATLAS語言中提供的程序控制語句不夠完善。例如ATLAS中跳轉語句的實現是指向步驟數的,如:GO TO STEP 00200$,這樣給修改程序,尤其是添加代碼帶來很大不便。(4)和現在主流的測試語言開發環境相比,ATLAS語言提供的人機接口太簡單。ATLAS語言只提供給系統顯示器輸出消息的接口。
2.2GOAL語言
GOAL(Ground Operations Aerospace Language)是一門不嚴格以ATLAS語言為基礎,并吸收了一些高級語言特點的語言。GOAL是一門面向測試工程人員的語言,該語言設計是用在航空器發射環境中的地面測試操作的測試編程語言。該語言包括廣泛的一系列的測試,包括飛行器系統及其子系統的升空前測試和地面控制測試。該語言也被廣泛用于其他的設計領域中。
GOAL語言主要由程序和數據庫集這兩個基本成分組成,另外還包括子程序、宏和非GOAL語言部分。而程序部分包括聲明語句和過程語句。這些語句都象簡單的英語中的命令語句,因此利用該語言編制的測試程序可讀性高,容易維護,而且程序本身自成文檔。數據庫集部分是獨立于程序部分的一個軟件實體,它包含了數據聲明、子程序、測試設備和被測單元的描述,包括測試接點連接等信息。數據庫集就象“中間文件”一樣將測試系統和被測單元聯系起來。?
從1971年10月開始,肯尼迪太空中心的不同部門的工程人員一致評價GOAL語言在該領域中容易理解,可讀性強,易維護,而且應用范圍廣泛。
2.3PLACE語言
PLACE(Programming Language for Automatic Checkout Equipment)是由美國空軍發起的,Battelle Memorial學院開發的一門語言(同時開發了該語言的編譯器)。該語言具有如下特點:
(1)實際上并沒有定義一門非常具體的語言,而只是定義了一個用戶可以在其中定義自己的測試語句的結構;
(2)允許測試人員在測試功能級上對測試要求進行描述,而不涉及到具體ATE的操作。
2.4ELATE語言和DIMATE語言
ELATE是由Hughes Aircraft Company為通用測試設備開發的測試語言,DIMATE(Depot Installed Automatic Test Equipment)是早期美國無線電公司為其多功能測試設備開發的語言。它們都是針對具體ATE應用的面向問題語言的代表。這兩種語言可讀性強,需要編程人員有一定的有效利用的經驗。由于這兩種語言都是針對具體ATE的,因此,一方面語言比較簡單,另一方面語言不具備經過調整用到其他ATE上的靈活性。
2.5ATLAS2K
IEEE SCC20正在制定ATLAS2K標準。ATLAS2K是一個發展中的新標準,與舊版本的ATLAS相比,具有以下特點:(1)面向被測信號源,而不是具體的測試系統。(2)采用面向對象及組件對象模型(COM)技術。(3)實現可擴展性,提供新信號的定義。(4)測試程序具有可移植性。ATLAS2K標準定義了一組功能強大的構件塊,用戶可以通過COM接口方便地訪問和使用它們。?
(1)成本問題:包括購買開發語言工具和測試語言培訓等費用;如ATLAS語言的開發工具PAWS軟件十分昂貴,而且測試人員掌握該語言還需要額外的費用;測試語言的出現沒有帶來成本的降低;(2)靈活性和應用范圍的矛盾:如果標準測試語言適用于幾乎所有ATE系統,則制定該語言需要做大量的工作,而且會使一些應用變得復雜;當然測試語言應用范圍太窄也不可能成為標準測試語言,如GOAL語言在衛星測試領域中應用評價很好,但不具備經過簡單修改應用到其他領域的能力。因此,要在應用范圍和靈活性之間折衷,即能夠適用于大多數ATE系統,而且具有經過簡單修改就可以應用到新產生的ATE系統的靈活性;語言應用范圍狹窄;(3)移植性問題:ATLAS語言是所有測試語言中移植性較好的一門語言,但利用ATLAS編寫的TPS也存在移植性問題。ATLAS語言制定初期不直接涉及儀器的功能,但是,隨著計算機和測試儀器技術的迅速發展,ATLAS不能及時對新的儀器功能進行語義方面的補充。為了實現對新儀器的訪問,ATLAS代碼中擴充了許多直接訪問ATE資源的語句,這樣就出現了非ATLAS軟件模塊,即所謂的NAMs。這些NAMs直接參與對儀器一級接口的訪問,而這些接口是由儀器制造商設計和控制的,NAMs則由TPS開發人員設計,導致TPS開發人員直接對物理的儀器設備進行訪問,這種局面的出現使TPS的移植性無法保證;(4)兼容性問題:測試語言發展過程中未能做到完全向上兼容,如IEEE Std 716-1989標準對ATLAS語言的修改對IEEE Std.716-1985標準不能向上兼容,使得用戶采用上一個標準定義的ATLAS語言編寫的TPS在新ATLAS子集下需要做修改才能運行,給用戶帶來很大不便。?
測試語言目前仍處在發展中,還需要做大量工作才能產生標準測試語言。研究具有自主知識產權的通用的標準測試語言對自動測試系統的發展具有重大意義。?
評論
查看更多