《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 一種面向應(yīng)用的測(cè)試任務(wù)自動(dòng)生成與運(yùn)行方法
一種面向應(yīng)用的測(cè)試任務(wù)自動(dòng)生成與運(yùn)行方法
杜德鑫, 孫繼銀, 張翼飛
第二炮兵工程學(xué)院四系, 陜西 西安710025
摘要: 針對(duì)ATS工程應(yīng)用中測(cè)試任務(wù)開(kāi)發(fā)難度大、維護(hù)成本高的問(wèn)題,分析軟件測(cè)試自動(dòng)化中的腳本技術(shù),設(shè)計(jì)了一套新的腳本規(guī)范,提出了一種面向應(yīng)用的測(cè)試任務(wù)自動(dòng)生成與運(yùn)行方法?;谠摲椒?,構(gòu)建了ATS通用開(kāi)發(fā)平臺(tái)的軟件體系結(jié)構(gòu)。分析了其中的層次結(jié)構(gòu)、模塊功能、接口標(biāo)準(zhǔn),介紹了該方法的具體實(shí)現(xiàn)過(guò)程。實(shí)際應(yīng)用表明,該方法實(shí)現(xiàn)了測(cè)試系統(tǒng)的任務(wù)重構(gòu)、系統(tǒng)擴(kuò)展和測(cè)試任務(wù)生成與運(yùn)行的零編程,提高了ATS軟件的開(kāi)發(fā)效率。
Abstract:
Key words :

摘 要: 針對(duì)ATS工程應(yīng)用中測(cè)試任務(wù)開(kāi)發(fā)難度大、維護(hù)成本高的問(wèn)題,分析軟件測(cè)試自動(dòng)化中的腳本技術(shù),設(shè)計(jì)了一套新的腳本規(guī)范,提出了一種面向應(yīng)用的測(cè)試任務(wù)自動(dòng)生成與運(yùn)行方法?;谠摲椒?,構(gòu)建了ATS通用開(kāi)發(fā)平臺(tái)的軟件體系結(jié)構(gòu)。分析了其中的層次結(jié)構(gòu)、模塊功能、接口標(biāo)準(zhǔn),介紹了該方法的具體實(shí)現(xiàn)過(guò)程。實(shí)際應(yīng)用表明,該方法實(shí)現(xiàn)了測(cè)試系統(tǒng)的任務(wù)重構(gòu)、系統(tǒng)擴(kuò)展和測(cè)試任務(wù)生成與運(yùn)行的零編程,提高了ATS軟件的開(kāi)發(fā)效率。
關(guān)鍵詞: ATS; 測(cè)試任務(wù); 零編程; 腳本技術(shù)

  目前虛擬儀器ATS(自動(dòng)測(cè)試系統(tǒng))的研究是國(guó)內(nèi)外測(cè)試領(lǐng)域的研究熱點(diǎn),其研究方向主要集中在TPS[1]的可移植性、ATE的互換性和軟件模塊的可重用性上,形成了基于儀器[1]、基于信號(hào)[2]、基于組件[1]的三類(lèi)較為成熟的ATS軟件體系結(jié)構(gòu),但同時(shí)也不難看到測(cè)試人員開(kāi)發(fā)和維護(hù)測(cè)試系統(tǒng)的難度正不斷增大,這嚴(yán)重制約著ATS的推廣應(yīng)用。
  傳統(tǒng)的測(cè)試任務(wù)生成方法,不僅開(kāi)發(fā)難度大、維護(hù)成本高,而且需要測(cè)試人員既要懂得測(cè)試原理,也要有扎實(shí)的程序設(shè)計(jì)基礎(chǔ)。當(dāng)前國(guó)際通用的自動(dòng)測(cè)試語(yǔ)言——ATLAS[3],作為面向被測(cè)單元而與測(cè)試儀器無(wú)關(guān)的信號(hào)描述語(yǔ)言,實(shí)現(xiàn)了測(cè)試程序與ATE(自動(dòng)測(cè)試設(shè)備)的無(wú)關(guān)性,但基于該語(yǔ)言的ATS開(kāi)發(fā)成本極高,同時(shí)也需要開(kāi)發(fā)人員花大量時(shí)間掌握紛繁的ATLAS語(yǔ)言結(jié)構(gòu)。這都與一般工程應(yīng)用實(shí)際的要求存在著較大差距。為此通過(guò)借鑒軟件測(cè)試自動(dòng)化中的腳本技術(shù)[4],并結(jié)合虛擬儀器成熟的軟件框架結(jié)構(gòu),提出面向應(yīng)用的測(cè)試任務(wù)自動(dòng)生成與運(yùn)行方法,實(shí)現(xiàn)從傳統(tǒng)用代碼操作PXI儀器的開(kāi)發(fā)方式轉(zhuǎn)換為面向應(yīng)用的開(kāi)發(fā)方式,有效解決在變更測(cè)試任務(wù)需求時(shí),傳統(tǒng)自動(dòng)化測(cè)試方法難以快速適應(yīng)的問(wèn)題。
  該方法的核心思想是利用測(cè)試人員熟悉儀器操作,為測(cè)試人員設(shè)計(jì)一個(gè)操作和測(cè)試程序相對(duì)應(yīng)的自動(dòng)生成、運(yùn)行平臺(tái),力求實(shí)現(xiàn)測(cè)試用戶(hù)開(kāi)發(fā)測(cè)試系統(tǒng)的零編程 [5]。本文將重點(diǎn)介紹該方法所基于的平臺(tái)軟件體系結(jié)構(gòu)以及各功能模塊的功能、組成和接口情況。
