余 進 ,劉奇鲙,向 洋
(中國電子科技集團第29研究所 四 川 成 都 6 10036)
自動測試系統的研究工作可以追溯到二十世紀五十年代甚至更早一些,經歷了第一代專用測試系統、第二代積木式自動測試系統和第三代模塊化自動測試系統。但隨著被測對象復雜度的提高,產品測試量的不斷加大,自動測試系統(Automatic Test System,ATS)的結構體系越來越龐大[1,3]。 僅依靠人工經驗進行系統組建和驗證的方法執行過程繁雜,遠遠不能滿足大型測試系統對設計時間和方案優化的要求,自動測試系統測試程序集就成為復雜系統與設備可靠運行的保證。
但是傳統的測試程序集往往面向儀器設備進行開發,與自動測試設備的構成直接相關。測試程序集與測試資源以及所采用的對應測控技術的高度藕合,使得自動測試系統可移植能力差、維護費用高、缺乏系統間的互操作性、難以升級和擴展等諸多不足[2,4]。因此面向信號的軟件結構將是通用自動測試系統的發展方向。
本文提出的測試自動化通用支持平臺為自動測試系統的構建提供了一種較大粒度二進制可重用信號服務部件,使得測試程序中只包含針對被測對象各端口的信號激勵和測試要求,而具體的儀器設備選擇、通道路由等則在自動測試軟件運行時根據信號配置文件完成,自動實現抽象化激勵/測量信號與隱藏真實資源控制之間的匹配。與傳統的直接面向儀器設備的方法相比,測試自動化通用支持平臺將解決自動測試程序對具體儀器設備的依賴問題,當更改資源時不需要對原有的測試程序作任何更改,實現了測試程序集的可移植性和通用性。本文提出的測試自動化通用支持平臺是一種新型的自動測試系統,將有效地縮短開發周期,降低費用。
目前主流的自動測試系統(如圖 1)一般都采用自制測試設備和COTS(商用貨架產品:commercial off-the-shelf)臺式儀器來構建,它兼顧人工產品調試,可以極大地降低整個測試系統的組建、開發、維護、替換和升級的成本[5-7]。

