【摘 要】在比較和分析了IVI儀器驅動測試常用方法的基礎上,提出基于TestCenter構建IVI儀器驅動測試軟件的開發方法,實現非編碼式的儀器驅動測試用例的開發和執行。該方法不僅能降低測試人員的專業技術要求和工作量,而且可以大幅度提高開發效率和測試質量。該軟件已成功應用于中國電科第四十一研究所某頻譜分析儀的驅動測試中,取得很好的效果。
【關鍵詞】驅動IVI自動測試;TestCenter
Design and Implementation of IVI Driver Test Software for Instruments
QIU Tian-hua
(Key Laborator on Electronic Test & Measurement,Qingdao Shandong 266555,China)
【Abstract】The main methods of building IVI driver test software for instruments are analyzed. According to the analyses, a development method of test software based on TestCenter to realize the development and execution of non-coding instrument driven test cases is presented. This method not only reduces the professional technical requirements and workload of the testers, but also can greatly improve the development efficiency and test quality. This software has been well applied to driver Test of a Spectrum Analyzer in CETC 41.
【Key words】Driver; IVI; Automatic Test; TestCenter
0 引言
伴隨著自動測試系統行業的快速發展,測試儀器也保持著高速發展。由于符合IVI(Interchangeable Virtural Instruments)的儀器驅動在儀器可互換性和測試代碼可重用性方面的獨特優勢[1],使得其應用也越來越普遍。另外,儀器驅動質量直接影響客戶對儀器質量的評定,因此儀器制造商對儀器驅動程序的測試也越來越嚴格。IVI儀器驅動具備仿真、狀態緩存、量程檢查等功能,按類型又可以分為IVI-C、IVI-COM等,這些特性增加了IVI儀器驅動測試的工作量和難度。
目前,IVI標準儀器驅動程序測試主要有三種方法:第一種是用LabWindos /CVI、Visaual Studio等集成開發環境實現對儀器驅動的調用來進行測試。這種方法需要用戶編寫大量代碼,并且測試用例與被測儀器合度比較高。第二種是用圖形化編程工具LabView進行IVI儀器驅動的測試。這種方法用戶上手比較快,開發效率比較高;缺點是不具備測試用例管理和測試結果生成、保存等功能。第三種是利用Nimbus[2]驅動開發工具生成的測試工程進行測試,測試工程包含比較全面的測試用例。這種方法只支持采用Nimbus工具開發的驅動,并且對于儀器屬性驗證仍然需要修改源碼。通過對上述三種方法進行分析,不難得出對測試開發人員的編程技術水平要求高、測試用例不能復用,并且不具備測試用例管理和測試結果生成、保存等功能。
通用自動化測試軟件平臺[3]具有測試程序的開發、運行和管理功能,并且具有非編碼式的開發方式、測試資源管理、測試報告生成、符合IVI標準等特點。目前商用的通用測試軟件平臺比較有代表性的為美國國家儀器的TestStand和中國電科第四十一研究所的TestCenter。TestStand只提供了基于IVI-C的儀器控制插件,而對于IVI擴展功能和IVI-COM類型驅動測試依賴于LabView或CVI所開發的測試程序。TestCenter不僅支持IVI-C、IVI-COM類型的儀器控制插件,并且提供驅動調用插件進行IVI擴展功能的測試[4]。所以,我們提出采用TestCenter構建儀器驅動程序測試軟件的新開發方法,來實現非編碼式的儀器驅動程序測試用例的開發和執行。
1 功能組成
基于TestCenter的IVI儀器驅動測試軟件的功能組成,如圖1所示,包括用戶管理、儀器管理、測試用例開發、測試用例執行、數據結果管理、測試用例管理等。
用戶管理功能主要是對測試用例開發員、調試員、操作員及管理員等的管理,可以利用TestCenter中的用戶管理模塊來實現。儀器管理功能主要實現對被測儀器程控地址、驅動等的管理,可以利用TestCenter中的資源管理器來實現。測試用例開發功能主要是使用TestCenter序列編輯器中的IVI類儀器插件和驅動調用插件來實現。測試用例調試、執行功能主要是通過TestCenter的測試程序調試和執行功能來實現。測試結果管理、用例管理功能是利用TestCenter對測試程序、測試數據管理來實現。綜上所述,TestCenter內置了IVI儀器驅動測試軟件的所有功能,基于TestCenter的IVI儀器驅動測試軟件的實現就轉變為儀器驅動測試用例的開發、調試。
2 實現
基于TestCenter的儀器驅動測試用例開發和調試的詳細流程如圖2所示,包括新建測試工程、添加儀器資源、確定測試范圍、圖形化編輯測試用例、調試測試用例、執行測試用例等步驟。
2.1 新建測試工程
啟動TestCenter,新建測試工程。測試工程文件用于存儲儀器驅動測試相關的所有信息,包括儀器資源、測試用例、測試結果等。
2.2 添加儀器資源
打開TestCenter中的資源管理軟件,添加儀器硬件資源,邏輯資源。儀器硬件資源主要配置儀器的程控地址和儀器型號。儀器軟件資源主要對應著儀器的驅動,支持IVI-C和IVI-COM兩種類型的驅動。邏輯資源是在測試用例和儀器硬件資源之間加入了一個中間層。如果儀器地址和儀器型號進行更改,測試用例不須做任何更改,降低測試用例與儀器資源的耦合性。
2.3 確定測試范圍
啟動序列編輯器,序列編輯器支持測試用例的添加、復制、粘貼、刪除等。可以通過根據儀器驅動的文檔、安裝程序,查看驅動是采用何種開發工具進行開發,以及驅動的類型、擴展功能函數列表等,進一步確定儀器驅動測試的重點。例如,對于采用CVI或者Nimbus等商用工具開發的驅動,測試重點放在儀器實際狀態與遠程控制參數是否一致上。如果不是采用商用工具開發的驅動,則還需測試驗證驅動函數名稱、函數參數是否符合IVI,是否具有仿真、狀態緩存、量程檢查等功能。
2.4 圖形化編輯測試用例
對于是IVI標準的驅動測試,主要采用標準IVI類儀器插件進行測試。對于IVI擴展功能的驅動函數進行測試,則是采用驅動調用插件進行測試。這里重點介紹IVI擴展功能的測試用例開發,首先新建節點A,拖放驅動調用插件到節點A,雙擊節點A,彈出驅動調用插件界面,如圖3所示。其次選擇當前被測儀器對應的邏輯資源。再次添加擴展功能包含的函數,以此為每個函數添加參數。最后,點擊確定按鈕,完成擴展功能測試用例編輯。這種圖形化的儀器驅動測試用例開發方式不但降低了用戶編程方面的技術要求,而且提高了測試用例的開發效率。
2.5 調試測試用例
利用TestCenter的調試功能除了可以對測試用例進行斷點、單步、跳過等調試運行,還支持仿真調試。平臺還提供測試庫管理功能,開發員可以將測試用例添加到用戶測試庫中,為其他用戶開發同類型的測試用例提供模板。
2.6 執行測試用例
啟動通用執行軟件,執行測試用例。測試用例執行完成后,測試軟件會自動生成測試報告并保存。
3 實例
在中國電科某頻譜儀驅動測試過程中,利用TestCenter提供的方案,在兩天時間完成標準的IVI-C驅動的測試,大大提高測試效率。頻譜儀的驅動擴展功能比較少,主要使用IVI頻譜分析儀插件進行測試,IVI頻譜分析儀插件設置如圖4所示。測試過程分為仿真、聯機測試兩個階段。在仿真測試階段,主要對驅動函數列表、函數參數個數、類型,參數范圍驗證。在聯機測試階段,主要進行儀器遠程控制與實際設置對比驗證。
4 總結
基于TestCenter的儀器驅動程序測試軟件實現非編碼式的儀器驅動測試用例的開發和執行,不僅減少測試時間和工作量,而且降低測試人員的專業技術要求,同時開發好的測試用例可以在同類型的IVI儀器驅動測試中進行復用。
【參考文獻】
[1]許愛強,文天柱,李文海.基于IVI技術的儀器驅動程序開發[J].現代電子技術,2011,1.
[2]徐衛,賀正軍.基于Nimbus的IVI-COM儀器驅動設計[J].現代電子技術,2014,2.
[3]方葛豐,劉毅,等.自動測試系統軟件平臺技術[J].儀器儀表,2009,10.
[4]方鵬,劉毅,邱田華.TestCenter中儀器控制的設計與實現[J].科技視界,2013,4.
[責任編輯:朱麗娜]