1 通用ATS開(kāi)發(fā)平臺(tái)的軟件體系結(jié)構(gòu)設(shè)計(jì)
  結(jié)合現(xiàn)有的ATS軟件體系結(jié)構(gòu)、分層思想,設(shè)計(jì)基于該技術(shù)的通用ATS開(kāi)發(fā)平臺(tái)軟件體系結(jié)構(gòu)[6]如圖1所示,其中實(shí)線(xiàn)箭頭表示實(shí)際存在的調(diào)用關(guān)系,虛線(xiàn)表示存在的間接的調(diào)用關(guān)系。整個(gè)故障測(cè)試系統(tǒng)分為四層,下層通過(guò)組件技術(shù)封裝成動(dòng)態(tài)鏈接庫(kù)的形式供上層調(diào)用,這樣方便系統(tǒng)的維護(hù),模塊化的開(kāi)發(fā)也將有利于提高開(kāi)發(fā)效率。各層具體功能如下: 

  (1) 測(cè)試任務(wù)管理層
  每一個(gè)測(cè)試項(xiàng)目都分為若干個(gè)測(cè)試單元,每個(gè)測(cè)試單元由多個(gè)測(cè)試模塊組成,一個(gè)測(cè)試模塊由多個(gè)元器件組成,對(duì)測(cè)試單元、測(cè)試模塊、元器件分別添加測(cè)試任務(wù)就能完成不同規(guī)模、不同層次的測(cè)試。在管理層就是完成測(cè)試項(xiàng)目流程庫(kù)的構(gòu)建,是自動(dòng)測(cè)試的前提。
  (2) 儀器管理層
  該層作為中間層,主要實(shí)現(xiàn)向上提供統(tǒng)一的調(diào)用接口,對(duì)下層的儀器模塊實(shí)現(xiàn)管理。另外,該層還完成腳本的管理、編輯,在該層實(shí)現(xiàn)測(cè)試任務(wù)腳本的生成。
  (3) 儀器模塊層
  該層由具體的儀器模塊組成,一個(gè)儀器模塊外部由儀器軟面板構(gòu)成,內(nèi)部主要包含針對(duì)該儀器的三個(gè)功能模塊:直接運(yùn)行、腳本生成、腳本解釋器。腳本解釋器功能模塊供腳本執(zhí)行層調(diào)用,它是測(cè)試任務(wù)管理層實(shí)現(xiàn)自動(dòng)測(cè)試的基礎(chǔ)。腳本生成功能模塊主要提供給儀器管理層完成測(cè)試任務(wù)腳本的生成。
  (4) 腳本執(zhí)行層
  該層作為儀器管理層的腳本管理功能的具體實(shí)現(xiàn),供測(cè)試任務(wù)管理層在測(cè)試任務(wù)執(zhí)行時(shí)調(diào)用,主要完成根據(jù)不同的腳本語(yǔ)句第一個(gè)標(biāo)識(shí)符(邏輯設(shè)備名或其他腳本控制標(biāo)識(shí)),將測(cè)試任務(wù)的腳本分發(fā)給不同儀器的解釋器解釋執(zhí)行。
  四層功能既相互獨(dú)立,又相互依存。面向應(yīng)用的測(cè)試任務(wù)自動(dòng)生成與運(yùn)行方法以整個(gè)軟件框架為依托,是整個(gè)測(cè)試系統(tǒng)的核心思想。
