亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

硬件設(shè)備自動化測試系統(tǒng)及其測試方法

文檔序號:6428105閱讀:782來源:國知局

專利名稱::硬件設(shè)備自動化測試系統(tǒng)及其測試方法
技術(shù)領(lǐng)域
:本發(fā)明屬于設(shè)備測試
技術(shù)領(lǐng)域
,涉及一種硬件設(shè)備測試系統(tǒng),尤其涉及一種硬件設(shè)備自動化測試系統(tǒng);同時,本發(fā)明還涉及上述硬件設(shè)備自動化測試系統(tǒng)的測試方法。
背景技術(shù)
:隨著技術(shù)的發(fā)展,各類硬件設(shè)備和系統(tǒng)(消費類電子、通信、汽車電子、航空航天…)的集成度和復(fù)雜度越來越高,對其測試往往涉及到基礎(chǔ)電子、網(wǎng)絡(luò)通信、軟硬件結(jié)合等多個方面,但要求的測試周期卻越來越短,因此,行業(yè)對測試技術(shù)也提出了新的要求。硬件設(shè)備和系統(tǒng)的測試手段經(jīng)歷了從手動測試到通過編程實現(xiàn)局部測試自動化的發(fā)展過程。目前,大家普遍采用“編程開發(fā)”實現(xiàn)測試自動化(編程語言如C、VB、LabVIEW、TCL等),這要求硬件自動化測試工程師必須精通程序開發(fā)。并且,由于測試類編程語言往往帶有技術(shù)偏向性,比如,LabVIEW適合用于基礎(chǔ)電子類測試程序開發(fā),TCL適合網(wǎng)絡(luò)通信類測試程序開發(fā),QTP等工具適合GUI(圖形化用戶界面)相關(guān)測試腳本開發(fā),可見,對于復(fù)雜的測試項目,自動化測試工程師(或團隊)需要掌握多種差異很大的開發(fā)語言或工具,并且,需要對不同語言開發(fā)的代碼進(jìn)行整合,技術(shù)難度很大,間接導(dǎo)致測試自動化率難以提高。而且,在日常工作中,工程師(或團隊)需要花費大量的時間在程序編寫和調(diào)試等“非核心業(yè)務(wù)”上,而無法專注在測試本身。在這樣的背景下,類似美國國家儀器有限公司(NationalInstruments)的TestStand軟件越來越受到硬件測試人員的喜愛。TestStand是一套“測試序列構(gòu)建”軟件,自動化測試開發(fā)人員可以用LabVIEW、C等編寫具體的測試步驟,總體的測試序列/邏輯由TestStand構(gòu)建,這樣,一方面可以減小編程工作量,同時,簡化了各類語言開發(fā)的程序的集成難度。但TestStand同樣存在其不足之處I.只能用于構(gòu)建測試序列,具體測試步驟仍需通過編程實現(xiàn),如簡單的文件IO操作需要外部編程實現(xiàn);2.通過適配器(Adapter)可調(diào)用軟件模塊類型較少,主要有LabVIEWVI、CVIDLL、C/C++DLL、.NET,ActiveX和HTBasic等,對偏向網(wǎng)絡(luò)測試的腳本語言如TCUPython等只能通過“CallExecutable”的方式間接調(diào)用,參數(shù)傳遞不靈活;3.無法支持⑶I自動化。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種硬件設(shè)備自動化測試系統(tǒng),提供各類可用于實現(xiàn)測試步驟自動化的模塊/工具,可以在一個系統(tǒng)中整合各類軟硬件資源,實現(xiàn)測試流程自動化。此外,本發(fā)明進(jìn)一步提供上述硬件設(shè)備自動化測試系統(tǒng)的測試方法,提供各類可用于實現(xiàn)測試步驟自動化的模塊/工具,可以在一個系統(tǒng)中整合各類軟硬件資源,實現(xiàn)測試流程自動化。為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案一種硬件設(shè)備自動化測試系統(tǒng),所述系統(tǒng)包括測試邏輯模塊、通用工具模塊、外部程序調(diào)用模塊、網(wǎng)絡(luò)協(xié)議模塊和GUI自動化模塊;測試邏輯模塊包含用于實現(xiàn)各類測試邏輯的工具,這些工具用于實現(xiàn)各類測試邏輯,將其它模塊中的工具組合成完整的測試流程;測試邏輯模塊包括循環(huán)單元、條件判斷單元、并行單元、等待單元、事件觸發(fā)單元;循環(huán)單元用于實現(xiàn)測試流程中的需要循環(huán)的步驟;分為兩種類型循環(huán)次數(shù)確定的循環(huán)——設(shè)置循環(huán)次數(shù)即可;需要在每次循環(huán)結(jié)束后通過條件判斷確定是否繼續(xù)循環(huán)——設(shè)置循環(huán)條件,設(shè)置一個或多個條件,這些條件通過與、或邏輯組合;條件判斷單元用于通過條件判斷確定測試流程走向,S卩,在多個可能的分支中,選擇一個分支執(zhí)行;針對每個分支,設(shè)置一個或多個條件,多個條件通過與、或邏輯組合;有一個分支為默認(rèn)分支,當(dāng)所有條件都不滿足時,執(zhí)行該分支;并行單元用于并行執(zhí)行多個測試任務(wù);多個并行的任務(wù)同時開始,獨立執(zhí)行,直到所有任務(wù)都執(zhí)行結(jié)束。并行結(jié)構(gòu)不限制同時執(zhí)行的任務(wù)數(shù)量;等待單元用于在測試流程中插入等待;事件觸發(fā)單元用于在過個并行測試任務(wù)間設(shè)置事件觸發(fā)關(guān)系;分為兩個模塊“觸發(fā)事件”模塊和“等待事件”模塊;“等待事件”模塊會一直等待,直到“觸發(fā)事件”模塊等到執(zhí)行,并觸發(fā)該事件;通用工具模塊包含了測試過程中通用的測試步驟實現(xiàn)工具,包括文件操作工具、對話框工具、數(shù)學(xué)運算工具;文件操作工具通過配置完成對文件的創(chuàng)建、讀、寫、復(fù)制、刪除操作;可配置的參數(shù)有文件路徑、文件名、操作類型、寫操作中的數(shù)據(jù)源、讀操作中的被賦值變量名;對話框工具用于配置彈出式對話框,提示框或參數(shù)輸入框;可在對話框上呈現(xiàn)文本、下拉列表、復(fù)選框、圖片信息;同時,通過坐標(biāo)設(shè)置對話框在屏幕上的顯示位置,通過相對坐標(biāo)設(shè)置各顯示項在對話框上的位置;數(shù)學(xué)運算工具用于完成各類數(shù)學(xué)運算,包括加、減、乘、除、三角函數(shù)運算;通過在配置面板上寫表達(dá)式完成;外部程序調(diào)用模塊包含用于調(diào)用各類語言編寫的外部程序,包括LabVIEWVI調(diào)用工具、Win32DLL調(diào)用工具、ActiveX調(diào)用工具、.NETDLL調(diào)用工具、腳本調(diào)用工具;LabVIEffVI調(diào)用工具自動解析VI的輸入輸出參數(shù);輸入?yún)?shù)傳遞進(jìn)VI,VI執(zhí)行結(jié)束后將結(jié)果返回;Win32DLL調(diào)用工具通過對應(yīng)的.h文件解析被調(diào)用DLL內(nèi)部的函數(shù)及其參數(shù)列表;輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;ActiveX調(diào)用工具解析出ActiveX內(nèi)部的函數(shù)及其參數(shù)列表;輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;.NETDLL調(diào)用工具解析出DLL內(nèi)部的函數(shù)及其參數(shù)列表,輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;腳本調(diào)用工具用于配置、參數(shù)化、執(zhí)行各類腳本,包括TCL、Java、VB、Python腳本;腳本語言中的任何字段都可映射成變量,每種腳本語言都需要正確配置語言類型,并選用對應(yīng)的后臺執(zhí)行引擎執(zhí)行;腳本執(zhí)行結(jié)果作為變量保存;網(wǎng)絡(luò)協(xié)議模塊用于實現(xiàn)各類網(wǎng)絡(luò)協(xié)議的讀寫的自動化,支持的網(wǎng)絡(luò)協(xié)議包括RS232、Telnet、SSH、TCP、UDP協(xié)議;各類不同網(wǎng)絡(luò)協(xié)議的操作方法類似配置連接參數(shù)、建立連接、錄制并修改操作腳本;對于RS232,需要配置的連接參數(shù)有波特率、數(shù)據(jù)位、停止位、奇偶校驗等;對于其它基于TCP/IP的協(xié)議,需要配置的連接參數(shù)有IP地址、端口號;建立連接后,通過指令方式與外圍設(shè)備通信;所發(fā)出的指令和收到的返回信息都會被錄制成腳本;GUI自動化模塊通過“錄制-回放”方式實現(xiàn)對各類圖形化用戶界面操作的自動化,支持的圖形化用戶界面包括Win32⑶I、JavaGUI、WebGUI、.NETGUI;⑶I自動化模塊先“錄制”腳本,然后再“回放”;“錄制”也稱“捕獲”,即在測試者運行應(yīng)用程序的同時,把它的所有動作,包括鍵盤操作、鼠標(biāo)點擊等捕獲下來,生成一個腳本文件,這個腳本以后可被“回放”,也就是按照上一次的所有動作重復(fù)執(zhí)行一遍,實現(xiàn)自動運行和測試;所錄制的腳本可根據(jù)需要進(jìn)行編輯、修改。一種硬件設(shè)備自動化測試系統(tǒng),所述系統(tǒng)包括測試邏輯模塊、通用工具模塊、外部程序調(diào)用模塊、網(wǎng)絡(luò)協(xié)議模塊和GUI自動化模塊;測試邏輯模塊包含用于實現(xiàn)各類測試邏輯的工具,這些工具用于實現(xiàn)各類測試邏輯,將其它模塊中的工具組合成完整的測試流程;通用工具模塊包含了測試過程中通用的測試步驟實現(xiàn)工具;外部程序調(diào)用模塊包含用于調(diào)用各類語言編寫的外部程序;網(wǎng)絡(luò)協(xié)議模塊用于實現(xiàn)各類網(wǎng)絡(luò)協(xié)議的讀寫的自動化;GUI自動化模塊通過“錄制-回放”方式實現(xiàn)對各類圖形化用戶界面操作的自動化。作為本發(fā)明的一種優(yōu)選方案,所述測試邏輯模塊包括循環(huán)單元、條件判斷單元、并行單元、等待單元、事件觸發(fā)單元;循環(huán)單元用于實現(xiàn)測試流程中的需要循環(huán)的步驟;分為兩種類型循環(huán)次數(shù)確定的循環(huán)——設(shè)置循環(huán)次數(shù)即可;需要在每次循環(huán)結(jié)束后通過條件判斷確定是否繼續(xù)循環(huán)——設(shè)置循環(huán)條件,設(shè)置一個或多個條件,這些條件通過與、或邏輯組合;條件判斷單元用于通過條件判斷確定測試流程走向,S卩,在多個可能的分支中,選擇一個分支執(zhí)行;針對每個分支,設(shè)置一個或多個條件,多個條件通過與、或邏輯組合;有一個分支為默認(rèn)分支,當(dāng)所有條件都不滿足時,執(zhí)行該分支;并行單元用于并行執(zhí)行多個測試任務(wù);多個并行的任務(wù)同時開始,獨立執(zhí)行,直到所有任務(wù)都執(zhí)行結(jié)束。并行結(jié)構(gòu)不限制同時執(zhí)行的任務(wù)數(shù)量;等待單元用于在測試流程中插入等待;事件觸發(fā)單元用于在過個并行測試任務(wù)間設(shè)置事件觸發(fā)關(guān)系;分為兩個模塊“觸發(fā)事件”模塊和“等待事件”模塊;“等待事件”模塊會一直等待,直到“觸發(fā)事件”模塊等到執(zhí)行,并觸發(fā)該事件;作為本發(fā)明的一種優(yōu)選方案,所述通用工具模塊包括文件操作工具、對話框工具、數(shù)學(xué)運算工具;文件操作工具通過配置完成對文件的創(chuàng)建、讀、寫、復(fù)制、刪除操作;可配置的參數(shù)有文件路徑、文件名、操作類型、寫操作中的數(shù)據(jù)源、讀操作中的被賦值變量名;對話框工具用于配置彈出式對話框,提示框或參數(shù)輸入框;可在對話框上呈現(xiàn)文本、下拉列表、復(fù)選框、圖片信息;同時,通過坐標(biāo)設(shè)置對話框在屏幕上的顯示位置,通過相對坐標(biāo)設(shè)置各顯示項在對話框上的位置;數(shù)學(xué)運算工具用于完成各類數(shù)學(xué)運算,包括加、減、乘、除、三角函數(shù)運算;通過在配置面板上寫表達(dá)式完成;作為本發(fā)明的一種優(yōu)選方案,外部程序調(diào)用模塊包括LabVIEWVI調(diào)用工具、Win32DLL調(diào)用工具、ActiveX調(diào)用工具、.NETDLL調(diào)用工具、腳本調(diào)用工具;LabVIEffVI調(diào)用工具自動解析VI的輸入輸出參數(shù);輸入?yún)?shù)傳遞進(jìn)VI,VI執(zhí)行結(jié)束后將結(jié)果返回;Win32DLL調(diào)用工具通過對應(yīng)的.h文件解析被調(diào)用DLL內(nèi)部的函數(shù)及其參數(shù)列表;輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;ActiveX調(diào)用工具解析出ActiveX內(nèi)部的函數(shù)及其參數(shù)列表;輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;.NETDLL調(diào)用工具解析出DLL內(nèi)部的函數(shù)及其參數(shù)列表,輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;腳本調(diào)用工具用于配置、參數(shù)化、執(zhí)行各類腳本,包括TCL、Java、VB、Python腳本;腳本語言中的任何字段都可映射成變量,每種腳本語言都需要正確配置語言類型,并選用對應(yīng)的后臺執(zhí)行引擎執(zhí)行;腳本執(zhí)行結(jié)果作為變量保存;作為本發(fā)明的一種優(yōu)選方案,網(wǎng)絡(luò)協(xié)議模塊支持的網(wǎng)絡(luò)協(xié)議包括RS232、Telnet、SSH、TCP、UDP協(xié)議;各類不同網(wǎng)絡(luò)協(xié)議的操作方法類似配置連接參數(shù)、建立連接、錄制并修改操作腳本;對于RS232,需要配置的連接參數(shù)有波特率、數(shù)據(jù)位、停止位、奇偶校驗等;對于其它基于TCP/IP的協(xié)議,需要配置的連接參數(shù)有IP地址、端口號;建立連接后,通過指令方式與外圍設(shè)備通信;所發(fā)出的指令和收到的返回信息都會被錄制成腳本。作為本發(fā)明的一種優(yōu)選方案,所述GUI自動化模塊支持的圖形化用戶界面包括Win32⑶I、Java⑶I、Web⑶I、.NET⑶I;⑶I自動化模塊先“錄制”腳本,然后再“回放”;“錄制”也稱“捕獲”,即在測試者運行應(yīng)用程序的同時,把它的所有動作,包括鍵盤操作、鼠標(biāo)點擊等捕獲下來,生成一個腳本文件,這個腳本以后可被“回放”,也就是按照上一次的所有動作重復(fù)執(zhí)行一遍,實現(xiàn)自動運行和測試;所錄制的腳本可根據(jù)需要進(jìn)行編輯、修改。一種上述硬件設(shè)備自動化測試系統(tǒng)的測試方法,所述方法包括如下步驟步驟A、測試用例建立步驟;新建一個測試用例,得到一個測試流程設(shè)計窗口;步驟B、拖拽步驟;按照測試流程,把測試所需的功能模塊拖拽到測試流程設(shè)計區(qū)域;步驟C、配置步驟;每個功能模塊都有一個標(biāo)準(zhǔn)配置界面,用于配置步驟名稱、描述、輸入?yún)?shù)、輸出參數(shù)信息;步驟D、測試執(zhí)行步驟;根據(jù)步驟B、步驟C的設(shè)置,各功能模塊自動執(zhí)行,完成測試流程。作為本發(fā)明的一種優(yōu)選方案,在測試流程設(shè)計區(qū)域,按照測試用例的實際步驟,選擇能夠?qū)崿F(xiàn)該步驟所需功能的模塊/工具,包括測試邏輯模塊中的各類結(jié)構(gòu)、通用工具模塊中的各類工具、外部程序調(diào)用模塊中的各類工具、網(wǎng)絡(luò)協(xié)議模塊和GUI自動化模塊;將該模塊/工具拖拽到測試流程中,并配置參數(shù);測試流程的拖拽、配置過程也即測試用例的創(chuàng)建過程。作為本發(fā)明的一種優(yōu)選方案,每個模塊都有標(biāo)準(zhǔn)的輸入、輸出參數(shù)列表;輸入?yún)?shù)可賦固定值或變量,輸出參數(shù)自動生成變量并保存;一個模塊的輸出參數(shù)以變量的形式賦值給另外模塊的輸入?yún)?shù),從而實現(xiàn)數(shù)據(jù)的傳遞。本發(fā)明的有益效果在于本發(fā)明提出的無需編程實現(xiàn)硬件設(shè)備自動化測試系統(tǒng)及其測試方法,,與現(xiàn)有的通過編程實現(xiàn)自動化測試相比,具有以下優(yōu)勢(I)整合各類軟硬件資源硬件設(shè)備自動化測試可能用到各類軟硬件資源。傳統(tǒng)的通過編程實現(xiàn)自動化的方法,可能需要使用多種編程語言、軟件工具,來實現(xiàn)各個測試步驟的自動化,且難以實現(xiàn)全測試流程的自動化。本發(fā)明提出的系統(tǒng),提供了各類可用于實現(xiàn)測試步驟自動化的模塊/工具,可以在一個系統(tǒng)中整合各類軟硬件資源,實現(xiàn)測試流程自動化。(2)通過拖拽、配置方式完成測試用例創(chuàng)建無需編程即可完成測試用例創(chuàng)建;不同的功能模塊,有統(tǒng)一的外觀形式和輸入輸出列表;流程圖式的測試用例,標(biāo)準(zhǔn)化、可讀性強。圖I為本發(fā)明硬件設(shè)備自動化測試系統(tǒng)的組成示意圖。圖2為本發(fā)明自動化測試方法的流程圖。圖3為實施例二中測試示意圖。具體實施例方式下面結(jié)合附圖詳細(xì)說明本發(fā)明的優(yōu)選實施例。實施例一請參閱圖1,本發(fā)明揭示了一種無需編程即可實現(xiàn)各類復(fù)雜硬件設(shè)備自動化測試用例創(chuàng)建的系統(tǒng)10。硬件設(shè)備測試可能涉及到各類工具和方法,該系統(tǒng)包括測試邏輯模塊11、通用工具模塊12、外部程序調(diào)用模塊13、網(wǎng)絡(luò)協(xié)議模塊14和⑶I自動化模塊15。測試邏輯模塊測試邏輯模塊11包含了用于實現(xiàn)各類測試邏輯的工具,比如循環(huán)結(jié)構(gòu)111、條件判斷結(jié)構(gòu)112、并行結(jié)構(gòu)113、等待114、事件觸發(fā)115等。這些工具用于實現(xiàn)各類測試邏輯,將其它模塊中的工具組合成完整的測試流程。循環(huán)結(jié)構(gòu)111用于實現(xiàn)測試流程中的需要循環(huán)的步驟。分為兩種類型循環(huán)次數(shù)確定的循環(huán)——設(shè)置循環(huán)次數(shù)即可;需要在每次循環(huán)結(jié)束后通過條件判斷確定是否繼續(xù)循環(huán)一設(shè)置循環(huán)條件,且可設(shè)置多個條件,這些條件可通過與、或邏輯組合。條件判斷結(jié)構(gòu)112用于通過條件判斷確定測試流程走向,即,在多個可能的分支中,選擇一個分支執(zhí)行。針對每個分支,可設(shè)置一個或多個條件,多個條件可通過與、或邏輯組合。有一個分支為默認(rèn)分支,當(dāng)所有條件都不滿足時,執(zhí)行該分支。并行結(jié)構(gòu)113用于并行執(zhí)行多個測試任務(wù)。多個并行的任務(wù)同時開始,獨立執(zhí)行,直到所有任務(wù)都執(zhí)行結(jié)束。并行結(jié)構(gòu)不限制同時執(zhí)行的任務(wù)數(shù)量。等待結(jié)構(gòu)114用于在測試流程中插入等待。以毫秒為單位。事件觸發(fā)結(jié)構(gòu)115用于在過個并行測試任務(wù)間設(shè)置事件觸發(fā)關(guān)系。分為兩個模塊“觸發(fā)事件”模塊和“等待事件”模塊?!暗却录睍恢钡却?,直到“觸發(fā)事件”模塊等到執(zhí)行,并觸發(fā)該事件。通用工具模塊通用工具模塊12包含了測試過程中通用的測試步驟實現(xiàn)工具,比如文件操作工具121、對話框工具122、數(shù)學(xué)運算工具123等。文件操作工具121可通過配置完成對文件的創(chuàng)建、讀、寫、復(fù)制、刪除等操作??膳渲玫膮?shù)有文件路徑、文件名、操作類型、數(shù)據(jù)源(寫操作)、被賦值變量名(讀操作)。對話框工具122可用于配置彈出式對話框,如提示框或參數(shù)輸入框??稍趯υ捒蛏铣尸F(xiàn)文本、下拉列表、復(fù)選框、圖片等信息。同時,可通過坐標(biāo)(以屏幕左上角為原點)設(shè)置對話框在屏幕上的顯示位置、通過相對坐標(biāo)(相對對話框左上角)設(shè)置各顯示項在對話框上的位置。數(shù)學(xué)運算工具123可用于完成各類數(shù)學(xué)運算,如加、減、乘、除、三角函數(shù)等。通過在配置面板上寫表達(dá)式完成。外部程序調(diào)用模塊外部程序調(diào)用模塊13包含了用于調(diào)用各類語言編寫的外部程序,比如LabVIEWVI調(diào)用工具131、Win32DLL調(diào)用工具132、ActiveX調(diào)用工具133、·NETDLL調(diào)用工具134、TCLscript等各類腳本調(diào)用工具135等。LabVIEffVI調(diào)用工具131可以自動解析VI的輸入輸出參數(shù)。輸入?yún)?shù)傳遞進(jìn)VI,VI執(zhí)行結(jié)束后將結(jié)果返回。Win32DLL調(diào)用工具132可通過對應(yīng)的.h文件解析被調(diào)用DLL內(nèi)部的函數(shù)及其參數(shù)列表。輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果。ActiveX調(diào)用工具133可解析出ActiveX內(nèi)部的函數(shù)及其參數(shù)列表。輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果。.NETDLL調(diào)用工具134可解析出DLL內(nèi)部的函數(shù)及其參數(shù)列表。輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果。腳本調(diào)用工具135可用于配置、參數(shù)化、執(zhí)行各類腳本,如TCL、Java、VB、Python等。腳本語言中的任何字段都可映射成變量,每種腳本語言都需要正確配置語言類型,并選用對應(yīng)的后臺執(zhí)行引擎執(zhí)行。腳本執(zhí)行結(jié)果可作為變量保存。網(wǎng)絡(luò)協(xié)議模塊網(wǎng)絡(luò)協(xié)議模塊14用于實現(xiàn)各類網(wǎng)絡(luò)協(xié)議的讀寫的自動化,可支持的網(wǎng)絡(luò)協(xié)議如RS232141、Telnet142、SSH143、TCP144、UDP145等。各類不同網(wǎng)絡(luò)協(xié)議的操作方法類似配置連接參數(shù)、建立連接、錄制并修改操作腳本。對于RS232,需要配置的連接參數(shù)有波特率、數(shù)據(jù)位、停止位、奇偶校驗等;對于其它基于TCP/IP的協(xié)議,需要配置的連接參數(shù)有IP地址、端口號等。建立連接后,可通過指令方式與外圍設(shè)備通信。所發(fā)出的指令和收到的返回信息都會被錄制成腳本。⑶I自動化模塊GUI自動化模塊15可通過“錄制-回放”方式實現(xiàn)對各類圖形化用戶界面操作的自動化,可支持的圖形化用戶界面如Win32⑶I151、JavaGUI152、WebGUI153,.NETGUI154。⑶I自動化模塊的基本原理是先“錄制”腳本,然后再“回放”。“錄制”也稱“捕獲”,即在測試者運行應(yīng)用程序的同時,把它的所有動作,包括鍵盤操作、鼠標(biāo)點擊等捕獲下來,生成一個腳本文件,這個腳本以后可以被“回放”,也就是按照上一次的所有動作重復(fù)執(zhí)行一遍,實現(xiàn)自動運行和測試。所錄制的腳本可以根據(jù)需要進(jìn)行編輯、修改。比如所錄制的鍵盤操作步驟,可修改按鍵。以上介紹了本發(fā)明的硬件設(shè)備自動化測試用例創(chuàng)建系統(tǒng)的組成,每個組成部分的具體體現(xiàn)形式是一個可拖拽、配置的模塊。本發(fā)明在揭示上述自動化測試用例創(chuàng)建系統(tǒng)組成部分的同時,還揭示一種無需編程實現(xiàn)測試用例創(chuàng)建的方法,該方法包括如下步驟步驟A測試用例建立步驟,即新建一個測試用例,得到一個測試流程設(shè)計窗口;步驟B拖拽步驟,按照測試流程,把測試所需的功能模塊拖拽到測試流程設(shè)計區(qū)域;步驟C配置步驟,每個功能模塊都有一個標(biāo)準(zhǔn)配置頁面,用于配置步驟名稱、描述、輸入?yún)?shù)、輸出參數(shù)等信息;步驟D測試執(zhí)行步驟;根據(jù)步驟B、步驟C的設(shè)置,各功能模塊自動執(zhí)行,完成測試流程。本發(fā)明所描述的無需編程實現(xiàn)自動化測試用例創(chuàng)建的方法,即在測試流程設(shè)計區(qū)域,按照測試用例的實際步驟,選擇能夠?qū)崿F(xiàn)該步驟所需功能的模塊/工具,如測試邏輯模塊中的各類結(jié)構(gòu)、通用測試模塊中的各類工具、外部程序調(diào)用模塊中的各類工具、網(wǎng)絡(luò)協(xié)議模塊和GUI自動化模塊等,將該模塊/工具拖拽到到測試流程中,并配置參數(shù)。測試流程的拖拽、配置過程也即測試用例的創(chuàng)建過程。每個模塊都有標(biāo)準(zhǔn)的輸入、輸出參數(shù)列表。輸入?yún)?shù)可以賦固定值或變量,輸出參數(shù)自動生成變量并保存。所以,一個模塊的輸出參數(shù)可以以變量的形式賦值給另外模塊的輸入?yún)?shù),從而實現(xiàn)數(shù)據(jù)的傳遞。實施例二本實施例以TD-LTE(第四代移動通信)基站矢量幅度誤差測試為例介紹本發(fā)明。測試流程如下用例描述驗證eNodeB發(fā)射信號的EVM是否符合規(guī)定測試過程12I)配置載波頻點,中心頻率為2350MHz;2)啟動eNodeB工作在E-TM3.I模式以最大功率發(fā)射;3)利用LTE頻譜儀測試調(diào)制方式為64QAM的TOSCHEVM;4)更改下行信號模式為E_TM3.2,測試調(diào)制方式為16QAM的TOSCHEVM;5)更改下行信號模式為E_TM3.3,測試調(diào)制方式為QPSK的TOSCHEVM;6)更改下行信號模式為E_TM2,測試調(diào)制方式為64QAM的TOSCHEVM;7)配置載波頻點,中心頻率為2310.4MHz,重復(fù)步驟2)4);8)配置載波頻點,中心頻率為2389.6MHz,重復(fù)步驟2)4);9)交換端口,重復(fù)步驟I)8)。預(yù)期結(jié)果eN0deB在不同調(diào)制方式下的發(fā)射信號的EVM滿足表I:權(quán)利要求1.一種硬件設(shè)備自動化測試系統(tǒng),其特征在于,所述系統(tǒng)包括測試邏輯模塊、通用工具模塊、外部程序調(diào)用模塊、網(wǎng)絡(luò)協(xié)議模塊和GUI自動化模塊;測試邏輯模塊包含用于實現(xiàn)各類測試邏輯的工具,這些工具用于實現(xiàn)各類測試邏輯,將其它模塊中的工具組合成完整的測試流程;測試邏輯模塊包括循環(huán)單元、條件判斷單元、并行單元、等待單元、事件觸發(fā)單元;循環(huán)單元用于實現(xiàn)測試流程中的需要循環(huán)的步驟;分為兩種類型循環(huán)次數(shù)確定的循環(huán)——設(shè)置循環(huán)次數(shù)即可;需要在每次循環(huán)結(jié)束后通過條件判斷確定是否繼續(xù)循環(huán)——設(shè)置循環(huán)條件,設(shè)置一個或多個條件,這些條件通過與、或邏輯組合;條件判斷單元用于通過條件判斷確定測試流程走向,即,在多個可能的分支中,選擇一個分支執(zhí)行;針對每個分支,設(shè)置一個或多個條件,多個條件通過與、或邏輯組合;有一個分支為默認(rèn)分支,當(dāng)所有條件都不滿足時,執(zhí)行該分支;并行單元用于并行執(zhí)行多個測試任務(wù);多個并行的任務(wù)同時開始,獨立執(zhí)行,直到所有任務(wù)都執(zhí)行結(jié)束;并行結(jié)構(gòu)不限制同時執(zhí)行的任務(wù)數(shù)量;等待單元用于在測試流程中插入等待;事件觸發(fā)單元用于在過個并行測試任務(wù)間設(shè)置事件觸發(fā)關(guān)系;分為兩個模塊“觸發(fā)事件”模塊和“等待事件”模塊;“等待事件”模塊會一直等待,直到“觸發(fā)事件”模塊等到執(zhí)行,并觸發(fā)該事件;通用工具模塊包含了測試過程中通用的測試步驟實現(xiàn)工具,包括文件操作工具、對話框工具、數(shù)學(xué)運算工具;文件操作工具通過配置完成對文件的創(chuàng)建、讀、寫、復(fù)制、刪除操作;可配置的參數(shù)有文件路徑、文件名、操作類型、寫操作中的數(shù)據(jù)源、讀操作中的被賦值變量名;對話框工具用于配置彈出式對話框,提示框或參數(shù)輸入框;可在對話框上呈現(xiàn)文本、下拉列表、復(fù)選框、圖片信息;同時,通過坐標(biāo)設(shè)置對話框在屏幕上的顯示位置,通過相對坐標(biāo)設(shè)置各顯示項在對話框上的位置;數(shù)學(xué)運算工具用于完成各類數(shù)學(xué)運算,包括加、減、乘、除、三角函數(shù)運算;通過在配置面板上寫表達(dá)式完成;外部程序調(diào)用模塊包含用于調(diào)用各類語言編寫的外部程序,包括LabVIEWVI調(diào)用工具、Win32DLL調(diào)用工具、ActiveX調(diào)用工具、.NETDLL調(diào)用工具、腳本調(diào)用工具;LabVIEffVI調(diào)用工具自動解析VI的輸入輸出參數(shù);輸入?yún)?shù)傳遞進(jìn)VI,VI執(zhí)行結(jié)束后將結(jié)果返回;Win32DLL調(diào)用工具通過對應(yīng)的.h文件解析被調(diào)用DLL內(nèi)部的函數(shù)及其參數(shù)列表;輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;ActiveX調(diào)用工具解析出ActiveX內(nèi)部的函數(shù)及其參數(shù)列表;輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;.NETDLL調(diào)用工具解析出DLL內(nèi)部的函數(shù)及其參數(shù)列表,輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;腳本調(diào)用工具用于配置、參數(shù)化、執(zhí)行各類腳本,包括TCL、Java、VB、Python腳本;腳本語言中的任何字段都可映射成變量,每種腳本語言都需要正確配置語言類型,并選用對應(yīng)的后臺執(zhí)行引擎執(zhí)行;腳本執(zhí)行結(jié)果作為變量保存;網(wǎng)絡(luò)協(xié)議模塊用于實現(xiàn)各類網(wǎng)絡(luò)協(xié)議的讀寫的自動化,支持的網(wǎng)絡(luò)協(xié)議包括RS232、Telnet、SSH、TCP、UDP協(xié)議;各類不同網(wǎng)絡(luò)協(xié)議的操作方法類似,包括配置連接參數(shù)、建立連接、錄制并修改操作腳本;對于RS232,需要配置的連接參數(shù)包括波特率、數(shù)據(jù)位、停止位、奇偶校驗;對于其它基于TCP/IP的協(xié)議,需要配置的連接參數(shù)包括IP地址、端口號;建立連接后,通過指令方式與外圍設(shè)備通信;所發(fā)出的指令和收到的返回信息都會被錄制成腳本;GUI自動化模塊通過“錄制-回放”方式實現(xiàn)對各類圖形化用戶界面操作的自動化,支持的圖形化用戶界面包括Win32⑶I、Java⑶I、Web⑶I、.NETCUI;GUI自動化模塊先“錄制”腳本,然后再“回放”;“錄制”也稱“捕獲”,即在測試者運行應(yīng)用程序的同時,把它的所有動作,包括鍵盤操作、鼠標(biāo)點擊捕獲下來,生成一個腳本文件,這個腳本以后可被“回放”,也就是按照上一次的所有動作重復(fù)執(zhí)行一遍,實現(xiàn)自動運行和測試;所錄制的腳本可根據(jù)需要進(jìn)行編輯、修改。2.—種硬件設(shè)備自動化測試系統(tǒng),其特征在于,所述系統(tǒng)包括測試邏輯模塊、通用工具模塊、外部程序調(diào)用模塊、網(wǎng)絡(luò)協(xié)議模塊和GUI自動化模塊;測試邏輯模塊包含用于實現(xiàn)各類測試邏輯的工具,這些工具用于實現(xiàn)各類測試邏輯,將其它模塊中的工具組合成完整的測試流程;通用工具模塊包含測試過程中通用的測試步驟實現(xiàn)工具;外部程序調(diào)用模塊包含用于調(diào)用各類語言編寫的外部程序;網(wǎng)絡(luò)協(xié)議模塊用于實現(xiàn)各類網(wǎng)絡(luò)協(xié)議的讀寫的自動化;GUI自動化模塊通過“錄制-回放”方式實現(xiàn)對各類圖形化用戶界面操作的自動化。3.根據(jù)權(quán)利要求2所述的硬件設(shè)備自動化測試系統(tǒng),其特征在于所述測試邏輯模塊包括循環(huán)單元、條件判斷單元、并行單元、等待單元、事件觸發(fā)單元;循環(huán)單元用于實現(xiàn)測試流程中的需要循環(huán)的步驟;分為兩種類型循環(huán)次數(shù)確定的循環(huán)——設(shè)置循環(huán)次數(shù)即可;需要在每次循環(huán)結(jié)束后通過條件判斷確定是否繼續(xù)循環(huán)——設(shè)置循環(huán)條件,設(shè)置一個或多個條件,這些條件通過與、或邏輯組合;條件判斷單元用于通過條件判斷確定測試流程走向,即,在多個可能的分支中,選擇一個分支執(zhí)行;針對每個分支,設(shè)置一個或多個條件,多個條件通過與、或邏輯組合;有一個分支為默認(rèn)分支,當(dāng)所有條件都不滿足時,執(zhí)行該分支;并行單元用于并行執(zhí)行多個測試任務(wù);多個并行的任務(wù)同時開始,獨立執(zhí)行,直到所有任務(wù)都執(zhí)行結(jié)束;并行結(jié)構(gòu)不限制同時執(zhí)行的任務(wù)數(shù)量;等待單元用于在測試流程中插入等待;事件觸發(fā)單元用于在過個并行測試任務(wù)間設(shè)置事件觸發(fā)關(guān)系;分為兩個模塊“觸發(fā)事件”模塊和“等待事件”模塊;“等待事件”模塊會一直等待,直到“觸發(fā)事件”模塊等到執(zhí)行,并觸發(fā)該事件。4.根據(jù)權(quán)利要求2所述的硬件設(shè)備自動化測試系統(tǒng),其特征在于所述通用工具模塊包括文件操作工具、對話框工具、數(shù)學(xué)運算工具;文件操作工具通過配置完成對文件的創(chuàng)建、讀、寫、復(fù)制、刪除操作;可配置的參數(shù)有文件路徑、文件名、操作類型、寫操作中的數(shù)據(jù)源、讀操作中的被賦值變量名;對話框工具用于配置彈出式對話框,提示框或參數(shù)輸入框;可在對話框上呈現(xiàn)文本、下拉列表、復(fù)選框、圖片信息;同時,通過坐標(biāo)設(shè)置對話框在屏幕上的顯示位置,通過相對坐標(biāo)設(shè)置各顯示項在對話框上的位置;數(shù)學(xué)運算工具用于完成各類數(shù)學(xué)運算,包括加、減、乘、除、三角函數(shù)運算;通過在配置面板上寫表達(dá)式完成。5.根據(jù)權(quán)利要求2所述的硬件設(shè)備自動化測試系統(tǒng),其特征在于所述外部程序調(diào)用模塊包括LabVIEWVI調(diào)用工具、Win32DLL調(diào)用工具、ActiveX調(diào)用工具、.NETDLL調(diào)用工具、腳本調(diào)用工具;LabVIEffVI調(diào)用工具自動解析VI的輸入輸出參數(shù);輸入?yún)?shù)傳遞進(jìn)VI,VI執(zhí)行結(jié)束后將結(jié)果返回;Win32DLL調(diào)用工具通過對應(yīng)的.h文件解析被調(diào)用DLL內(nèi)部的函數(shù)及其參數(shù)列表;輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;ActiveX調(diào)用工具解析出ActiveX內(nèi)部的函數(shù)及其參數(shù)列表;輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;.NETDLL調(diào)用工具解析出DLL內(nèi)部的函數(shù)及其參數(shù)列表,輸入?yún)?shù)傳遞進(jìn)所調(diào)用的函數(shù),執(zhí)行結(jié)束后返回結(jié)果;腳本調(diào)用工具用于配置、參數(shù)化、執(zhí)行各類腳本,包括TCL、Java、VB、Python腳本;腳本語言中的任何字段都可映射成變量,每種腳本語言都需要正確配置語言類型,并選用對應(yīng)的后臺執(zhí)行引擎執(zhí)行;腳本執(zhí)行結(jié)果作為變量保存。6.根據(jù)權(quán)利要求2所述的硬件設(shè)備自動化測試系統(tǒng),其特征在于所述網(wǎng)絡(luò)協(xié)議模塊支持的網(wǎng)絡(luò)協(xié)議包括RS232、Telnet、SSH、TCP、UDP協(xié)議;各類不同網(wǎng)絡(luò)協(xié)議的操作方法類似配置連接參數(shù)、建立連接、錄制并修改操作腳本;對于RS232,需要配置的連接參數(shù)有波特率、數(shù)據(jù)位、停止位、奇偶校驗;對于其它基于TCP/IP的協(xié)議,需要配置的連接參數(shù)有IP地址、端口號;建立連接后,通過指令方式與外圍設(shè)備通信;所發(fā)出的指令和收到的返回信息都會被錄制成腳本。7.根據(jù)權(quán)利要求2所述的硬件設(shè)備自動化測試系統(tǒng),其特征在于所述⑶I自動化模塊支持的圖形化用戶界面包括Win32⑶I、Java⑶I、Web⑶I、.NETGUI;⑶I自動化模塊先“錄制”腳本,然后再“回放”;“錄制”也稱“捕獲”,即在測試者運行應(yīng)用程序的同時,把它的所有動作,包括鍵盤操作、鼠標(biāo)點擊捕獲下來,生成一個腳本文件,這個腳本以后可被“回放”,也就是按照上一次的所有動作重復(fù)執(zhí)行一遍,實現(xiàn)自動運行和測試;所錄制的腳本可根據(jù)需要進(jìn)行編輯、修改。8.—種權(quán)利要求I至7之一所述硬件設(shè)備自動化測試系統(tǒng)的測試方法,其特征在于,所述方法包括如下步驟步驟A、測試用例建立步驟;新建一個測試用例,得到一個測試流程設(shè)計窗口;步驟B、拖拽步驟;按照測試流程,把測試所需的功能模塊拖拽到測試流程設(shè)計區(qū)域;步驟C、配置步驟;每個功能模塊都有一個標(biāo)準(zhǔn)配置界面,用于配置參數(shù)信息;步驟D、測試執(zhí)行步驟;根據(jù)步驟B、步驟C的設(shè)置,各功能模塊自動執(zhí)行,完成測試流程。9.根據(jù)權(quán)利要求8所述的硬件設(shè)備自動化測試系統(tǒng),其特征在于在測試流程設(shè)計區(qū)域,按照測試用例的實際步驟,選擇能夠?qū)崿F(xiàn)該步驟所需功能的模塊/工具,包括測試邏輯模塊中的各類結(jié)構(gòu)、通用工具模塊中的各類工具、外部程序調(diào)用模塊中的各類工具、網(wǎng)絡(luò)協(xié)議模塊和GUI自動化模塊;將該模塊/工具拖拽到測試流程中,并配置參數(shù);測試流程的拖拽、配置過程也即測試用例的創(chuàng)建過程。10.根據(jù)權(quán)利要求8或9所述的硬件設(shè)備自動化測試系統(tǒng),其特征在于每個模塊都有標(biāo)準(zhǔn)的輸入、輸出參數(shù)列表;輸入?yún)?shù)可賦固定值或變量,輸出參數(shù)自動生成變量并保存;一個模塊的輸出參數(shù)以變量的形式賦值給另外模塊的輸入?yún)?shù),從而實現(xiàn)數(shù)據(jù)的傳遞。全文摘要本發(fā)明揭示了一種硬件設(shè)備自動化測試系統(tǒng)及其測試方法,所述系統(tǒng)包括測試邏輯模塊、通用工具模塊、外部程序調(diào)用模塊、網(wǎng)絡(luò)協(xié)議模塊和GUI自動化模塊;測試邏輯模塊包含用于實現(xiàn)各類測試邏輯的工具,這些工具用于實現(xiàn)各類測試邏輯,將其它模塊中的工具組合成完整的測試流程;通用工具模塊包含了測試過程中通用的測試步驟實現(xiàn)工具;外部程序調(diào)用模塊包含用于調(diào)用各類語言編寫的外部程序;網(wǎng)絡(luò)協(xié)議模塊用于實現(xiàn)各類網(wǎng)絡(luò)協(xié)議的讀寫的自動化;GUI自動化模塊通過“錄制-回放”方式實現(xiàn)對各類圖形化用戶界面操作的自動化。本發(fā)明提供各類可用于實現(xiàn)測試步驟自動化的模塊/工具,可以在一個系統(tǒng)中整合各類軟硬件資源,實現(xiàn)測試流程自動化。文檔編號G06F11/22GK102609341SQ20111019076公開日2012年7月25日申請日期2011年7月8日優(yōu)先權(quán)日2011年7月8日發(fā)明者張驍,李康,費海平申請人:張驍,李康,費海平
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1