一種基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及儀表流量自動(dòng)化測試領(lǐng)域,尤其涉及一種基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前對于自動(dòng)化測試平臺(tái)環(huán)境中的儀表自動(dòng)化測試,本質(zhì)是利用各個(gè)儀表提供的 API (Applicat1n Programming Interface,應(yīng)用程序編程接口)庫,例如 Smartbits 的SmartLibrary、IXIA的Ixia API Library開發(fā)定制適用于自身測試平臺(tái)的測試庫。用戶根據(jù)現(xiàn)有的自動(dòng)化測試環(huán)境選擇加載對應(yīng)儀表的測試庫,測試庫中的測試案例調(diào)用測試庫中的方法實(shí)現(xiàn)對儀表的測試操作,由于每類儀表的API實(shí)現(xiàn)方式不同,因此測試案例需要針對每套API對應(yīng)的自身的一套測試方案。當(dāng)多套產(chǎn)品需要同時(shí)測試時(shí),每套產(chǎn)品的測試套均要做相應(yīng)的變化,不易維護(hù)。
[0003]由于現(xiàn)有技術(shù)針對不同類型的儀表開發(fā)對應(yīng)的測試庫,自動(dòng)化測試的人員根據(jù)調(diào)用測試庫中的實(shí)現(xiàn)方法單獨(dú)或組合對應(yīng)的測試案例。當(dāng)自動(dòng)化測試環(huán)境中的儀表改變后,需加載其他測試庫,對應(yīng)的測試案例都需要做相應(yīng)的變動(dòng)。因?yàn)殡S著儀表類型的改變,儀表測試時(shí)的調(diào)用函數(shù)隨之改變,或者調(diào)用的函數(shù)沒變,但對應(yīng)的形參數(shù)量以及形參類型有所變化。因此,每當(dāng)自動(dòng)化測試環(huán)境發(fā)生改變,測試案例均需隨之進(jìn)行變更,或者需要準(zhǔn)備適應(yīng)多套測試環(huán)境的多套測試案例。此種測試操作造成了測試套的冗余,同時(shí)增加了測試維護(hù)的工作量。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于解決現(xiàn)有技術(shù)中當(dāng)自動(dòng)化測試環(huán)境發(fā)生變化或者新增流量測試儀表時(shí),測試案例需要進(jìn)行相應(yīng)變更的問題。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法。所述方法包括以下步驟:連接待測器件,進(jìn)行自動(dòng)化平臺(tái)測試;加載中間層一致性接口,用以與不同流量測試儀表的庫文件相連,以使測試環(huán)境發(fā)生變化時(shí)不用更改庫文件;以及通過中間層一致性接口與所述流量測試儀表相連,執(zhí)行測試。
[0006]進(jìn)一步地,所述定義中間層一致性接口具體包括以下步驟:定義板卡類與端口類父類;定義一板卡測試子類繼承所述板卡類父類,用以實(shí)現(xiàn)連接機(jī)框、保留板卡操作;以及定義一端口測試子類繼承所述端口類父類,用以實(shí)現(xiàn)占用端口、選擇網(wǎng)絡(luò)協(xié)議、配置報(bào)文、流量參數(shù)設(shè)置、清除流量統(tǒng)計(jì)、啟動(dòng)抓包、發(fā)送流量、停止抓包,流量統(tǒng)計(jì)、報(bào)文分析操作。
[0007]進(jìn)一步地,所述板卡測試子類與所述端口測試子類的設(shè)置,用以定義流量測試方法,采用不定形參與全局變量表相結(jié)合的方式實(shí)現(xiàn)所述板卡測試子類與所述端口測試子類的操作。
[0008]進(jìn)一步地,所述板卡測試子類與所述端口測試子類的設(shè)置,用以定義流量測試方法,采用不定形參與全局變量表相結(jié)合的方式實(shí)現(xiàn)所述板卡測試子類與所述端口測試子類的操作具體包括以下步驟:將所述流量測試儀表的參量變量表及關(guān)鍵字鍵值存儲(chǔ)在所述全局變量表中;將所述流量測試儀表的儀表類型及測試參數(shù)存儲(chǔ)在所述參量變量表中;以及當(dāng)所述流量測試儀表的儀表類型發(fā)生改變或增加時(shí),將對應(yīng)更改的所述流量測試儀表的儀表類型及測試參數(shù)在所述參量變量表進(jìn)行替換。
[0009]進(jìn)一步地,所述流量測試儀表包括Smartbits,IXIA,TestCenter中的一個(gè)或多個(gè)。
[0010]進(jìn)一步地,本發(fā)明還提供了一種基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試系統(tǒng),所述系統(tǒng)包括:自動(dòng)化平臺(tái)測試服務(wù)器,中間層一致性接口以及測試執(zhí)行模塊;所述自動(dòng)化平臺(tái)測試服務(wù)器,用以連接待測器件,進(jìn)行自動(dòng)化平臺(tái)測試;所述中間層一致性接口,用以與不同流量測試儀表的庫文件相連,以使測試環(huán)境發(fā)生變化時(shí)不用更改庫文件;所述測試執(zhí)行模塊,通過中間層一致性接口與所述流量測試儀表相連,執(zhí)行測試。
[0011 ] 進(jìn)一步地,所述中間層一致性接口具體包括:父類測試子模塊以及子類測試子模塊;所述父類測試子模塊,定義板卡類與端口類父類;所述子類測試子模塊,定義一板卡測試子類繼承所述板卡類父類,用以實(shí)現(xiàn)連接機(jī)框、保留板卡操作;以及定義一端口測試子類繼承所述端口類父類,用以實(shí)現(xiàn)占用端口、選擇網(wǎng)絡(luò)協(xié)議、配置報(bào)文、流量參數(shù)設(shè)置、清除流量統(tǒng)計(jì)、啟動(dòng)抓包、發(fā)送流量、停止抓包,流量統(tǒng)計(jì)、報(bào)文分析操作。
[0012]進(jìn)一步地,所述子類測試子模塊,用以定義流量測試方法,采用不定形參與全局變量表相結(jié)合的方式實(shí)現(xiàn)所述板卡測試子類與所述端口測試子類的操作。
[0013]進(jìn)一步地,所述子類測試子模塊具體包括:全局變量表以及參量變量表;所述全局變量表,用以存儲(chǔ)所述流量測試儀表的參量變量表及關(guān)鍵字鍵值;所述參量變量表,用以存儲(chǔ)所述流量測試儀表的儀表類型及測試參數(shù);當(dāng)所述流量測試儀表的儀表類型發(fā)生改變或增加時(shí),將對應(yīng)更改的所述流量測試儀表的儀表類型及測試參數(shù)在所述變量表進(jìn)行替換。
[0014]進(jìn)一步地,所述流量測試儀表包括Smartbits,IXIA, TestCenter中的一個(gè)或多個(gè)。
[0015]本發(fā)明所提供的基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法定義了儀表中間層一致性接口,通過設(shè)計(jì)板卡類與端口類兩個(gè)父類,進(jìn)而采用通用方法子類繼承者兩個(gè)父類;并采用不定形參與全局變量結(jié)合的方式來實(shí)現(xiàn)子類操作,其中全局變量中由變量表與關(guān)鍵字鍵值組合而成。使得自動(dòng)化開發(fā)者不需要針對不同測試儀表開發(fā)幾套不同的測試庫,使用者也不需要考慮測試環(huán)境中進(jìn)行操作的儀表的類型,只需加載儀表中間層一致性接口即可。解決了測試環(huán)境變更而導(dǎo)致需整個(gè)測試套進(jìn)行調(diào)整的問題,增強(qiáng)了自動(dòng)化平臺(tái)測試的穩(wěn)定性,能夠兼容不同類型儀表的庫文件接口,屏蔽不同儀表的物理特性操作。
【附圖說明】
[0016]圖1為本發(fā)明實(shí)施例提供的一種基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法的方法步驟流程圖;
[0017]圖2為本發(fā)明實(shí)施例提供的自動(dòng)化測試平臺(tái)運(yùn)行環(huán)境示意圖;
[0018]圖3為本發(fā)明實(shí)施例提供的中間層儀表一致接口在自動(dòng)化測試平臺(tái)中的邏輯結(jié)構(gòu)圖;
[0019]圖4為本發(fā)明實(shí)施例提供的中間層儀表一致接口子類方法過程圖;
[0020]圖5為未應(yīng)用本發(fā)明實(shí)施例提供的基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法的測試邏輯示意圖;
[0021]圖6為應(yīng)用本發(fā)明實(shí)施例提供的基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法的測試邏輯示意圖;以及
[0022]圖7為本發(fā)明實(shí)施例提供的基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試系統(tǒng)的結(jié)構(gòu)框圖。
[0023]本發(fā)明的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖作進(jìn)一步說明。
【具體實(shí)施方式】
[0024]以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明,并且在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0025]如圖1所示,為本發(fā)明實(shí)施例提供的一種基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法的方法步驟流程圖。本發(fā)明提供的一種基于儀表中間層開發(fā)的自動(dòng)化平臺(tái)測試方法包括以下步驟:
[0026]SlOl:連接待測器件,進(jìn)行自動(dòng)化平臺(tái)測試;
[0027]S102:定義中間層一致性接口,用以與不同流量測試儀表的庫文件相連,以使測試環(huán)境發(fā)生變化時(shí)不用更改庫文件,使得自動(dòng)化開發(fā)者不需要針對不同流量測試儀表而開發(fā)幾套不同的測試庫,使用者也不需要考慮測試環(huán)境中的流量測試儀表類型,只加載中間層接口即可;以及
[0028]S103:通過中間層一致性接口與流量測試儀表相連,執(zhí)行測試。
[0029]其中,進(jìn)一步地,本發(fā)明實(shí)施例中的流量測試儀表包括Smartbits,IXIA,TestCenter中的一個(gè)或多個(gè)。
[0030]本發(fā)明設(shè)計(jì)的自動(dòng)化平臺(tái)測試方法是基于python開發(fā)的關(guān)鍵字自動(dòng)化測試框架,但本方案也同樣適用于其他語言的自動(dòng)化平臺(tái)測試,在此并不做限定。
[0031]進(jìn)一步地,當(dāng)流量測試儀表的類型不同,即為流量測試儀表的API實(shí)現(xiàn)方式不同,實(shí)現(xiàn)目的操作均為選取板卡,占用端口,在端口上添加數(shù)據(jù)流,設(shè)置流量參數(shù),收發(fā)包以及流量統(tǒng)計(jì)等。因此步驟S102定義中間層一致性接口具體包括以下步驟:
[0032]S20:定義板卡類與端口類父類;
[0033]S21:定義一板卡測試子類繼承板卡類父類,用以實(shí)現(xiàn)連接機(jī)框、保留板卡等操作;
[0034]S22:定義一端口測試子類繼承端口類父類,用以實(shí)現(xiàn)占用端口、選擇網(wǎng)絡(luò)協(xié)議、配置報(bào)文、流量參數(shù)設(shè)置、清除流量統(tǒng)計(jì)、啟動(dòng)抓包、發(fā)送流量、停止抓包,流量統(tǒng)計(jì)、報(bào)文分析等操作。
[0035]如圖2所示,為本發(fā)明實(shí)施例提供的自動(dòng)化測試平臺(tái)運(yùn)行環(huán)境示意圖。本發(fā)明提供的自動(dòng)化平臺(tái)測試環(huán)境是一個(gè)基礎(chǔ)的二三層設(shè)備功能測試自動(dòng)化運(yùn)行環(huán)境參見圖2,包括自動(dòng)化測試平臺(tái)、待測器件DUT以及流量測試儀表,進(jìn)而得知本發(fā)明適用于所有的寬帶進(jìn)入設(shè)備的自動(dòng)化測試環(huán)境。其中,自動(dòng)化測試平臺(tái)包括測試案例管理平臺(tái)、調(diào)度平臺(tái)、自動(dòng)化測試平臺(tái)運(yùn)行環(huán)境(圖中未示出)。
[0036]進(jìn)一步地,板卡測試子類與端口測試子類的設(shè)置,用以定義流量測試方法,采用不定形參與全局變量表相結(jié)合通用函數(shù)func(*args,**dictargs)的方式實(shí)現(xiàn)板卡測試子類與端口測試子類的操作,其中,*args即不定形參為通用形參,**dictargS為全局變量表,所述全局變量表中含有參量變量表以及關(guān)鍵字鍵值,當(dāng)流量測試儀表增加或測試環(huán)境發(fā)生變化時(shí)只需將參量變量表中的儀表類型及測試參數(shù)進(jìn)行替換即可。
[0037]本發(fā)明實(shí)施例關(guān)鍵在于每個(gè)子類方法的實(shí)現(xiàn)上,儀表中間層一致性接口的設(shè)置,每個(gè)測試子類方法必須兼容所有流量測試儀表的API接口。考慮到流量測試儀表一般支持C/C++,TCL形式的調(diào)用,一般可采用TCL(Tool Control Language,工具控制語言)進(jìn)行開發(fā),如果是python語言可以用TKinter庫進(jìn)行轉(zhuǎn)換。如圖3所示,為本發(fā)明實(shí)施例提供的中間層儀表一致接口在自動(dòng)化測試平臺(tái)中的邏輯結(jié)構(gòu)圖。儀表中間層一致性接口 MiddleLayer Accessibility Traffic Interface 位于測試套(Test Suit)(即,整套測試測試用例)與各流量測試儀表Smartbits、IXIA、TestCenter之間,基于各儀表的應(yīng)用程序提供的控制硬件的接口以及HighLevel API (高階定義接口 )提煉出針對每個(gè)方法的一致性接口參數(shù)。
[0038]進(jìn)一步地,板卡測試子類與端口測試子類的設(shè)置,用以定義流量測試方法,采用不定形參與全局變量表相結(jié)合的方式實(shí)現(xiàn)板