圖1 主流自動測試系統組成示意圖Fig.1 Structure of mainstream automatic test system components
隨著各類測試技術不斷演進,通過軟件定義的模塊化測試系統是未來自動測試發展的趨勢。但如果測試程序集處理不當,勢必造成TPS與具體采用的自動測試設備高度相關,測試序列中的激勵、數據采集、處理、分析、顯示、存儲過程與儀器設備類型、接口連接關系、各類程控技術等耦合度極高
自動測試的實質是激勵與測量,激勵與測量的主體則是UUT(被測對象:Unit Under Test)的各類信號,自動測試過程中ATE的資源配置與使用等各環節的工作都是圍繞信號來展開的。如果自動測試系統的功能結構以分層方式進行分解,將位于此結構最上層的TPS編程對象變為UUT的輸入輸出信號,TPS與ATE的無關性就可以實現,即TPS與測試資源及所采用的對應測控技術相互隔離[8-10]。
進一步,我們可以基于信號建立一套完整、有效的測試自動化通用支持平臺,此平臺以信號接口的形式對外提供測試服務,將ATE的測試資源進行了模型化處理。通過測試自動化通用支持平臺,TPS只描述被測對象的信號特征及測試流程,對測試功能的具體實現進行了虛擬化處理,不包含對各類測試資源的操作和控制,因此當ATE變化時測試程序不需要任何修改,滿足了測試程序重用性要求,為TPS的可移植性提供了前提條件。平臺對外的開放性信號服務接口更使其適合于通用ATS的開發,可有效地縮短開發周期,降低開發、維護費用。另一方面,測試資源在測試自動化通用支持平臺的統一控制也使測試資源的信息化集中管理成為可能。
基于以往ATE軟件模塊庫開發的成果及經驗做繼承性開發,調用其較為成熟的模塊化非直接耦合軟構件進行更高層級的平臺設計。作為實現TPS與ATE無關的關鍵性技術,平臺開發過程中應充分保證其可擴充性和內部組件的可替換性,最終使平臺支撐未來面向信號的自動測試系統的標準化與通用化[11-12]。
1)平臺設計原則
實用性:采用參數化、服務化等技術,支持靈活多變的功能需求;平臺充分考慮使用人員的使用習慣,為其提供靈活的功能服務;提供實用、合理的服務功能塊,平臺做到實用化,靈活方便;
可靠性:從多方面進行可靠性的考慮。平臺使用集中的管理模塊和集中的數據處理,對平臺的整體管理和可靠進行控制,這種機制不僅能定義數據的可靠性,而且能定義應用級的穩定性;
高效性:整個平臺必須具有較高的運行效率,針對不同的處理邏輯采用相應技術和不同的優化策略;
可配置性:慎重考慮平臺將來發展的趨勢,針對平臺將來的維護和擴展需要進行設計,對于將來的平臺維護和擴展,盡量做到滿足2/8原則,即80%的維護需求由配置完成,20%的維護需求由定制完成;
可替換性:平臺所包含的子系統間、各模塊間,應當具備高內聚、非直接耦合的特點,平臺將采用分層架構模型,將視圖、邏輯、數據分開,對各個層次的具體實現進行屏蔽,有利于平臺在各個層次上的分別替換,同時采用相關技術對數據庫的操作進行封裝,屏蔽具體數據庫的實現細節,有利于降低數據庫替換時的工作量;
規范性和統一性:平臺滿足相關規范的要求。
2)接口設計原則[13-14]
為了保證整個平臺內部以及今后平臺與外部方便、可靠地連接,實現平臺的規范性、開放性、擴展性、功能獨立性,接口定義遵循如下原則:
①使用簡單、快捷的方式實現接口;
②充分考慮接口所涉及的自動測試各種應用擴展情況,使之能靈活滿足各種功能服務需求;
③接口數據傳輸控制策略可靠且完善;
④具有可靠的接口數據出錯處理機制。
⑤應充分考慮可靠性、適用性,不影響平臺整體性能。
測試自動化通用支持平臺是未來自動測試軟件分層架構中的核心部分,它對測試資源編程接口進行“二次封裝”,將帶有信號產生/測量功能的信號代理封裝成一個COM組件,對外是一個可通過圖形化配置的抽象測試資源服務層。它把信號產生/測量功能作為基本抽象化單位,隱含了具體測試資源的操作和控制,幾乎所有的編程開發環境都可通過其開放的資源服務接口,僅與測試流程有關的面向信號的自動測試程序開發。平臺的信號代理組件對外隔離了測試資源頻繁訪問與控制的過程細節,隱藏了相關測控技術的具體實現方法,實現了TPS與具體ATE的無關性,從而降低了自動測試程序的開發難度,增強了自動測試系統的健壯性和可重用性[15-16]。測試自動化通用支持平臺模型及功能定位如圖 2所示。

