專利名稱:測試報(bào)文處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種測試報(bào)文處理系統(tǒng),尤其涉及一種應(yīng)用于自動(dòng)化測試中的測試報(bào)文處理系統(tǒng)。
背景技術(shù):
隨著通信技術(shù)的飛速發(fā)展,通信設(shè)備的研發(fā)必須要高質(zhì)量、高速度,于是如何高效的完成新產(chǎn)品的測試成為產(chǎn)品決勝的關(guān)鍵環(huán)節(jié)之一。自動(dòng)化測試是理想之選,通信設(shè)備的測試用例一般由圖1所示幾部分組成。網(wǎng)絡(luò)協(xié)議的模擬和被測設(shè)備的工作狀態(tài)驗(yàn)證,必然要面對報(bào)文的封裝與解封裝過程。面對龐大的網(wǎng)絡(luò)協(xié)議家族,測試平臺的開發(fā)要支持各種協(xié)議報(bào)文,這給測試平臺的開發(fā)帶來了巨大的工作量;對測試人員來講也成了掌握的難點(diǎn)和測試用例的瓶頸。近年來,隨著自動(dòng)化測試技術(shù)的發(fā)展,也出現(xiàn)的一些比較好的技術(shù)方案如圖2所示,可以提供圖形界面讓測試人員簡單的點(diǎn)擊鼠標(biāo)來完成常用報(bào)文的封裝和解封裝。如IXIA推出的測試軟件Ix&cplorer,可以在界面中完成常用報(bào)文的封裝和解封裝。如現(xiàn)有技術(shù)中的命令行方式可以讓測試人員只要掌握報(bào)文的結(jié)構(gòu)就可以完成組包。請參閱圖3,如Linux的開源軟件nemesis。以上兩項(xiàng)技術(shù),雖然都為測試人員提供了方便報(bào)文封裝和解封裝的方案,但他們的操作流程如下1)首先測試人員查詢軟件能不能支持某種報(bào)文的封裝和解封裝;幻根據(jù)軟件使用說明完成封裝和解封裝;幻對于軟件不支持的報(bào)文格式,測試人員無能為力只能反饋給軟件開發(fā)人員進(jìn)行軟件更新。以上技術(shù)為常用協(xié)議的測試提供了一種途徑,但是因?yàn)闇y試平臺在開發(fā)階段用了比較復(fù)雜的C語言或者C++語言等,根據(jù)軟件設(shè)計(jì)不同,每款軟件僅能支持幾種協(xié)議報(bào)文的封裝和解封裝。一旦要支持其他的協(xié)議則必須進(jìn)行軟件的更新。由于軟件本身存在代碼量大、設(shè)計(jì)復(fù)雜、編程語言深?yuàn)W等缺點(diǎn),必須要平臺的專家才能完成這種更新。在通信技術(shù)飛速發(fā)展的時(shí)代里,這種機(jī)制明顯制約了自動(dòng)化測試的發(fā)展。有鑒于此,有必要提出一種全新的測試報(bào)文處理系統(tǒng)以提高測試效率,降低測試平臺的維護(hù)成本。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種測試報(bào)文處理系統(tǒng),其降低測試平臺維護(hù)成本,提高測試效率。為實(shí)現(xiàn)上述目的,本發(fā)明是關(guān)于一種測試報(bào)文處理系統(tǒng),其包括報(bào)文格式定義數(shù)據(jù)庫、完成報(bào)文封裝的報(bào)文封裝模組、完成報(bào)文解封裝的報(bào)文解封裝模組及報(bào)文處理引擎。 報(bào)文格式定義數(shù)據(jù)庫定義報(bào)文中各字段的長度、有效值范圍、默認(rèn)值及處理方式。報(bào)文處理引擎負(fù)責(zé)查詢報(bào)文格式定義數(shù)據(jù)庫并指揮報(bào)文封裝模組及報(bào)文解封裝模組正確執(zhí)行指令,以完成報(bào)文的封裝和解封裝。作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文封裝模組包括輸入封裝報(bào)文的字段值的字段輸入接口模塊、完成報(bào)文封裝的報(bào)文封裝模塊及以指定格式輸出報(bào)文的封裝結(jié)果的報(bào)文輸出模塊。作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文封裝階段,報(bào)文處理引擎負(fù)責(zé)對報(bào)文格式定義數(shù)據(jù)庫進(jìn)行查找,并向字段輸入接口模塊和報(bào)文封裝模塊發(fā)送正確的處理指令。作為本發(fā)明的進(jìn)一步改進(jìn),所述字段輸入接口模塊定義統(tǒng)一的TCLCTool Command Langulage)語言接口,完成對報(bào)文各字段值的設(shè)置。作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文封裝模塊根據(jù)字段輸入接口模塊輸入的字段值和報(bào)文格式定義數(shù)據(jù)庫查找的結(jié)果,完成報(bào)文的封裝。作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文封裝模塊包括報(bào)文字段處理模塊、報(bào)文封裝規(guī)則處理模塊及報(bào)文組裝模塊,其中報(bào)文字段處理模塊查詢報(bào)文格式定義數(shù)據(jù)庫以取出字段的合法值定義和其他字段屬性完成字段值的設(shè)置;報(bào)文封裝規(guī)則處理模塊查詢報(bào)文格式定義數(shù)據(jù)庫對數(shù)據(jù)庫中定義的字段規(guī)則進(jìn)行處理;報(bào)文組裝模塊完成對報(bào)文的封裝。作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文解封裝模組包括提供報(bào)文輸出接口的報(bào)文輸入接口模塊、對輸入報(bào)文進(jìn)行解析取出報(bào)文中各字段值的報(bào)文解封裝模塊及輸出解析結(jié)果的字段值輸出模塊。作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文解封裝階段,報(bào)文處理引擎查找報(bào)文格式定義數(shù)據(jù)庫并給報(bào)文接封裝模塊發(fā)出正確的處理指令。作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文輸入接口模塊提供輸入原始報(bào)文字符串,以便對報(bào)文進(jìn)行正確的解封裝,取出報(bào)文中各字段值。作為本發(fā)明的進(jìn)一步改進(jìn),所述字段值輸出模塊輸出報(bào)文解封裝的結(jié)果以方便自動(dòng)化測試平臺的讀取和比較。作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文解封裝模塊包括識別報(bào)文模塊、字段解析模塊及字段設(shè)置模塊,其中識別報(bào)文模塊查詢報(bào)文格式定義數(shù)據(jù)庫以識別報(bào)文中各字段類型并取出對應(yīng)解析規(guī)則;字段解析模塊根據(jù)報(bào)文格式定義數(shù)據(jù)庫中對應(yīng)的規(guī)則對字段進(jìn)行解析并取出各字段的值;字段設(shè)置模塊根據(jù)解析的結(jié)果對字段的值進(jìn)行設(shè)置。本發(fā)明的有益效果是與測試平臺相獨(dú)立的測試報(bào)文處理系統(tǒng),通過字段規(guī)則數(shù)據(jù)庫的引入,將新報(bào)文的開發(fā)簡化為報(bào)文格式定義數(shù)據(jù)庫的維護(hù),不需要對測試平臺做任何改進(jìn)即可完成自動(dòng)化測試過程中的測試平臺對新協(xié)議的支持。
圖1是現(xiàn)有技術(shù)中通信設(shè)備測試用例的組成;圖2是現(xiàn)有技術(shù)中IXIA推出的測試軟件IxExplorer的部分截圖;圖3是現(xiàn)有技術(shù)中Linux的開源軟件nemesis的部分截圖;圖4是本發(fā)明測試報(bào)文處理系統(tǒng)的基本結(jié)構(gòu)圖;圖5是本發(fā)明測試報(bào)文處理系統(tǒng)的報(bào)文封裝流程圖;圖6是本發(fā)明測試報(bào)文處理系統(tǒng)的報(bào)文解封裝流程圖。
具體實(shí)施例方式本發(fā)明測試報(bào)文處理系統(tǒng)包括包括字段輸入接口模塊、報(bào)文封裝模塊及報(bào)文輸出模塊的報(bào)文封裝模組、包括報(bào)文輸入接口模塊、報(bào)文解封裝模塊及字段值輸出模塊的報(bào)文解封裝模組、報(bào)文處理引擎及報(bào)文格式定義數(shù)據(jù)庫。其中報(bào)文格式定義數(shù)據(jù)庫定義了報(bào)文中的各字段的長度、有效值范圍、默認(rèn)值、處理方式等。報(bào)文處理引擎主要負(fù)責(zé)對報(bào)文格式定義數(shù)據(jù)庫的查詢和處理,指揮其他模塊正確的執(zhí)行指令。報(bào)文封裝模組的字段輸入接口模塊定義統(tǒng)一的TCL(Tools Command Language, 工具命令語言)語言接口,完成對報(bào)文各字段值的設(shè)置。報(bào)文封裝模組的報(bào)文封裝模塊根據(jù)輸入的字段值和數(shù)據(jù)庫查找的結(jié)果,完成報(bào)文的封裝。報(bào)文封裝模組的報(bào)文輸出模塊以指定的格式,輸出報(bào)文封裝的結(jié)果。報(bào)文解封裝模組的報(bào)文輸入接口模塊提供輸入原始報(bào)文字符串,以便對報(bào)文進(jìn)行正確的解封裝,取出各報(bào)文中各字段的值。報(bào)文解封裝模組的報(bào)文解封裝模塊對輸入的原始報(bào)文進(jìn)行解封裝,解析出報(bào)文各字段的值。報(bào)文解封裝模組的字段值輸出模塊輸出報(bào)文解封裝的結(jié)果,方便自動(dòng)化測試平臺的讀取和比較。圖4為本發(fā)明的基本結(jié)構(gòu)圖,主要分兩個(gè)部分1報(bào)文的封裝字段輸入接口模塊S101,輸入封裝報(bào)文的字段值。報(bào)文封裝模塊S102,根據(jù)設(shè)置的字段,完成報(bào)文的封裝。報(bào)文輸出模塊S103,以指定的格式輸出報(bào)文的封裝結(jié)果。在字段輸入接口模塊SlOl輸入封裝報(bào)文的字段值和報(bào)文封裝模塊S102根據(jù)設(shè)置的字段完成報(bào)文的封裝階段,報(bào)文處理引擎S105負(fù)責(zé)對報(bào)文格式定義數(shù)據(jù)庫S104進(jìn)行查找,并給字段輸入接口模塊SlOl和報(bào)文封裝模塊S102發(fā)送正確的處理指令。2報(bào)文的解封裝報(bào)文輸入模塊S106,提供報(bào)文的輸出接口。報(bào)文解封裝模塊S107,對輸入報(bào)文進(jìn)行解析,取出報(bào)文中各字段的值。字段值輸出模塊S108,輸出解析的結(jié)果。在報(bào)文解封封裝階段,報(bào)文處理引擎S105會(huì)查找報(bào)文格式定義數(shù)據(jù)庫S104,并給報(bào)文解封裝模塊S107發(fā)出正確的處理指令。報(bào)文封裝模塊S102包括報(bào)文字段處理模塊S202、報(bào)文封裝規(guī)則處理模塊S204及報(bào)文組裝模塊S205三個(gè)子模塊。圖5示出了本發(fā)明報(bào)文封裝模塊S102進(jìn)行報(bào)文封裝的步驟,其處理流程如下步驟1 報(bào)文字段處理模塊S202,首先查找報(bào)文格式定義數(shù)據(jù)庫S203,取出字段的合法值定義和其他字段屬性,完成字段值的設(shè)置。步驟2 報(bào)文封裝規(guī)則處理模塊S204,查找報(bào)文格式定義數(shù)據(jù)庫S203,對數(shù)據(jù)庫中定義的字段處理規(guī)則進(jìn)行處理。步驟3 報(bào)文組裝模塊S205,完成對報(bào)文的封裝。報(bào)文解封裝模塊S107包括識別報(bào)文模塊S303、字段解析模塊S304及字段設(shè)置模塊S305三個(gè)子模塊。圖6示出了本發(fā)明報(bào)文解封裝模塊S107進(jìn)行報(bào)文解封裝的步驟,其處理流程如下步驟1 識別報(bào)文模塊S303,首先查找報(bào)文格式定義數(shù)據(jù)庫S302,識別出報(bào)文中各字段類型并取出數(shù)據(jù)庫中對應(yīng)解析規(guī)則。步驟2 字段解析模塊S304,根據(jù)報(bào)文格式定義數(shù)據(jù)庫S302中對應(yīng)的規(guī)則,對字段進(jìn)行解析,取出各字段的值。步驟3 字段設(shè)置模塊S305,根據(jù)解析的結(jié)果,對字段的值進(jìn)行設(shè)置。特別需要指出的是,本發(fā)明具體實(shí)施方式
中僅以該測試報(bào)文處理系統(tǒng)作為示例, 在實(shí)際應(yīng)用中任何類型的測試報(bào)文處理系統(tǒng)均適用本發(fā)明揭示的原理。對于本領(lǐng)域的普通技術(shù)人員來說,在本發(fā)明的教導(dǎo)下所作的針對本發(fā)明的等效變化,仍應(yīng)包含在本發(fā)明權(quán)利要求所主張的范圍中。
權(quán)利要求
1.一種測試報(bào)文處理系統(tǒng),其包括報(bào)文格式定義數(shù)據(jù)庫、完成報(bào)文封裝的報(bào)文封裝模組、完成報(bào)文解封裝的報(bào)文解封裝模組及報(bào)文處理引擎;報(bào)文格式定義數(shù)據(jù)庫定義報(bào)文中各字段的長度、有效值范圍、默認(rèn)值及處理方式;報(bào)文處理引擎負(fù)責(zé)查詢報(bào)文格式定義數(shù)據(jù)庫并指揮報(bào)文封裝模組及報(bào)文解封裝模組正確執(zhí)行指令,以完成報(bào)文的封裝和解封裝。
2.如權(quán)利要求1所述的測試報(bào)文處理系統(tǒng),其特征在于,所述報(bào)文封裝模組包括輸入封裝報(bào)文的字段值的字段輸入接口模塊、完成報(bào)文封裝的報(bào)文封裝模塊及以指定格式輸出報(bào)文的封裝結(jié)果的報(bào)文輸出模塊。
3.如權(quán)利要求2所述的測試報(bào)文處理系統(tǒng),其特征在于,所述報(bào)文封裝階段,報(bào)文處理引擎負(fù)責(zé)對報(bào)文格式定義數(shù)據(jù)庫進(jìn)行查找,并向字段輸入接口模塊和報(bào)文封裝模塊發(fā)送正確的處理指令。
4.如權(quán)利要求2所述的測試報(bào)文處理系統(tǒng),其特征在于,所述字段輸入接口模塊定義統(tǒng)一的TCL(Tool Command Langulage)語言接口,完成對報(bào)文各字段值的設(shè)置。
5.如權(quán)利要求2所述的測試報(bào)文處理系統(tǒng),其特征在于,所述報(bào)文封裝模塊根據(jù)字段輸入接口模塊輸入的字段值和報(bào)文格式定義數(shù)據(jù)庫查找的結(jié)果,完成報(bào)文的封裝。
6.如權(quán)利要求2所述的測試報(bào)文處理系統(tǒng),其特征在于,所述報(bào)文封裝模塊包括報(bào)文字段處理模塊、報(bào)文封裝規(guī)則處理模塊及報(bào)文組裝模塊,其中報(bào)文字段處理模塊查詢報(bào)文格式定義數(shù)據(jù)庫以取出字段的合法值定義和其他字段屬性完成字段值的設(shè)置;報(bào)文封裝規(guī)則處理模塊查詢報(bào)文格式定義數(shù)據(jù)庫對數(shù)據(jù)庫中定義的字段規(guī)則進(jìn)行處理;報(bào)文組裝模塊完成對報(bào)文的封裝。
7.如權(quán)利要求1所述的測試報(bào)文處理系統(tǒng),其特征在于,所述報(bào)文解封裝模組包括提供報(bào)文輸出接口的報(bào)文輸入接口模塊、對輸入報(bào)文進(jìn)行解析取出報(bào)文中各字段值的報(bào)文解封裝模塊及輸出解析結(jié)果的字段值輸出模塊。
8.如權(quán)利要求7所述的測試報(bào)文處理系統(tǒng),其特征在于,所述報(bào)文解封裝階段,報(bào)文處理引擎查找報(bào)文格式定義數(shù)據(jù)庫并給報(bào)文接封裝模塊發(fā)出正確的處理指令。
9.如權(quán)利要求7所述的測試報(bào)文處理系統(tǒng),其特征在于,所述報(bào)文輸入接口模塊提供輸入原始報(bào)文字符串,以便對報(bào)文進(jìn)行正確的解封裝,取出報(bào)文中各字段值。
10.如權(quán)利要求7所述的測試報(bào)文處理系統(tǒng),其特征在于,所述字段值輸出模塊輸出報(bào)文解封裝的結(jié)果以方便自動(dòng)化測試平臺的讀取和比較。
11.如權(quán)利要求7所述的測試報(bào)文處理系統(tǒng),其特征在于,所述報(bào)文解封裝模塊包括識別報(bào)文模塊、字段解析模塊及字段設(shè)置模塊,其中識別報(bào)文模塊查詢報(bào)文格式定義數(shù)據(jù)庫以識別報(bào)文中各字段類型并取出對應(yīng)解析規(guī)則;字段解析模塊根據(jù)報(bào)文格式定義數(shù)據(jù)庫中對應(yīng)的規(guī)則對字段進(jìn)行解析并取出各字段的值;字段設(shè)置模塊根據(jù)解析的結(jié)果對字段的值進(jìn)行設(shè)置。
全文摘要
本發(fā)明關(guān)于一種測試報(bào)文處理系統(tǒng),其包括報(bào)文格式定義數(shù)據(jù)庫、完成報(bào)文封裝的報(bào)文封裝模組、完成報(bào)文解封裝的報(bào)文解封裝模組及報(bào)文處理引擎。報(bào)文格式定義數(shù)據(jù)庫定義報(bào)文中各字段的長度、有效值范圍、默認(rèn)值及處理方式;報(bào)文處理引擎負(fù)責(zé)查詢報(bào)文格式定義數(shù)據(jù)庫并指揮報(bào)文封裝模組及報(bào)文解封裝模組正確執(zhí)行指令,以完成報(bào)文的封裝和解封裝。與測試平臺相獨(dú)立的測試報(bào)文處理系統(tǒng),通過字段規(guī)則數(shù)據(jù)庫的引入,將新報(bào)文的開發(fā)簡化為報(bào)文格式定義數(shù)據(jù)庫的維護(hù),不需要對測試平臺做任何改進(jìn)即可完成自動(dòng)化測試過程中的測試平臺對新協(xié)議的支持。
文檔編號G06F17/30GK102377506SQ20101025203
公開日2012年3月14日 申請日期2010年8月12日 優(yōu)先權(quán)日2010年8月12日
發(fā)明者楊曙軍 申請人:盛科網(wǎng)絡(luò)(蘇州)有限公司