【摘 要】針對當(dāng)前儀器程控命令測試過程中存在的主要問題,采用TestCenter快速搭建儀器程控命令測試軟件,實(shí)現(xiàn)規(guī)范化的儀器程控命令測試用例設(shè)計(jì)、開發(fā)和執(zhí)行。儀器程控命令測試軟件不僅能降低測試人員的專業(yè)技術(shù)要求,而且可以大幅度提高測試工作效率和質(zhì)量。該軟件已成功應(yīng)用于中國電科第四十一研究所某矢量網(wǎng)絡(luò)分析儀的程控命令測試中,取得很好的效果。
【關(guān)鍵詞】儀器;程控命令;自動測試;TestCenter
Design and Implementation of Program Command Test Software for Instruments
QIU Tian-hua
(Key Laborator on Electronic Test & Measurement,Qingdao Shandong 266555,China)
【Abstract】The core problems of Program Command Test Software are standard,automatization and efficiency of development.According to the problems,this paper presents a test software based on TestCenter to implement standard and automatization test.This software not only can reduce developer technique request,but also can increase test efficiency and quality.This software has been well applied to Program Command Test of a Vetor Network Analyzer in CETC 41.
【Key words】Instrument;Program Command;Automatic Test;TestCenter
0 引言
當(dāng)前越來越多的用戶使用程控命令進(jìn)行儀器遠(yuǎn)程控制,使得儀器生產(chǎn)廠商對儀器程控命令的測試越來越嚴(yán)格。程控命令測試不但要求儀器研制、生產(chǎn)、出廠等全生命周期測試,而且要求做到全路徑覆蓋測試。
由于程控命令的測試用例設(shè)計(jì)、開發(fā)、執(zhí)行工具不統(tǒng)一,測試過程自動化程度不高,造成測試工作量和工作難度的增加。程控命令測試的測試用例和測試結(jié)果格式不規(guī)范,導(dǎo)致測試人員重復(fù)開發(fā)測試用例和記錄測試結(jié)果。綜上所述,在不增加測試人員和測試時(shí)間的情況下,如何對儀器程控命令進(jìn)行全路徑覆蓋測試,是儀器生產(chǎn)廠商迫切需要解決的難題。
1 原理
針對當(dāng)前程控命令測試存在的問題,我們采用TestCenter[1]搭建程控命令測試軟件來實(shí)現(xiàn)程控命令規(guī)范化、自動化的測試。TestCenter是由中國電科第四十一研究所獨(dú)立自主研發(fā)的自動測試平臺軟件[2],其主要功能接近國內(nèi)外同類產(chǎn)品,具有測試程序的開發(fā)、運(yùn)行和管理功能,并且支持測試資源管理、測試報(bào)告生成、SCPI標(biāo)準(zhǔn)[2]等。中國電科第四十一研究所在程控命令測試方面積累了大量的經(jīng)驗(yàn),已經(jīng)形成規(guī)范的程控命令測試用例、測試結(jié)果格式?;赥estCenter的儀器程控命令測試軟件實(shí)現(xiàn)原理是利用TestCenter序列編輯器實(shí)現(xiàn)對儀器程控命令測試用例的開發(fā);利用TestCenter對測試資源、測試程序調(diào)試和執(zhí)行功能,實(shí)現(xiàn)測試用例的調(diào)試、執(zhí)行和測試結(jié)果的生成;利用TestCenter對測試程序、測試數(shù)據(jù)的管理實(shí)現(xiàn)對測試用例與測試報(bào)告的管理。
2 設(shè)計(jì)與實(shí)現(xiàn)
由于TestCenter已經(jīng)具有儀器程控命令測試軟件所需全部功能,所以基于TestCenter的儀器程控命令測試軟件的設(shè)計(jì)與實(shí)現(xiàn)就變成對儀器程控命令測試用例的設(shè)計(jì)、開發(fā)和執(zhí)行。
2.1 設(shè)計(jì)測試用例
測試用例設(shè)計(jì)是由儀器程控命令測試專家參照儀器程控手冊和產(chǎn)品手冊,使用Word、Excel、記事本等常用辦公軟件進(jìn)行規(guī)范化設(shè)計(jì)。測試專家啟動自己熟悉的辦公軟件,參照儀器程控命令測試用例模板,依次編寫測試用例描述,保存為測試用例文檔,如圖1所示。測試用例文檔由規(guī)范的功能描述、命令、延時(shí)三個(gè)元素組成,其中功能描述指儀器程控命令功能的簡潔描述;命令指具體的儀器命令與命令參數(shù);延時(shí)指儀器命令運(yùn)行后的等待時(shí)間,默認(rèn)單位為毫秒。
2.2 開發(fā)測試用例
測試專家將設(shè)計(jì)好的測試用例文檔轉(zhuǎn)交給測試用例開發(fā)人員。測試用例開發(fā)人員參照測試用例文檔在TestCenter中進(jìn)行測試用例的開發(fā)。測試用例的開發(fā)流程如圖2所示,具體包括新建測試工程、添加儀器資源、測試用例分組、編輯測試用例、調(diào)試測試用例、檢查是否完成等六個(gè)步驟:
2.2.1 新建測試工程
啟動TestCenter,新建測試工程。測試工程文件用于存儲程控命令測試相關(guān)的所有信息,包括儀器資源、測試用例、測試報(bào)告等。
2.2.2 添加儀器資源
打開TestCenter中的資源管理軟件,添加儀器硬件和邏輯資源。儀器硬件資源主要配置儀器的程控地址和儀器型號。邏輯資源是平臺中使用的虛擬資源,相當(dāng)于在測試用例和儀器硬件資源之間加入了一個(gè)中間層,用于降低測試用例與儀器資源的耦合性,實(shí)現(xiàn)測試用例的復(fù)用。例如對于程控命令一樣,當(dāng)儀器具體地址或者儀器型號有更改,只需修改資源配置,測試用例不須做任何更改。
2.2.3 測試用例分組
啟動序列編輯器,可以進(jìn)行測試用例的添加、修改、刪除、復(fù)制、粘貼等操作。測試用例可以按儀器功能進(jìn)行命名,也可以參照測試用例文檔中的命令分組進(jìn)行命名。通常一個(gè)儀器對應(yīng)著多個(gè)測試用例。
2.2.4 編輯測試用例
通過拖放程控命令插件[4],雙擊程控命令插件節(jié)點(diǎn),彈出程控命令設(shè)置界面,如圖3所示。首先選擇被測儀器對應(yīng)的邏輯資源。其次選擇操作類型,進(jìn)行相應(yīng)配置。最后單擊確定按鈕,保存當(dāng)前配置。程控命令插件包含建立儀器通信、執(zhí)行命令、通信設(shè)置、斷開儀器通信四種操作類型。其中建立儀器通信操作用于建立與儀器會話句柄,供其他三個(gè)操作使用;執(zhí)行命令操作用于編輯程控命令列表和批量執(zhí)行編輯好的命令列表,編輯命令就是依次輸入測試用例描述文檔中的功能描述、命令、延時(shí)等要素信息;通信設(shè)置操作用于修改通信超時(shí)時(shí)間、讀取終止符使能、命令終止符等配置;斷開儀器通信操作用于關(guān)閉儀器會話句柄。這種基于圖形化的開發(fā)方式,不但降低了用戶編程、儀器通信方面的技術(shù)要求,而且提高了測試用例的開發(fā)效率。
2.2.5 調(diào)試測試用例
利用TestCenter的調(diào)試功能可以對測試用例進(jìn)行斷點(diǎn)、單步、跳過等調(diào)試運(yùn)行。當(dāng)遇到設(shè)置的斷點(diǎn)時(shí)將暫停運(yùn)行,方便測試人員對儀器狀態(tài)、平臺變量等數(shù)據(jù)進(jìn)行查看和比對。
2.2.6 檢查是否完成
最后由測試專家對調(diào)試好的測試用例進(jìn)行檢查,首先檢查其測試用例分組是否覆蓋了儀器功能和測試用例文檔命令分組,如果沒有則添加相應(yīng)的測試用例;其次檢查測試用例中的測試命令列表是否覆蓋了測試用例文檔中的命令和參數(shù),如果沒有則添加相應(yīng)的命令;最后,由測試專家確認(rèn)測試用例是否做到了全路徑覆蓋,如果是則測試用例開發(fā)工作才算真正的結(jié)束。
2.3 執(zhí)行測試用例
測試用例開發(fā)人員將開發(fā)好的測試用例移交給測試用例執(zhí)行人員。測試用例執(zhí)行人員啟動TestCenter通用執(zhí)行軟件,設(shè)置好報(bào)表格式和輸出路徑,可以選擇部分或者全部測試用例進(jìn)行執(zhí)行。測試用例執(zhí)行完成后,測試軟件會自動生成測試報(bào)告并保存到輸出路徑下,測試報(bào)告內(nèi)容是在測試用例文檔三個(gè)元素基礎(chǔ)上,增加執(zhí)行后的讀取值、結(jié)果狀態(tài)信息,如圖4所示。
3 總結(jié)
基于TestCenter的儀器程控命令測試軟件應(yīng)用于中國電科第四十一研究所某矢量網(wǎng)絡(luò)分析儀的程控命令測試過程,測試時(shí)間降低了50%。該程控命令測試軟件不但提高程控命令測試過程標(biāo)準(zhǔn)化、自動化,降低測試人員的專業(yè)技術(shù)和熟練程度要求,同時(shí)提高了儀器質(zhì)量和用戶滿意度。
【參考文獻(xiàn)】
[1]宋斌,方葛豐,劉毅.自動測試系統(tǒng)軟件平臺TestCenter體系結(jié)構(gòu)設(shè)計(jì)與分析[J].測控技術(shù),2013,8.
[2]方葛豐,劉毅,等.自動測試系統(tǒng)軟件平臺技術(shù)[J].儀器儀表,2009,10.
[3]Standard Commands for Programmable Instruments(version 1999.0)[S].printed in USA,1999,3.
[4]方鵬,劉毅,邱田華.TestCenter中儀器控制的設(shè)計(jì)與實(shí)現(xiàn)[J].科技視界,2013,4.
[責(zé)任編輯:田吉捷]