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