2 腳本規(guī)范設(shè)計(jì)
  為了保證腳本的統(tǒng)一解釋運(yùn)行,使得測(cè)試運(yùn)行時(shí)具有良好的交互性,通過(guò)借鑒成熟的軟件自動(dòng)測(cè)試中的關(guān)鍵字驅(qū)動(dòng)腳本技術(shù)[3],并且利用IVI中通用驅(qū)動(dòng)函數(shù)庫(kù),定義了一套腳本規(guī)范,包括儀器操作腳本集、運(yùn)行提示腳本集、腳本注釋集、腳本延時(shí)運(yùn)行集、并行腳本。
  (1) 儀器操作腳本集中語(yǔ)句語(yǔ)法格式定義為:
  DevName,OPERAT,(Para 1,...,Para n),(RetPara), RetType;
  其中:DevName為邏輯設(shè)備名,例如,“AFA”(音頻分析儀),“DMM”(數(shù)字萬(wàn)用表);OPERAT為儀器操作定義,例如,“CONFIG”(配置),“OPEN”(打開(kāi)),“CLOSE”(關(guān)閉);Para n為儀器參數(shù),例如,輸出信號(hào)的頻率、幅值,輸入信號(hào)的采樣頻率、采樣點(diǎn)數(shù)等,其順序關(guān)系確定后就被固定下來(lái);RetPara為返回參數(shù),指定該次測(cè)試需要返回的測(cè)量值;RetType為返回類(lèi)型,將測(cè)量值按照指定的數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換。
  (2) 運(yùn)行提示腳本集定義如下:
  MSG,STRING,這是操作提示,NORET; MSG,END,NORET;
  (3) 腳本注釋集:
  COMMENT,這是腳本注釋;
  (4) 腳本延時(shí)運(yùn)行集:
  DELAY,延時(shí)值(雙精度數(shù)值);
  (5) 并行腳本集:
  SUBSCRIPT_BEGIN,并行腳本標(biāo)識(shí);
  SUBSCRIPT_END,并行腳本標(biāo)識(shí);
  SUBSCRIPT_START,并行腳本標(biāo)識(shí)。
