專利名稱:一種通過控制儀表進行自動化測試的方法及裝置的制作方法
技術領域:
本發(fā)明涉及電子技術領域,特別是涉及通過控制儀表進行自動化測試的方法及裝置。
背景技術:
對于無線設備制造商來說,射頻測試(RF TEST)非常重要,在研發(fā)、生產中是必須測試的一個環(huán)節(jié),無線設備的射頻指標在入網測試、應標測試中必須通過,生產中出廠測試也要對射頻指標進行測試。射頻測試離不開儀表。儀表是由若干元件構成的,具有較完善功能的技術工具。它一般同時具有數種功能,如測量、顯示、記錄或測量、控制、報警等。儀表與控制系統(tǒng)是儀器儀表與測量控制體系的兩大支柱。當今,儀器儀表與測量控制發(fā)展的趨勢是測控功能向系統(tǒng)化、網絡化發(fā)展。目前在通過儀表進行射頻測試時,針對儀表的型號和測試目的開發(fā)測試工具,以實現(xiàn)對儀表的自動化控制。其中,測試工具包含測試用例。測試工具的開發(fā)需要工具開發(fā)人員與測試人員配合方能完成。如果測試目的發(fā)生變化,需要修改測試用例,由于測試用例包含在測試工具中,因此在修改測試用例時,必須修改測試工具。類似的,如果測試所使用的儀表發(fā)生變化,則需要修改測試工具,又因為測試工具包含測試用例,則測試用例也要相應的修改。綜上,現(xiàn)有技術在每次進行新的測試時均需要開發(fā)測試工具(包含測試用例),為測試過程帶來不便,影響測試效率。
發(fā)明內容
本發(fā)明實施例提供一種通過控制儀表進行自動化測試的方法及裝置,用于實現(xiàn)對儀表的控制,減少測試過程中對測試工具和測試用例的修改,并提高測試效率。一種通過控制儀表進行自動化測試的方法,包括以下步驟通過測試工具加載測試用例;通過執(zhí)行測試用例,從儀表處獲得儀表類型,及執(zhí)行測試用例中的第一測試函數;根據測試用例中的第一測試函數,調用并執(zhí)行與儀表類型對應的第二測試函數, 以控制儀表進行測試。一種用于控制儀表以進行測試的裝置,包括加載模塊,用于通過測試工具加載測試用例;執(zhí)行模塊,用于通過執(zhí)行測試用例,從儀表處獲得儀表類型,及執(zhí)行測試用例中的第一測試函數;測試控制模塊,用于根據測試用例中的第一測試函數,調用并執(zhí)行與儀表類型對應的第二測試函數,以控制儀表進行測試。本發(fā)明實施例中將測試工具與測試用例分離,當需要控制儀表以進行測試時,通過測試工具加載需要的測試用例。通過執(zhí)行測試用例獲得儀表類型,然后調用并執(zhí)行與儀表類型對應的第二測試函數,實現(xiàn)對儀表的控制,以便進行測試。本發(fā)明實施例將測試工具與測試用例分離,以及針對儀表類型自動調用相應的第二測試函數,不需要每次針對不同的測試目的和不同的儀表類型來重新編寫整個測試工具和測試用例,明顯提高了測試效率。
圖1為本發(fā)明實施例中通過控制儀表進行自動化測試的主要方法流程圖;圖2為本發(fā)明實施例中控制儀表的詳細方法流程圖;圖3為本發(fā)明實施例中裝置的結構圖;圖4為本發(fā)明實施例中控制儀表的數據流示意圖。
具體實施例方式本發(fā)明實施例中將測試工具與測試用例分離,當需要控制儀表以進行測試時,通過測試工具加載需要的測試用例。通過執(zhí)行測試用例獲得儀表類型,然后調用并執(zhí)行與儀表類型對應的第二測試函數,實現(xiàn)對儀表的控制,以便進行測試。本發(fā)明實施例將測試工具與測試用例分離,以及針對儀表類型自動調用相應的第二測試函數,不需要每次針對不同的測試目的和不同的儀表類型來重新編寫整個測試工具和測試用例,明顯提高了測試效率。參見圖1,本實施例中通過控制儀表進行自動化測試的主要方法流程如下步驟101 通過測試工具加載測試用例。步驟102 通過執(zhí)行測試用例,從儀表處獲得儀表類型,及執(zhí)行測試用例中的第一測試函數。步驟103 根據測試用例中的第一測試函數,調用并執(zhí)行與儀表類型對應的第二測試函數,以控制儀表進行測試。本實施例中測試工具主要用于加載和執(zhí)行測試用例,不需要針對儀表開發(fā)測試工具,測試工具能夠針對測試目的加載相應的測試用例即可。針對測試目的開發(fā)測試用例,不區(qū)分儀表類型,功能實現(xiàn)測試目的即可。預先可針對各種測試目的為測試用例提供函數庫, 供測試用例調用。在測試用例中增加查詢函數,執(zhí)行測試用例過程中向儀表發(fā)送類型查詢命令,并接收儀表返回的帶有儀表類型的消息。類型查詢命令為通用命令,各類型儀表均可識別。較佳的,測試工具與測試用例在執(zhí)行時由不同的進程實現(xiàn),通過進程間通信實現(xiàn)測試工具與測試用例的通信,較好的實現(xiàn)測試工具與測試用例的分離。下面通過幾個典型實施例來詳細介紹控制儀表的過程。參見圖2,本實施例中控制儀表的詳細方法流程如下步驟201 通過測試工具加載測試用例。步驟202 通過執(zhí)行測試用例,向儀表發(fā)送類型查詢命令。步驟203 接收儀表返回的帶有儀表類型的消息。如果儀表未返回儀表類型,則提示檢查物理環(huán)境。步驟204 識別測試用例中腳本類型的第一測試函數。測試函數包括儀表函數、參數和 Visa (Virtual Instrument Software Architecture,虛擬儀表軟件架構)命令。本實施例中采用腳本類型的測試用例,可降低開發(fā)測試用例的復雜度。由于測試用例采用腳本語言編寫,射頻自動化測試工具必須識別腳本語言,根據腳本語言的命令來調用相應的儀表命令。另外,由于測試用例采用腳本語言編寫,利用腳本語言的邏輯性,射頻自動化測試工具必須調用腳本語言解釋器來解讀腳本語言。步驟205 針對識別出的腳本類型的測試函數,調用并執(zhí)行與儀表類型對應的儀表可識別的機器類型的第二測試函數,以控制儀表進行測試。其中,預先建立腳本類型的第一測試函數與各種儀表類型的第二測試函數的對應關系,通過該對應關系可調用相應的機器類型的第二測試函數。對應關系參見表1所示。表 1
腳本類型的測試函數名伩表類型機器類型的測試函數名測試函數A伩表類型1測試函數名1測試函數B伩表類型1測試函數名2測試函數A伩表類型2測試函數名3測試函數B伩表類型2測試函數名4在控制儀表的過程中,通過測試工具根據測試目的加載相應的測試用例,之后通過測試工具建立新的進程,以執(zhí)行測試用例。測試工具和測試用例均包括進程通信單元,以便實現(xiàn)測試工具與測試用例之間的通信。測試工具通過進程通信單元調用腳本類型的測試用例,尤其是調用其中的腳本類型的第一測試函數,并對腳本類型的第一測試函數進行識別和解釋,解釋的過程即為針對儀表類型將腳本類型的第一測試函數轉換為儀表可識別的機器類型的第二測試函數,然后執(zhí)行機器類型的第二測試函數,實現(xiàn)對儀表的控制。通過以上描述了解了控制儀表的實現(xiàn)過程,該過程可由裝置實現(xiàn),下面對裝置的內部結構和功能進行介紹。參見圖3,本實施例中用于控制儀表以進行測試的裝置包括加載模塊301、執(zhí)行模塊302和測試控制模塊303。該裝置可具體為計算機設備等可執(zhí)行設備。加載模塊301用于通過測試工具加載測試用例。執(zhí)行模塊302用于通過執(zhí)行測試用例,從儀表處獲得儀表類型,及執(zhí)行測試用例中的第一測試函數。具體的,執(zhí)行模塊302通過執(zhí)行測試用例,指示所述裝置中的儀表接口模塊304向儀表發(fā)送類型查詢命令,并通過儀表接口模塊304接收儀表返回的帶有儀表類型的消息。其中,儀表接口模塊304與儀表連接,連接方式包括GPIB(General Purpose Interface Bus,通用接口總線)或網線等。測試控制模塊303用于根據測試用例中的第一測試函數,調用并執(zhí)行與儀表類型對應的第二測試函數,以控制儀表進行測試。當測試用例為腳本類型時,測試控制模塊303 識別測試用例中腳本類型的第一測試函數,針對識別出的腳本類型的測試函數,調用并執(zhí)行與儀表類型對應的儀表可識別的機器類型的第二測試函數,以控制儀表進行測試。測試控制模塊303的結構可以進一步劃分,包括識別單元和解釋單元。識別單元用于識別測試用例中腳本類型的第一測試函數。解釋單元用于解讀腳本語言,并針對識別出的腳本類型的第一測試函數,調用并執(zhí)行與儀表類型對應的儀表可識別的機器類型的第二測試函數, 以控制儀表進行測試。解釋單元與儀表接口模塊304連接。識別單元與執(zhí)行模塊302連接, 執(zhí)行模塊302通過進程間通信將腳本類型的第一測試函數傳輸給識別單元。其中,進程間通信包括UDP (用戶數據報協(xié)議)通信等。第一測試函數包括儀表函數、參數和Visa命令。 Visa命令為儀表專用命令。測試控制模塊303還用于將儀表的反饋結果轉換為腳本類型,并傳輸給執(zhí)行模塊 302中的第一測試函數,以便繼續(xù)執(zhí)行測試用例。執(zhí)行模塊302、測試控制模塊303、儀表接口模塊304及儀表之間的數據流可參見圖4所示。本發(fā)明實施例中將測試工具與測試用例分離,當需要控制儀表以進行測試時,通過測試工具加載需要的測試用例。通過執(zhí)行測試用例獲得儀表類型,然后調用并執(zhí)行與儀表類型對應的第二測試函數,實現(xiàn)對儀表的控制,以便進行測試。本發(fā)明實施例將測試工具與測試用例分離,以及針對儀表類型自動調用相應的測試函數,不需要每次針對不同的測試目的和不同的儀表類型來重新編寫整個測試工具和測試用例,明顯提高了測試效率。較佳的,本發(fā)明實施例中測試用例采用腳本類型,測試工具采用高級語言類型(如C++類型), 具有較好的通用性和降低開發(fā)的難度。對腳本類型的測試函數識別后調用相應的機器類型的測試函數,以控制儀表進行測試。本發(fā)明實施例可減少測試工具的發(fā)布次數,減少人為誤差,提高測試效率和準確度。本領域內的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產品的形式。本發(fā)明是參照根據本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執(zhí)行的指令產生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。 顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
權利要求
1.一種通過控制儀表進行自動化測試的方法,其特征在于,包括以下步驟通過測試工具加載測試用例;通過執(zhí)行測試用例,從儀表處獲得儀表類型,及執(zhí)行測試用例中的第一測試函數;根據測試用例中的第一測試函數,調用并執(zhí)行與儀表類型對應的第二測試函數,以控制儀表進行測試。
2.如權利要求1所述的方法,其特征在于,通過執(zhí)行測試用例,從儀表處獲得儀表類型的步驟包括通過執(zhí)行測試用例,向儀表發(fā)送類型查詢命令,并接收儀表返回的帶有儀表類型的消息。
3.如權利要求1所述的方法,其特征在于,測試用例為腳本類型;根據測試用例中的第一測試函數,調用并執(zhí)行與儀表類型對應的第二測試函數,以控制儀表進行測試的步驟包括識別測試用例中腳本類型的第一測試函數;針對識別出的腳本類型的測試函數,調用并執(zhí)行與儀表類型對應的儀表可識別的機器類型的第二測試函數,以控制儀表進行測試。
4.如權利要求1所述的方法,其特征在于,測試用例中的第一測試函數包括儀表函數、 參數和虛擬儀表軟件架構Visa命令。
5.如權利要求1至4中任一項所述的方法,其特征在于,測試工具與測試用例在執(zhí)行時對應不同的進程。
6.一種用于控制儀表以進行測試的裝置,其特征在于,包括加載模塊,用于通過測試工具加載測試用例;執(zhí)行模塊,用于通過執(zhí)行測試用例,從儀表處獲得儀表類型,及執(zhí)行測試用例中的第一測試函數;測試控制模塊,用于根據測試用例中的第一測試函數,調用并執(zhí)行與儀表類型對應的第二測試函數,以控制儀表進行測試。
7.如權利要求6所述的裝置,其特征在于,執(zhí)行模塊通過執(zhí)行測試用例,指示所述裝置中的儀表接口模塊向儀表發(fā)送類型查詢命令,并通過儀表接口模塊接收儀表返回的帶有儀表類型的消息。
8.如權利要求6所述的裝置,其特征在于,測試用例為腳本類型;測試控制模塊識別測試用例中腳本類型的第一測試函數,針對識別出的腳本類型的測試函數,調用并執(zhí)行與儀表類型對應的儀表可識別的機器類型的第二測試函數,以控制儀表進行測試。
9.如權利要求6所述的裝置,其特征在于,執(zhí)行模塊通過進程間通信將腳本類型的測試函數傳輸給測試控制模塊。
10.如權利要求6所述的裝置,其特征在于,測試用例中的第一測試函數包括儀表函數、參數和Visa命令。
11.如權利要求6至10中任一項所述的裝置,其特征在于,測試工具與測試用例在執(zhí)行時對應不同的進程。
全文摘要
本發(fā)明公開了一種通過控制儀表進行自動化測試的方法,用于實現(xiàn)對儀表的控制,減少測試過程中對測試工具和測試用例的修改,并提高測試效率。所述方法包括通過測試工具加載測試用例;通過執(zhí)行測試用例,從儀表處獲得儀表類型,及執(zhí)行測試用例中的第一測試函數;根據測試用例中的第一測試函數,調用并執(zhí)行與儀表類型對應的第二測試函數,以控制儀表進行測試。本發(fā)明還公開了用于實現(xiàn)所述方法的裝置。
文檔編號G05B23/02GK102354200SQ20111015546
公開日2012年2月15日 申請日期2011年6月10日 優(yōu)先權日2011年6月10日
發(fā)明者劉須華, 鄧召基, 金龍 申請人:大唐移動通信設備有限公司