【摘 要】在比較和分析了IVI儀器驅(qū)動測試常用方法的基礎(chǔ)上,提出基于TestCenter構(gòu)建IVI儀器驅(qū)動測試軟件的開發(fā)方法,實現(xiàn)非編碼式的儀器驅(qū)動測試用例的開發(fā)和執(zhí)行。該方法不僅能降低測試人員的專業(yè)技術(shù)要求和工作量,而且可以大幅度提高開發(fā)效率和測試質(zhì)量。該軟件已成功應(yīng)用于中國電科第四十一研究所某頻譜分析儀的驅(qū)動測試中,取得很好的效果。
【關(guān)鍵詞】驅(qū)動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 引言
伴隨著自動測試系統(tǒng)行業(yè)的快速發(fā)展,測試儀器也保持著高速發(fā)展。由于符合IVI(Interchangeable Virtural Instruments)的儀器驅(qū)動在儀器可互換性和測試代碼可重用性方面的獨特優(yōu)勢[1],使得其應(yīng)用也越來越普遍。另外,儀器驅(qū)動質(zhì)量直接影響客戶對儀器質(zhì)量的評定,因此儀器制造商對儀器驅(qū)動程序的測試也越來越嚴(yán)格。IVI儀器驅(qū)動具備仿真、狀態(tài)緩存、量程檢查等功能,按類型又可以分為IVI-C、IVI-COM等,這些特性增加了IVI儀器驅(qū)動測試的工作量和難度。
目前,IVI標(biāo)準(zhǔn)儀器驅(qū)動程序測試主要有三種方法:第一種是用LabWindos /CVI、Visaual Studio等集成開發(fā)環(huán)境實現(xiàn)對儀器驅(qū)動的調(diào)用來進(jìn)行測試。這種方法需要用戶編寫大量代碼,并且測試用例與被測儀器合度比較高。第二種是用圖形化編程工具LabView進(jìn)行IVI儀器驅(qū)動的測試。這種方法用戶上手比較快,開發(fā)效率比較高;缺點是不具備測試用例管理和測試結(jié)果生成、保存等功能。第三種是利用Nimbus[2]驅(qū)動開發(fā)工具生成的測試工程進(jìn)行測試,測試工程包含比較全面的測試用例。這種方法只支持采用Nimbus工具開發(fā)的驅(qū)動,并且對于儀器屬性驗證仍然需要修改源碼。通過對上述三種方法進(jìn)行分析,不難得出對測試開發(fā)人員的編程技術(shù)水平要求高、測試用例不能復(fù)用,并且不具備測試用例管理和測試結(jié)果生成、保存等功能。
通用自動化測試軟件平臺[3]具有測試程序的開發(fā)、運行和管理功能,并且具有非編碼式的開發(fā)方式、測試資源管理、測試報告生成、符合IVI標(biāo)準(zhǔn)等特點。目前商用的通用測試軟件平臺比較有代表性的為美國國家儀器的TestStand和中國電科第四十一研究所的TestCenter。TestStand只提供了基于IVI-C的儀器控制插件,而對于IVI擴(kuò)展功能和IVI-COM類型驅(qū)動測試依賴于LabView或CVI所開發(fā)的測試程序。TestCenter不僅支持IVI-C、IVI-COM類型的儀器控制插件,并且提供驅(qū)動調(diào)用插件進(jìn)行IVI擴(kuò)展功能的測試[4]。所以,我們提出采用TestCenter構(gòu)建儀器驅(qū)動程序測試軟件的新開發(fā)方法,來實現(xiàn)非編碼式的儀器驅(qū)動程序測試用例的開發(fā)和執(zhí)行。
1 功能組成
基于TestCenter的IVI儀器驅(qū)動測試軟件的功能組成,如圖1所示,包括用戶管理、儀器管理、測試用例開發(fā)、測試用例執(zhí)行、數(shù)據(jù)結(jié)果管理、測試用例管理等。
用戶管理功能主要是對測試用例開發(fā)員、調(diào)試員、操作員及管理員等的管理,可以利用TestCenter中的用戶管理模塊來實現(xiàn)。儀器管理功能主要實現(xiàn)對被測儀器程控地址、驅(qū)動等的管理,可以利用TestCenter中的資源管理器來實現(xiàn)。測試用例開發(fā)功能主要是使用TestCenter序列編輯器中的IVI類儀器插件和驅(qū)動調(diào)用插件來實現(xiàn)。測試用例調(diào)試、執(zhí)行功能主要是通過TestCenter的測試程序調(diào)試和執(zhí)行功能來實現(xiàn)。測試結(jié)果管理、用例管理功能是利用TestCenter對測試程序、測試數(shù)據(jù)管理來實現(xiàn)。綜上所述,TestCenter內(nèi)置了IVI儀器驅(qū)動測試軟件的所有功能,基于TestCenter的IVI儀器驅(qū)動測試軟件的實現(xiàn)就轉(zhuǎn)變?yōu)閮x器驅(qū)動測試用例的開發(fā)、調(diào)試。
2 實現(xiàn)
基于TestCenter的儀器驅(qū)動測試用例開發(fā)和調(diào)試的詳細(xì)流程如圖2所示,包括新建測試工程、添加儀器資源、確定測試范圍、圖形化編輯測試用例、調(diào)試測試用例、執(zhí)行測試用例等步驟。
2.1 新建測試工程
啟動TestCenter,新建測試工程。測試工程文件用于存儲儀器驅(qū)動測試相關(guān)的所有信息,包括儀器資源、測試用例、測試結(jié)果等。
2.2 添加儀器資源
打開TestCenter中的資源管理軟件,添加儀器硬件資源,邏輯資源。儀器硬件資源主要配置儀器的程控地址和儀器型號。儀器軟件資源主要對應(yīng)著儀器的驅(qū)動,支持IVI-C和IVI-COM兩種類型的驅(qū)動。邏輯資源是在測試用例和儀器硬件資源之間加入了一個中間層。如果儀器地址和儀器型號進(jìn)行更改,測試用例不須做任何更改,降低測試用例與儀器資源的耦合性。
2.3 確定測試范圍
啟動序列編輯器,序列編輯器支持測試用例的添加、復(fù)制、粘貼、刪除等??梢酝ㄟ^根據(jù)儀器驅(qū)動的文檔、安裝程序,查看驅(qū)動是采用何種開發(fā)工具進(jìn)行開發(fā),以及驅(qū)動的類型、擴(kuò)展功能函數(shù)列表等,進(jìn)一步確定儀器驅(qū)動測試的重點。例如,對于采用CVI或者Nimbus等商用工具開發(fā)的驅(qū)動,測試重點放在儀器實際狀態(tài)與遠(yuǎn)程控制參數(shù)是否一致上。如果不是采用商用工具開發(fā)的驅(qū)動,則還需測試驗證驅(qū)動函數(shù)名稱、函數(shù)參數(shù)是否符合IVI,是否具有仿真、狀態(tài)緩存、量程檢查等功能。
2.4 圖形化編輯測試用例
對于是IVI標(biāo)準(zhǔn)的驅(qū)動測試,主要采用標(biāo)準(zhǔn)IVI類儀器插件進(jìn)行測試。對于IVI擴(kuò)展功能的驅(qū)動函數(shù)進(jìn)行測試,則是采用驅(qū)動調(diào)用插件進(jìn)行測試。這里重點介紹IVI擴(kuò)展功能的測試用例開發(fā),首先新建節(jié)點A,拖放驅(qū)動調(diào)用插件到節(jié)點A,雙擊節(jié)點A,彈出驅(qū)動調(diào)用插件界面,如圖3所示。其次選擇當(dāng)前被測儀器對應(yīng)的邏輯資源。再次添加擴(kuò)展功能包含的函數(shù),以此為每個函數(shù)添加參數(shù)。最后,點擊確定按鈕,完成擴(kuò)展功能測試用例編輯。這種圖形化的儀器驅(qū)動測試用例開發(fā)方式不但降低了用戶編程方面的技術(shù)要求,而且提高了測試用例的開發(fā)效率。
2.5 調(diào)試測試用例
利用TestCenter的調(diào)試功能除了可以對測試用例進(jìn)行斷點、單步、跳過等調(diào)試運行,還支持仿真調(diào)試。平臺還提供測試庫管理功能,開發(fā)員可以將測試用例添加到用戶測試庫中,為其他用戶開發(fā)同類型的測試用例提供模板。
2.6 執(zhí)行測試用例
啟動通用執(zhí)行軟件,執(zhí)行測試用例。測試用例執(zhí)行完成后,測試軟件會自動生成測試報告并保存。
3 實例
在中國電科某頻譜儀驅(qū)動測試過程中,利用TestCenter提供的方案,在兩天時間完成標(biāo)準(zhǔn)的IVI-C驅(qū)動的測試,大大提高測試效率。頻譜儀的驅(qū)動擴(kuò)展功能比較少,主要使用IVI頻譜分析儀插件進(jìn)行測試,IVI頻譜分析儀插件設(shè)置如圖4所示。測試過程分為仿真、聯(lián)機(jī)測試兩個階段。在仿真測試階段,主要對驅(qū)動函數(shù)列表、函數(shù)參數(shù)個數(shù)、類型,參數(shù)范圍驗證。在聯(lián)機(jī)測試階段,主要進(jìn)行儀器遠(yuǎn)程控制與實際設(shè)置對比驗證。
4 總結(jié)
基于TestCenter的儀器驅(qū)動程序測試軟件實現(xiàn)非編碼式的儀器驅(qū)動測試用例的開發(fā)和執(zhí)行,不僅減少測試時間和工作量,而且降低測試人員的專業(yè)技術(shù)要求,同時開發(fā)好的測試用例可以在同類型的IVI儀器驅(qū)動測試中進(jìn)行復(fù)用。
【參考文獻(xiàn)】
[1]許愛強(qiáng),文天柱,李文海.基于IVI技術(shù)的儀器驅(qū)動程序開發(fā)[J].現(xiàn)代電子技術(shù),2011,1.
[2]徐衛(wèi),賀正軍.基于Nimbus的IVI-COM儀器驅(qū)動設(shè)計[J].現(xiàn)代電子技術(shù),2014,2.
[3]方葛豐,劉毅,等.自動測試系統(tǒng)軟件平臺技術(shù)[J].儀器儀表,2009,10.
[4]方鵬,劉毅,邱田華.TestCenter中儀器控制的設(shè)計與實現(xiàn)[J].科技視界,2013,4.
[責(zé)任編輯:朱麗娜]