3 儀器模塊設(shè)計(jì)
  為了儀器管理層更好地管理、維護(hù)儀器模塊,利用制定儀器模塊統(tǒng)一的開(kāi)發(fā)方法和接口標(biāo)準(zhǔn),具體的開(kāi)發(fā)步驟如下:
  (1) 分析該儀器的功能、參數(shù)、驅(qū)動(dòng)函數(shù)情況,利用腳本規(guī)范制定該模塊的腳本語(yǔ)句;
  (2) 設(shè)計(jì)該儀器模塊的軟界面;
  (3) 完成該模塊直接運(yùn)行模式、腳本生成模式和對(duì)應(yīng)解釋器功能實(shí)現(xiàn);
  (4) 封裝該模塊成動(dòng)態(tài)鏈接庫(kù),提供統(tǒng)一的三個(gè)接口供上層調(diào)用,具體接口如下:
  int DevNameInterpreter(char *lineScript, void *PTESTTABLE); //解釋器入口 
  int LaunchDevNameDevice(void *PTESTTABLE);//儀器面板入口
  int EnforceCloseDevNameDevice(void *PTESTTABLE);//強(qiáng)制關(guān)閉儀器入口
  其中DevName指定義的邏輯設(shè)備名,例如數(shù)字萬(wàn)用表定義為DMMInterpreter,*lineScript指?jìng)鬟f給該解釋器解釋執(zhí)行的腳本指針,*PTESTTABLE指整個(gè)系統(tǒng)的配置文件指針,從該文件讀入儀器資源符,返回值的指針等信息。在直接運(yùn)行模式下,儀器的操作按鈕直接調(diào)用儀器驅(qū)動(dòng)庫(kù)函數(shù)完成相應(yīng)功能。在腳本生成模式下,儀器操作按鈕觸發(fā)腳本生成,腳本生成器將儀器參數(shù)作為操作屬性按照腳本規(guī)范中的定義組成一條有效的操作腳本語(yǔ)句生成給用戶(hù)。儀器模塊中的解釋器將有效腳本解釋成儀器驅(qū)動(dòng)函數(shù)庫(kù)中的具體函數(shù),并調(diào)用具體函數(shù)操作。
  以射頻信號(hào)源為例,根據(jù)腳本規(guī)范定義其所需的初始化、配置參數(shù)、上變頻、停止腳本語(yǔ)句分別如下:
  RFSG,INIT,信號(hào)源資源名,上變頻資源名,NORET;
  RFSG,CONFIG,調(diào)制模式,載波頻率,調(diào)制頻率,調(diào)制頻偏,NORET;
  RFSG,UPCONVERT,載波輸出,輸出功率電平,載波帶寬,NORET;
  RFSG,STOP,NORET;
  射頻信號(hào)源的軟面板儀器操作與腳本之間對(duì)應(yīng)的關(guān)系如圖2所示。