圖2 平臺模型及功能定位Fig.2 Platform model and functional orientation
自動測試系統運行時,測試自動化通用支持平臺根據資源配置(激勵信號和被測信號的邏輯名、相關儀器資源能力或具體型號、儀器設備的初始化狀態、接插面板及儀器設備的連接信息等)進行動態測試資源裝配,測試程序集對激勵信號或被測信號的屬性和行為更改映射到抽象的測試資源服務層,就是隱藏的高效率儀器設備程控、開關切換以及接口數據采集處理。對相應測試資源的每一次操作,資源控制模塊自動向資源管理模塊動態匯報,方便其他信息系統通過測試自動化通用支持平臺查詢各類測試資源狀態。測試過程中產品測試指標報錯時,可方便地調用故障診斷資源把當前信號送入故障推理機,在知識經驗庫匹配故障現象與解決措施,直接指導生產線員工進行調試。全部測試完畢后,通過測試自動化通用支持平臺數據庫服務資源,自動將報表文檔統一上傳至過程文檔數據庫。
測試自動化通用支持平臺由信號代理模塊、資源控制模塊、資源管理模塊、故障診斷模塊、數據庫服務模塊、平臺維護管理模塊組成,其中信號代理模塊與資源管理模塊決定了系統中各種軟構件間如何相互作用,實現信號代理到資源控制的映射,對外屏蔽了系統對象間關系的復雜性。信號代理模塊為自動測試程序開發人員提供了基于測試流程的面向信號的編程接口。資源控制模塊是“即插即用”資源,封裝了對各種儀器設備、故障診斷資源及數據庫服務資源的控制,它對信號代理模塊提供服務接口。
1)信號代理模塊
信號代理模塊對自動測試軟件開發人員提供易用的編程接口,不涉及任何具體測試資源操作。信號代理模塊為用戶提供了對激勵信號或被測信號的屬性和行為進行詳細描述的方法,包括信號類型、值范圍、精度、屬性等。根據這些信息,信號代理模塊利用資源管理模塊在運行時刻獲得可提供相應服務的資源控制模塊,并調用資源控制模塊服務完成一系列測試操作或診斷。其中信號產生組件有信號設置函數、信號生成函數等;信號測量組件有測量設置函數、信號測量函數、獲取測量值函數等。
2)資源控制模塊
資源控制模塊對儀器設備、開關矩陣、故障診斷資源、數據庫服務等軟硬件測試資源進行控制操作,是基于驅動對資源服務功能的軟件封裝。資源控制模塊對外提供標準功能接口,通過對各種測試資源的一系列操作實現對一種或數種信號的激勵、測試、診斷過程。
3)資源管理模塊
資源管理模塊對外提供可視化配置工具,對UUT各類信號及其路徑進行標準化的描述。方便用戶設置激勵信號和被測信號的邏輯名、相關儀器資源能力或具體型號、儀器設備的初始化狀態、接插面板及儀器設備的連接信息、路徑衰減補償等。其中,信號邏輯名是信號的外部別名,方便軟件開發人員通過測試自動化通用支持平臺進行面向信號的程序編寫。最終生成的配置文件將指導測試系統運行時測試自動化通用支持平臺實現動態測試資源裝配及內部映射機制。
自動測試系統運行時,資源管理模塊統一動態實時收集所使用的各類測試資源的狀態,使得其它信息系統通過測試自動化通用支持平臺開放接口,實現實時儀器設備狀態監控與記錄查詢統計的功能。
4)故障診斷模塊
故障診斷模塊為調試人員提供各種信號監測、處理、分析工具,方便生產現場的產品故障分析與定位。故障現象及對應處理措施統一匯總于知識經驗庫,為故障診斷推理機提供故障判別基礎數據,匹配的解決措施直接指導生產線員工進行調試。
5)數據庫服務模塊
數據庫服務模塊對外隱藏復雜的數據庫技術,簡化統一的數據庫資源操作。它提供文檔存儲功能服務接口,方便自動測試報表等產品過程文檔快速上傳與調閱。其中,可通過瀏覽器在線瀏覽這些文檔將是它的一個功能亮點。
6)平臺維護管理模塊
維護、管理測試自動化通用支持平臺。
測試自動化通用支持平臺上線后,自動測試領域有如下改善:
今后的自動測試系統將有一個統一規范的軟件開發分層架構,大大簡化了自動測試軟件開發,并提高了軟件的可靠性與質量。平臺對外的開放性信號服務接口更使其適合于通用ATS的開發,可有效地縮短開發周期,降低開發、維護費用;
儀器設備類型、接口連接關系的變更不需要改變自動測試程序本身,通過平臺可視化工具適當修改測試資源配置即可;
隨著測控技術的不斷發展,替換“即插即用”的資源驅動即可適應生產現場全新的軟硬件環境。老自動測試程序不需更改就可具備新技術的注入能力,一定程度保障了以往測試系統開發的資金投入;
與各類儀器設備及通信接口有關的測試技術日新月異,對應的編程方式也不斷更新換代。自動測試軟件開發人員仍然是面向信號的編程,并不需要都去花費精力理解新的理念、掌握新的開發模式,簡便、快速開發出一類產品對應的自動測試系統才是他們工作的第一要務;
由于自動測試程序沒有粘連測試資源的控制過程,僅與激勵信號和被測信號有關,很容易實現TPS的復用、重構、擴充和裁減;
隨著知識經驗庫的不斷積累,自動測試系統運行過程中,將不僅僅提供性能指標測試和合格判斷,將有能力進一步集成產品故障診斷功能,直接指導生產線員工進行調試;
自動測試系統具備將測試報表上傳至統一的過程文檔數據庫的能力,使得上層信息系統能夠在線調閱測試數據,滿足對產品生產過程狀態可查及歷史可追溯的需求;
自動測試系統運行過程中,統一將所使用的各類測試資源的狀態進行反饋,使得今后的信息化系統能夠實現實時儀器設備狀態監控與記錄查詢統計的功能。
通過本文提出的測試自動化通用支持平臺,TPS只需描述被測對象的信號特征及測試流程,其對信號產生與測量的具體資源層實現進行了虛擬化處理,實現了TPS與具體ATE的無關性,測試資源的統一控制也使各類資源的信息化集中管理成為可能。該平臺可以為自動測試系統的構建提供了一種較大粒度二進制可重用信號服務部件,同時也是一個系統集成構架,用于各種支持COM技術的軟件開發環境。平臺對外的開放性信號服務接口更使其適合于通用ATS的開發,可有效地縮短開發周期,降低開發、維護費用。
[1]鄧波,黃麗娟,曹青春.軟件測試自動化[M].北京:機械工業出版社,2003.
[2]李新華,陳麗容,馬立群.軟件測試過程改進[M].北京:機械工業出版社,2003.
[3]劉正升,萬程亮.自動測試系統中新技術的發展及應用[J].中國測試,2009,35(4):58-61.LIU Zheng-sheng,WAN Cheng-liang.Development and application of new test technologies in ATS[J].China Mesurement&Test,2009,35(4):58-61.
[4]劉灼杰,馬延平.自動測試標記語言及其應用[J].國外電子測量技術,2009,28(8):70-73.LIU Zhuo-jie,MA Yan-ping.Automatic test markup language and its application[J].Foreign Oreign Electronic Measurement Technology,2009,28(8):70-73.
[5]申莉,沈士團.通用自動測試系統模型化設計 [J].北京航空航天大學學報,2009,35(7):794-798.SHEN Li,SHEN Shi-tuan.Modeling design of general purpose ATE[J].Journal of Beijing University of Aeronautics and Astronautics,2009,35(7):794-798.
[6]黃建軍,楊江平.通用自動測試系統(ATS)體系結構及關鍵技術[J].火力與指揮控制,2009,34(3):71-74.HUANG Jian-jun,YANG Jiang-ping.Research on the architecture and key technology of general automatic test system[J].Fire Control&Command Control,2009,34(3):71-74.
[7]賴根,肖明清.國外自動測試系統發展現狀綜述[J].探測與控制學報,2005,27(3):26-30.LAI Gen,XIAO Ming-qing.Development of foreign automatic test system[J].Journal of Detection&Control,2005,27(3):26-30.
[8]馬敏.并行多任務自動測試系統分層化建模及其關鍵技術研究[D].成都:電子科技大學,2008.
[9]Orlet J L,Murdock G L.NxTest augments legacy military ATE[J].Aerospace and Electronic Systems Magazine,IEEE,2002(17):17-20.
[10]Kevin O’Toole.Next generation graphical development environment for test[C]//AUTOTESTCON'98,IEEE systems Readiness Technology Conference,New York,1998:145-148.
[11]孟喜.自動化測試平臺的設計與實現[D].成都:電子科技大學,2008.
[12]張惠.基于開源框架的測試平臺的設計與實現[D].北京:北京郵電大學,2010.
[13]胡惠芬.軟件自動化測試框架的研究與應用[D].西安:西安電子科技大學,2008.
[14]周飛宇.自動化測試平臺的設計與實現[D].北京:北京交通大學,2009.
[15]喬立巖,徐恒宇.一種模塊化通用測試平臺的設計[J].電子測量技術,2011,34(7):83-87.QIAO Li-yan,XU Heng-yu.Designs of a modular general test platform[J].Electronic Measurement Technology,2011,34(7):83-87.
[16]楊卓.自動化測試新一代解決方案[J].電信網技術,2008(9):69-74.YANG Zhuo.A new generation solutions of automatic test[J].Telecommunications Network Technology,2008(9):69-74.