本發(fā)明涉及通信技術(shù)領(lǐng)域,具體地,涉及一種協(xié)議互操作性測試方法及裝置。
背景技術(shù):
隨著通信技術(shù)的飛速發(fā)展,通信網(wǎng)絡(luò)規(guī)模越來越大,包含的設(shè)備也越來越多、越來越復(fù)雜,各種軟硬件層出不窮,為了讓不同生產(chǎn)廠家的產(chǎn)品互連起來可以正常工作,就需要進(jìn)行產(chǎn)品間的互通測試。此時(shí),通信協(xié)議就是互連互通的關(guān)鍵。目前主要有兩種協(xié)議測試技術(shù):協(xié)議互操作性測試和協(xié)議一致性測試。雖然協(xié)議一致性測試是保證互操作性的一個(gè)必要的步驟,但是由于協(xié)議描述本身的模糊、一致性測試的不徹底、廠商對協(xié)議實(shí)現(xiàn)的擴(kuò)充等原因的存在,通過協(xié)議一致性測試的協(xié)議實(shí)現(xiàn)體不一定能正確互操作。
協(xié)議互操作性測試主要是為檢驗(yàn)兩個(gè)或多個(gè)協(xié)議實(shí)現(xiàn)是否可以進(jìn)行正常交互提供期望的服務(wù)。通常采用已通過權(quán)威操作性測試的標(biāo)準(zhǔn)實(shí)現(xiàn)與被測實(shí)現(xiàn)進(jìn)行正確交互,從而驗(yàn)證被測實(shí)現(xiàn)的可靠性和穩(wěn)定性。
目前的協(xié)議互操作性測試的研究工作盡管已經(jīng)非常深入,但還只是停留在理論上,無法在實(shí)際測試中起到指導(dǎo)作用。在實(shí)際的產(chǎn)品協(xié)議開發(fā)及后續(xù)的測試中,一般在本地開發(fā)測試環(huán)境通過串口工具連接硬件產(chǎn)品,并通過抓包工具做進(jìn)一步的人工分析。該方法測試效率比較低,人工操作工作量大,不適用于遠(yuǎn)程、大規(guī)模地產(chǎn)品互操作驗(yàn)證。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一,提出了一種協(xié)議互操作性測試方法及裝置,其能夠?qū)崿F(xiàn)協(xié)議互操作性測試序列生成、協(xié)議數(shù)據(jù)解析、測試結(jié)果分析的自動(dòng)化,從而可以提高測試及分析效率,而且能夠應(yīng)用于大規(guī)模產(chǎn)品的互操作驗(yàn)證。
為實(shí)現(xiàn)本發(fā)明的目的而提供一種協(xié)議互操作性測試方法,包括:
生成并執(zhí)行測試序列;
監(jiān)聽所述測試序列,并采集至少一個(gè)被測實(shí)現(xiàn)的協(xié)議數(shù)據(jù);
解析所述協(xié)議數(shù)據(jù),并生成測試結(jié)果;
將所述測試結(jié)果與預(yù)期結(jié)果進(jìn)行對比,并記錄對比結(jié)果;
根據(jù)所述對比結(jié)果生成協(xié)議互操作性測試報(bào)告。
優(yōu)選的,所述生成并執(zhí)行測試序列包括:
配置測試協(xié)議、測試場景和測試執(zhí)行步驟;
在協(xié)議指令信息庫中檢索與所述測試執(zhí)行步驟對應(yīng)的協(xié)議指令;
解析所述協(xié)議指令;
根據(jù)所述協(xié)議指令生成測試序列;
按所述測試場景和所述測試執(zhí)行步驟執(zhí)行所述測試序列。
優(yōu)選的,所述測試序列包括引導(dǎo)部分、執(zhí)行部分和測試部分。
優(yōu)選的,所述協(xié)議數(shù)據(jù)包括測試序列、所述被測實(shí)現(xiàn)的接收數(shù)據(jù)和發(fā)送數(shù)據(jù)。
優(yōu)選的,所述解析所述協(xié)議數(shù)據(jù),并生成測試結(jié)果包括:
應(yīng)用模式匹配方法對所述協(xié)議數(shù)據(jù)進(jìn)行匹配,并根據(jù)匹配結(jié)果判斷所述協(xié)議數(shù)據(jù)的協(xié)議類型;
針對所述協(xié)議類型解析所述協(xié)議數(shù)據(jù),并生成測試結(jié)果;
為所述測試結(jié)果建立協(xié)議樹;所述協(xié)議樹的父節(jié)點(diǎn)標(biāo)識所述協(xié)議類型,所述協(xié)議樹的子節(jié)點(diǎn)標(biāo)識協(xié)議字段及字段值,從而解析獲得與所述測試執(zhí)行步驟對應(yīng)的所述被測實(shí)現(xiàn)的所有輸出所述協(xié)議數(shù)據(jù)的幀格式。
優(yōu)選的,所述將所述測試結(jié)果與預(yù)期結(jié)果進(jìn)行對比,并記錄對比結(jié)果包括:
預(yù)先存儲(chǔ)預(yù)期結(jié)果;所述預(yù)期結(jié)果為與所述測試執(zhí)行步驟對應(yīng)的標(biāo)準(zhǔn)實(shí)現(xiàn)返回的協(xié)議數(shù)據(jù)的幀格式;該幀格式通過建立協(xié)議樹,并解析標(biāo)識獲得;
定位所述測試協(xié)議的協(xié)議樹節(jié)點(diǎn),并對比所述測試結(jié)構(gòu)的協(xié)議樹和所述預(yù)期結(jié)果的協(xié)議樹的子節(jié)點(diǎn)標(biāo)識協(xié)議字段及字段值,并記錄對比結(jié)果。
優(yōu)選的,所述根據(jù)所述對比結(jié)果生成協(xié)議互操作性測試報(bào)告包括:
設(shè)置對比結(jié)果過濾規(guī)則,以過濾與所述被測實(shí)現(xiàn)的唯一性標(biāo)識相關(guān)的比對差異字段,并生成協(xié)議互操作性測試報(bào)告。
作為另一個(gè)技術(shù)方案,本發(fā)明提供一種協(xié)議互操作性測試裝置,其包括:
序列生成單元,用于生成并執(zhí)行測試序列;
協(xié)議數(shù)據(jù)采集單元,用于監(jiān)聽所述測試序列,并采集至少一個(gè)被測實(shí)現(xiàn)的協(xié)議數(shù)據(jù);
協(xié)議數(shù)據(jù)解析單元,用于解析所述協(xié)議數(shù)據(jù),并生成測試結(jié)果;
對比單元,用于將所述測試結(jié)果與預(yù)期結(jié)果進(jìn)行對比,并記錄對比結(jié)果;
測試結(jié)果報(bào)告單元,用于根據(jù)所述對比結(jié)果生成協(xié)議互操作性測試報(bào)告。
優(yōu)選的所述序列生成單元包括:
配置模塊,用于配置測試協(xié)議、測試場景和測試執(zhí)行步驟;
檢索模塊,用于在協(xié)議指令信息庫中檢索與所述測試執(zhí)行步驟對應(yīng)的協(xié)議指令;
解析模塊,用于解析所述協(xié)議指令;
生成模塊,用于根據(jù)所述協(xié)議指令生成測試序列;
執(zhí)行模塊,用于按所述測試場景和所述測試執(zhí)行步驟執(zhí)行所述測試序列。
優(yōu)選的,所述協(xié)議數(shù)據(jù)采集單元為一個(gè)或多個(gè),且多個(gè)所述協(xié)議數(shù)據(jù)采集單元一一對應(yīng)地采集多個(gè)被測實(shí)現(xiàn)的協(xié)議數(shù)據(jù)。
優(yōu)選的,所述協(xié)議數(shù)據(jù)解析單元用于:
應(yīng)用模式匹配方法對所述協(xié)議數(shù)據(jù)進(jìn)行匹配,并根據(jù)匹配結(jié)果判斷所述協(xié)議數(shù)據(jù)的協(xié)議類型;
針對所述協(xié)議類型解析所述協(xié)議數(shù)據(jù),并生成測試結(jié)果;
為所述測試結(jié)果建立協(xié)議樹;所述協(xié)議樹的父節(jié)點(diǎn)標(biāo)識所述協(xié)議類型,所述協(xié)議樹的子節(jié)點(diǎn)標(biāo)識協(xié)議字段及字段值,從而解析獲得與所述測試執(zhí)行步驟對應(yīng)的所述被測實(shí)現(xiàn)的所有輸出所述協(xié)議數(shù)據(jù)的幀格式。
優(yōu)選的,所述對比單元包括:
存儲(chǔ)模塊,用于預(yù)先存儲(chǔ)預(yù)期結(jié)果;所述預(yù)期結(jié)果為與所述測試執(zhí)行步驟對應(yīng)的標(biāo)準(zhǔn)實(shí)現(xiàn)返回的協(xié)議數(shù)據(jù)的幀格式;該幀格式通過建立協(xié)議樹,并解析標(biāo)識獲得;
對比模塊,用于定位所述測試協(xié)議的協(xié)議樹節(jié)點(diǎn),并對比所述測試結(jié)構(gòu)的協(xié)議樹和所述預(yù)期結(jié)果的協(xié)議樹的子節(jié)點(diǎn)標(biāo)識協(xié)議字段及字段值,并記錄對比結(jié)果。
本發(fā)明具有以下有益效果:
本發(fā)明提供的協(xié)議互操作性測試方法及裝置的技術(shù)方案中,該方法包括:生成并執(zhí)行測試序列;監(jiān)聽所述測試序列,并采集至少一個(gè)被測實(shí)現(xiàn)的協(xié)議數(shù)據(jù);解析協(xié)議數(shù)據(jù),并生成測試結(jié)果;將測試結(jié)果與預(yù)期結(jié)果進(jìn)行對比,并記錄對比結(jié)果;根據(jù)對比結(jié)果生成協(xié)議互操作性測試報(bào)告。由此,能夠?qū)崿F(xiàn)協(xié)議互操作性測試序列生成、協(xié)議數(shù)據(jù)解析、測試結(jié)果分析的自動(dòng)化,從而可以提高測試及分析效率,而且能夠應(yīng)用于大規(guī)模產(chǎn)品的互操作驗(yàn)證。
附圖說明
圖1為本發(fā)明實(shí)施例提供的協(xié)議互操作性測試方法的流程框圖;
圖2為圖1中步驟s1的流程框圖;
圖3為圖1中步驟s3的流程框圖;
圖4為圖1中步驟s4的流程框圖;
圖5為本發(fā)明第一實(shí)施例提供的協(xié)議互操作性測試裝置的原理框圖;
圖6為本發(fā)明第二實(shí)施例提供的協(xié)議互操作性測試裝置的原理框圖。
具體實(shí)施方式
為使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖來對本發(fā)明提供的協(xié)議互操作性測試方法及裝置進(jìn)行詳細(xì)描述。
請參閱圖1,本發(fā)明實(shí)施例提供的協(xié)議互操作性測試方法,其包括:
s1,生成并執(zhí)行測試序列;
s2,監(jiān)聽該測試序列,并采集至少一個(gè)被測實(shí)現(xiàn)的協(xié)議數(shù)據(jù);
s3,解析該協(xié)議數(shù)據(jù),并生成測試結(jié)果;
s4,將該測試結(jié)果與預(yù)期結(jié)果進(jìn)行對比,并記錄對比結(jié)果;
s5,根據(jù)該對比結(jié)果生成協(xié)議互操作性測試報(bào)告。
本發(fā)明實(shí)施例提供的協(xié)議互操作性測試方法,其通過上述步驟能夠?qū)崿F(xiàn)協(xié)議互操作性測試序列生成、協(xié)議數(shù)據(jù)解析、測試結(jié)果分析的自動(dòng)化,從而可以提高測試及分析效率,而且能夠應(yīng)用于大規(guī)模產(chǎn)品的互操作驗(yàn)證。
上述協(xié)議數(shù)據(jù)包括測試序列、被測實(shí)現(xiàn)的接收數(shù)據(jù)和發(fā)送數(shù)據(jù)。
請參閱圖2,上述步驟s1包括:
s11,配置測試協(xié)議、測試場景和測試執(zhí)行步驟;
s12,在協(xié)議指令信息庫中檢索與該測試執(zhí)行步驟對應(yīng)的協(xié)議指令;
s13,解析該協(xié)議指令;
s14,根據(jù)該協(xié)議指令生成測試序列;
s15,按上述測試場景和測試執(zhí)行步驟執(zhí)行測試序列。
在上述步驟s14中,測試序列包括引導(dǎo)部分、執(zhí)行部分和測試部分。上述測試執(zhí)行步驟決定測試序列的執(zhí)行順序,一個(gè)測試執(zhí)行步驟可能執(zhí)行一個(gè)或多個(gè)測試序列。
請參閱圖3,上述步驟s3包括:
s31,應(yīng)用模式匹配方法對上述協(xié)議數(shù)據(jù)進(jìn)行匹配,并根據(jù)匹配結(jié)果判斷協(xié)議數(shù)據(jù)的協(xié)議類型;
s32,針對該協(xié)議類型解析協(xié)議數(shù)據(jù),并生成測試結(jié)果;
s33,為測試結(jié)果建立協(xié)議樹;該協(xié)議樹的父節(jié)點(diǎn)標(biāo)識協(xié)議類型,協(xié)議樹的子節(jié)點(diǎn)標(biāo)識協(xié)議字段及字段值,從而解析獲得與上述測試執(zhí)行步驟對應(yīng)的被測實(shí)現(xiàn)的所有輸出協(xié)議數(shù)據(jù)的幀格式。
請參閱圖4,上述步驟s4包括:
s41,預(yù)先存儲(chǔ)預(yù)期結(jié)果;該預(yù)期結(jié)果為與測試執(zhí)行步驟對應(yīng)的標(biāo)準(zhǔn)實(shí)現(xiàn)返回的協(xié)議數(shù)據(jù)的幀格式;該幀格式通過建立協(xié)議樹,并解析標(biāo)識獲得,即建立與上述測試結(jié)果的協(xié)議樹同樣格式的協(xié)議樹。
s42,定位測試協(xié)議的協(xié)議樹節(jié)點(diǎn),并對比測試結(jié)果的協(xié)議樹和預(yù)期結(jié)果的協(xié)議樹的子節(jié)點(diǎn)標(biāo)識協(xié)議字段及字段值,并記錄對比結(jié)果。
上述對比過程是對比測試結(jié)果的協(xié)議樹和預(yù)期結(jié)果的協(xié)議樹是否存在差異字段。
上述步驟s5包括:設(shè)置對比結(jié)果過濾規(guī)則,以過濾與被測實(shí)現(xiàn)的唯一性標(biāo)識相關(guān)的比對差異字段,并生成協(xié)議互操作性測試報(bào)告。
上述與被測實(shí)現(xiàn)的唯一性標(biāo)識相關(guān)的比對差異字段是由于設(shè)備標(biāo)識或網(wǎng)絡(luò)標(biāo)識等的不同產(chǎn)生的差異,因此,通過設(shè)置上述過濾規(guī)則,過濾與被測實(shí)現(xiàn)的唯一性標(biāo)識相關(guān)的比對差異字段,可以生成更精準(zhǔn)的測試報(bào)告。
作為另一個(gè)技術(shù)方案,請參閱圖5,本發(fā)明第一實(shí)施例還提供一種協(xié)議互操作性測試裝置,其特征在于,包括:
序列生成單元1,用于生成并執(zhí)行測試序列;
協(xié)議數(shù)據(jù)采集單元2,用于監(jiān)聽該測試序列,并采集至少一個(gè)被測實(shí)現(xiàn)的協(xié)議數(shù)據(jù);
協(xié)議數(shù)據(jù)解析單元3,用于解析該協(xié)議數(shù)據(jù),并生成測試結(jié)果;
對比單元4,用于將該測試結(jié)果與預(yù)期結(jié)果進(jìn)行對比,并記錄對比結(jié)果;
測試結(jié)果報(bào)告單元5,用于根據(jù)該對比結(jié)果生成協(xié)議互操作性測試報(bào)告。
本發(fā)明實(shí)施例提供的協(xié)議互操作性測試裝置,其借助上述各個(gè)單元能夠?qū)崿F(xiàn)協(xié)議互操作性測試序列生成、協(xié)議數(shù)據(jù)解析、測試結(jié)果分析的自動(dòng)化,從而可以提高測試及分析效率,而且能夠應(yīng)用于大規(guī)模產(chǎn)品的互操作驗(yàn)證。
在實(shí)際應(yīng)用中,協(xié)議數(shù)據(jù)采集單元3可以為一個(gè)或多個(gè),且對于多個(gè)被測實(shí)現(xiàn),多個(gè)協(xié)議數(shù)據(jù)采集單元3一一對應(yīng)地采集多個(gè)被測實(shí)現(xiàn)的協(xié)議數(shù)據(jù)。
請參閱圖6,在上述第一實(shí)施例的基礎(chǔ)上,本發(fā)明第二實(shí)施例提供的協(xié)議互操作性測試裝置,其序列生成單元1進(jìn)一步包括:
配置模塊11,用于配置測試協(xié)議、測試場景和測試執(zhí)行步驟;
檢索模塊12,用于在協(xié)議指令信息庫6中檢索與上述測試執(zhí)行步驟對應(yīng)的協(xié)議指令;
解析模塊13,用于解析該協(xié)議指令;
生成模塊14,用于根據(jù)該協(xié)議指令生成測試序列;
執(zhí)行模塊15,用于按測試場景和測試執(zhí)行步驟執(zhí)行測試序列。
協(xié)議數(shù)據(jù)解析單元3具體用于:應(yīng)用模式匹配方法對協(xié)議數(shù)據(jù)進(jìn)行匹配,并根據(jù)匹配結(jié)果判斷該協(xié)議數(shù)據(jù)的協(xié)議類型;調(diào)用與該協(xié)議類型對應(yīng)的解析模塊13逐級解析協(xié)議數(shù)據(jù),并生成測試結(jié)果。然后,為該測試結(jié)果建立協(xié)議樹;該協(xié)議樹的父節(jié)點(diǎn)標(biāo)識協(xié)議類型,協(xié)議樹的子節(jié)點(diǎn)標(biāo)識協(xié)議字段及字段值,從而解析獲得與測試執(zhí)行步驟對應(yīng)的被測實(shí)現(xiàn)的所有輸出協(xié)議數(shù)據(jù)的幀格式。
對比單元4包括:
存儲(chǔ)模塊41,用于預(yù)先存儲(chǔ)預(yù)期結(jié)果;該預(yù)期結(jié)果為與測試執(zhí)行步驟對應(yīng)的標(biāo)準(zhǔn)實(shí)現(xiàn)返回的協(xié)議數(shù)據(jù)的幀格式;該幀格式通過建立協(xié)議樹,并解析標(biāo)識獲得,即建立與上述測試結(jié)果的協(xié)議樹同樣格式的協(xié)議樹。
對比模塊42,用于定位測試協(xié)議的協(xié)議樹節(jié)點(diǎn),并對比測試結(jié)構(gòu)的協(xié)議樹和預(yù)期結(jié)果構(gòu)的協(xié)議樹的子節(jié)點(diǎn)標(biāo)識協(xié)議字段及字段值,并記錄對比結(jié)果。
測試結(jié)果報(bào)告單元5用于設(shè)置對比結(jié)果過濾規(guī)則,以過濾與被測實(shí)現(xiàn)的唯一性標(biāo)識相關(guān)的比對差異字段,并生成協(xié)議互操作性測試報(bào)告。
可以理解的是,以上實(shí)施方式僅僅是為了說明本發(fā)明的原理而采用的示例性實(shí)施方式,然而本發(fā)明并不局限于此。對于本領(lǐng)域內(nèi)的普通技術(shù)人員而言,在不脫離本發(fā)明的精神和實(shí)質(zhì)的情況下,可以做出各種變型和改進(jìn),這些變型和改進(jìn)也視為本發(fā)明的保護(hù)范圍。