4 測(cè)試任務(wù)自動(dòng)生成與運(yùn)行的實(shí)現(xiàn)
  測(cè)試任務(wù)的自動(dòng)生成首先建立在被測(cè)設(shè)備的全面分析的基礎(chǔ)之上,通過(guò)分析理清被測(cè)設(shè)備輸入和待測(cè)信號(hào)的關(guān)系,根據(jù)測(cè)試任務(wù)需求,用戶(hù)在信號(hào)對(duì)應(yīng)的儀器模塊的軟件界面上直接操作儀器,比如使用數(shù)字IO配置信號(hào)通道,使用射頻信號(hào)源發(fā)送射頻信號(hào),使用射頻分析儀進(jìn)行頻譜分析。在對(duì)應(yīng)軟面板操作結(jié)束后,其儀器模塊中的解釋器將完成對(duì)操作記錄的轉(zhuǎn)化,生成相應(yīng)的操作腳本。在一系列操作能滿(mǎn)足測(cè)試需求后,整個(gè)測(cè)試過(guò)程將被以腳本的形式記錄保存。在需要重現(xiàn)某一測(cè)試任務(wù)的測(cè)試過(guò)程時(shí),儀器操作腳本可以被腳本執(zhí)行層統(tǒng)一調(diào)度后解釋執(zhí)行,通過(guò)預(yù)定義的交互接口,調(diào)用程序能方便快捷地得到測(cè)試返回結(jié)果。圖3給出該技術(shù)的基本原理。

  生成的測(cè)試任務(wù)腳本利用測(cè)試任務(wù)管理層可以添加到數(shù)據(jù)庫(kù)中,通過(guò)分析被測(cè)設(shè)備的測(cè)試要求可以構(gòu)建整個(gè)測(cè)試項(xiàng)目的不同層次的測(cè)試任務(wù),比如通信設(shè)備的整機(jī)測(cè)試、板級(jí)測(cè)試、功能模塊測(cè)試、元器件級(jí)測(cè)試。當(dāng)執(zhí)行一個(gè)故障測(cè)試時(shí),測(cè)試任務(wù)的自動(dòng)運(yùn)行由測(cè)試任務(wù)管理層提交測(cè)試腳本給腳本執(zhí)行層開(kāi)始,到腳本執(zhí)行層解釋執(zhí)行完腳本后結(jié)束,測(cè)試項(xiàng)目的自動(dòng)運(yùn)行流程圖如圖4所示。

  面向應(yīng)用的測(cè)試任務(wù)自動(dòng)生成與運(yùn)行技術(shù)實(shí)現(xiàn)了具體測(cè)試系統(tǒng)開(kāi)發(fā)的零編程,用戶(hù)在開(kāi)發(fā)和維護(hù)測(cè)試系統(tǒng)時(shí),只需要關(guān)心被測(cè)設(shè)備的信號(hào)關(guān)系、故障診斷等專(zhuān)業(yè)知識(shí),只要會(huì)使用儀器就會(huì)開(kāi)發(fā)和維護(hù),這將用戶(hù)從底層測(cè)試代碼開(kāi)發(fā)的過(guò)程中解放出來(lái),使得用戶(hù)可以直接關(guān)注于被測(cè)對(duì)象,而不必花費(fèi)太多精力在如何設(shè)計(jì)程序上。由于借助于模塊化的標(biāo)準(zhǔn)開(kāi)發(fā),用戶(hù)自身可以方便地修改某個(gè)模塊或者變更某測(cè)試任務(wù)而不影響整個(gè)系統(tǒng),大大縮短了開(kāi)發(fā)和維護(hù)的難度。
  通過(guò)對(duì)上述通用ATS開(kāi)發(fā)平臺(tái)功能的擴(kuò)張,例如增加測(cè)試任務(wù)管理層中測(cè)試點(diǎn)的電氣特性參數(shù)、實(shí)物圖信息,深化腳本的控制、操作等功能,就能實(shí)現(xiàn)真正意義上的故障測(cè)試通用開(kāi)發(fā)平臺(tái)。利用該方法開(kāi)發(fā)的多個(gè)通信設(shè)備電路板板級(jí)和元器件級(jí)故障測(cè)試系統(tǒng)已交付某單位正式使用,證明了整個(gè)技術(shù)的可行性。
參考文獻(xiàn)
[1] 李寶安,李行善.基于組件的自動(dòng)測(cè)試系統(tǒng)(ATS)軟件體系結(jié)構(gòu)[J].電子測(cè)量與儀器學(xué)報(bào),2002,16(4):74-78.
[2] 林翔,孟晨.基于信號(hào)組件的ATS軟件系統(tǒng)模型[J].儀表技術(shù),2008(6):46-50.
[3] 劉勇,遲華山,許愛(ài)強(qiáng). 新一代通用測(cè)試語(yǔ)言—ATLAS2000[J].國(guó)外電子測(cè)量技術(shù),2006,25(3):52-55.
[4] 凌永發(fā),張?jiān)粕?郭秀萍.軟件測(cè)試自動(dòng)化中的腳本技術(shù)[J]. 云南民族學(xué)院學(xué)報(bào):自然科學(xué)版,2002,11(1):544- 548.
[5] 湯寶平.新一代虛擬儀器—智能控件化虛擬儀器系統(tǒng)  的研究[D].重慶:重慶大學(xué).2003:5-10
[6] 余成波,馮麗輝,潘盛輝.虛擬儀器技術(shù)與設(shè)計(jì)[M].重慶:重慶大學(xué)出版社,2006.7:258-260
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。