亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

協(xié)議測試的裝置及其實現(xiàn)協(xié)議測試的方法

文檔序號:7599437閱讀:174來源:國知局
專利名稱:協(xié)議測試的裝置及其實現(xiàn)協(xié)議測試的方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信測試技術(shù)領(lǐng)域,尤其涉及一種層次化協(xié)議測試的裝置及其實現(xiàn)協(xié)議測試的方法。
背景技術(shù)
網(wǎng)絡(luò)協(xié)議是現(xiàn)代通信領(lǐng)域中的一個非常重要的概念,是網(wǎng)絡(luò)通信的一組規(guī)范。協(xié)議實現(xiàn)的正確性是通信網(wǎng)絡(luò)能夠正常工作的基本保證。而協(xié)議測試則是保證協(xié)議實現(xiàn)正確性和網(wǎng)絡(luò)產(chǎn)品互通的重要手段。任何協(xié)議產(chǎn)品在投入使用之前都應(yīng)該先通過相應(yīng)的協(xié)議測試。
針對協(xié)議測試可以分為兩個階段,第一階段是測試集的構(gòu)造,第二個階段是測試集的執(zhí)行。測試集通常是使用一種形式語言描述的抽象操作過程,故也稱ATS(Abstract Test Suite,抽象測試集),測試集中包括協(xié)議測試需要測試的內(nèi)容。因此,協(xié)議測試工作的完成還需要有一個執(zhí)行環(huán)境執(zhí)行抽象測試集中描述的操作,這也是協(xié)議測試的重要階段;所述的執(zhí)行環(huán)境包括測試設(shè)備、網(wǎng)絡(luò)拓撲連接等硬件環(huán)境和在測試機中執(zhí)行測試例的軟件環(huán)境,其中,測試執(zhí)行軟件環(huán)境完成抽象測試集的解釋或編譯,將抽象測試集轉(zhuǎn)換為可執(zhí)行測試集,完成測試集所描述的如報文編碼,解碼,接受,發(fā)送,檢查等操作,給出測試集執(zhí)行的結(jié)果等功能,構(gòu)造測試執(zhí)行軟件環(huán)境即為對這些功能的實現(xiàn)。
下面將針對目前的協(xié)議測試集的執(zhí)行階段的具體實現(xiàn)方式進行說明。
目前,協(xié)議測試的國際準語言是TTCN(Tree and Tabular CombinedNotation,樹表組合語法)。用TTCN描述的抽象測試集有兩種格式,具體為面向開發(fā)人員的表格格式TTCN.GR和面向機器的文本格式TTCN.MP。
基于TTCN的抽象測試集的執(zhí)行通常可以采用兩種方式,具體包括第一種方式的實施過程如圖1所示,具體為1、用轉(zhuǎn)化程序?qū)TCN.GR文件轉(zhuǎn)化為TTCN.MP文件,將TTCN.MP文件翻譯成平臺無關(guān)的C語言代碼;2、根據(jù)具體協(xié)議和平臺,依據(jù)翻譯程序所定義的接口規(guī)范編寫測試驅(qū)動程序,實現(xiàn)測試體和被測體的連接和協(xié)議報文的收發(fā);3、綜合編譯源代碼生成最終的可執(zhí)行代碼;第二種方式的實施過程如圖2所示,具體為1、構(gòu)造一個通用的TTCN.MP文件執(zhí)行器;2、用轉(zhuǎn)化程序?qū)TCN.GR文件轉(zhuǎn)化為TTCN.MP文件;3、依據(jù)翻譯程序所定義的接口規(guī)范編寫測試驅(qū)動程序;4、連接測試執(zhí)行器和測試驅(qū)動程序,解釋執(zhí)行MP文件。
采用TTCN方法的主要缺點有1、構(gòu)造測試執(zhí)行環(huán)境的開發(fā)代價很高,無論是采用翻譯方式還是解釋執(zhí)行方式,都需要對TTCN語法和語義的完整支持;2、代碼執(zhí)行效率不高;3、一些測試方法的支持仍有困難,如分布式測試等。
目前,業(yè)界更常采用的協(xié)議測試集的執(zhí)行方式是基于腳本語言的測試方式,如圖3所示,該方式的實施過程為1、根據(jù)具體協(xié)議用C/C++語言實現(xiàn)測試中需要使用的操作過程,并封裝成腳本語言的命令格式;2、使用所述的操作命令編寫TCL測試腳本,通過TCL命令的組合以完成特定的測試目的;
3、執(zhí)行TCL測試腳本,由腳本解釋器(即TCL執(zhí)行器)控制執(zhí)行操作過程并輸出操作的結(jié)果。
使用該方式測試集是針對某個特定的協(xié)議而設(shè)計的,設(shè)計的時候只需考慮需要用到的操作,因此實現(xiàn)比較容易,開發(fā)代價小,速度快。用高級語言編寫的測試操作過程被直接編譯成可執(zhí)行目標碼,整個執(zhí)行系統(tǒng)的結(jié)構(gòu)比較緊湊,因而執(zhí)行效率也會比較高。
但是,基于腳本語言的測試方式也存通用性差,測試框架結(jié)構(gòu)的可重用性差等缺點。因為,整個執(zhí)行環(huán)境都是針對于某個協(xié)議而設(shè)計的,當要完成其他協(xié)議的測試時,所有的內(nèi)容都需要重新構(gòu)造;通常一條測試命令完成一種特定的協(xié)議功能,雖然不同的協(xié)議在這些功能上有公共的部分,但由于測試命令的專用性和其緊耦合的實現(xiàn)方式,使得公共部分的功能很難重用,因而開發(fā)多種協(xié)議的測試集時需要完成大量的重復(fù)性工作,因而降低了開發(fā)協(xié)議測試工具的效率。

發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一種協(xié)議測試的裝置及其實現(xiàn)協(xié)議測試的方法,使得協(xié)議測試裝置中的公共部分可以被重復(fù)應(yīng)用,從而使得協(xié)議測試過程的實現(xiàn)更為簡單、方便。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)明提供了一種協(xié)議測試裝置,包括協(xié)議相關(guān)單元根據(jù)待測試的協(xié)議設(shè)置,并在協(xié)議無關(guān)單元的支持下,用于在協(xié)議測試過程中,處理與具體協(xié)議的測試過程相關(guān)的內(nèi)容信息,并進行具體的協(xié)議測試處理;協(xié)議無關(guān)單元用于支持協(xié)議相關(guān)單元的協(xié)議測試操作,其中包括接口管理操作和命令解釋操作,所述的接口管理操作用于根據(jù)協(xié)議相關(guān)單元的控制進行協(xié)議報文的收發(fā)操作,所述的命令解釋操作用于控制協(xié)議相關(guān)單元進行具體的協(xié)議測試處理,所述協(xié)議無關(guān)單元獨立于所述協(xié)議相關(guān)單元設(shè)置。
所述的協(xié)議測試裝置進一步包括抽象測試腳本模塊屬于與協(xié)議相關(guān)單元,用于通過向命令解釋器發(fā)送命令調(diào)用連接控制管理模塊及通用協(xié)議測試過程模塊進行相應(yīng)的協(xié)議測試操作,每一種協(xié)議測試對應(yīng)一個抽象測試腳本模塊;命令解釋器屬于與協(xié)議無關(guān)單元,接收抽象測試腳本的測試命令,經(jīng)解析處理后,根據(jù)命令的內(nèi)容將其發(fā)送給連接控制管理模塊或者通用協(xié)議測試過程模塊;連接控制管理模塊屬于與協(xié)議無關(guān)單元,在抽象測試腳本模塊的控制管理下,從命令解釋器接收控制管理命令,并通過網(wǎng)絡(luò)接口與被測試端的連接互通;通用協(xié)議測試過程模塊屬于與協(xié)議相關(guān)單元,包含著進行各種協(xié)議測試用的公共子程序,該模塊在抽象測試腳本模塊的控制下,從命令解釋器接收控制操作命令,并根據(jù)所述的控制操作命令調(diào)用相應(yīng)的公共子程序配合抽象測試腳本模塊進行協(xié)議測試處理。
并且,所述的抽象測試腳本模塊、命令解釋器、連接控制管理模塊和通用協(xié)議測試過程模塊間相互獨立設(shè)置。
所述的連接控制管理模塊進一步包括抽象網(wǎng)絡(luò)接口管理模塊用于在抽象測試腳本模塊的控制下,通過網(wǎng)絡(luò)接口驅(qū)動模塊對與待測協(xié)議相關(guān)的網(wǎng)絡(luò)接口的訪問及管理操作;網(wǎng)絡(luò)接口驅(qū)動模塊用于實現(xiàn)由與協(xié)議無關(guān)的抽象網(wǎng)絡(luò)接口到與待測協(xié)議相關(guān)的網(wǎng)絡(luò)接口的映射。
所述的協(xié)議測試的裝置還包括報文緩沖管理模塊用于實現(xiàn)針對協(xié)議報文緩沖區(qū)的各項管理操作,以及為實現(xiàn)具體協(xié)議的編解碼提供基本支持命令,所述的協(xié)議報文緩沖區(qū)用于緩存接收或待發(fā)送的協(xié)議報文。
所述的裝置還包括協(xié)議參考實現(xiàn)模塊用于提供可以在測試測試機器中直接訪問待測系統(tǒng)中待測協(xié)議層次的下層待測協(xié)議實體的對等體的網(wǎng)絡(luò)接口。
所述的下層協(xié)議參考實現(xiàn)模塊包括當待測系統(tǒng)中的下層包含多個待測協(xié)議實體時,所述的協(xié)議參考實現(xiàn)模塊的數(shù)量與其包含的待測協(xié)議實體數(shù)量對應(yīng)相等。
所述的命令解釋器還包括命令注冊模塊用于接收用戶注冊的新的命令,所述的新的命令對應(yīng)著相應(yīng)的處理例程。
所述的抽象測試腳本模塊涉及的測試操作包括接口的初始化操作、協(xié)議報文的編解碼、協(xié)議報文的收發(fā)及協(xié)議報文數(shù)據(jù)域的比較。
所述的協(xié)議測試的裝置還包括協(xié)議報文的收發(fā)模塊用于在抽象測試腳本模塊的控制下進行協(xié)議報文的收發(fā)操作;協(xié)議報文的編解碼模塊用于在抽象測試腳本模塊的控制下對待發(fā)送的協(xié)議報文進行編碼,對接收的協(xié)議報文進行解碼。
所述的協(xié)議報文的收發(fā)模塊和協(xié)議報文的編解碼模塊可以內(nèi)置于所述的通過協(xié)議測試模塊、下層協(xié)議參考實現(xiàn)模塊或報文緩沖區(qū)管理模塊中實現(xiàn)。
本發(fā)明還提供了一種實現(xiàn)協(xié)議測試的方法,包括A、抽象測試腳本模塊開始進行協(xié)議測試時,向命令解釋器發(fā)送協(xié)議測試命令,所述命令解釋器解釋所述命令后根據(jù)命令的內(nèi)容將其發(fā)送給連接控制管理模塊或者通用協(xié)議測試過程模塊;
B、連接控制管理模塊收到所述的協(xié)議測試命令后,則根據(jù)所述命令進行抽象網(wǎng)絡(luò)接口和實際網(wǎng)絡(luò)接口的連接及管理操作;通用協(xié)議測試過程模塊收到所述的協(xié)議測試命令后,則根據(jù)所述命令調(diào)用相應(yīng)的公共子程序進行并配合抽象測試腳本模塊進行協(xié)議測試處理。
所述的實現(xiàn)協(xié)議測試的方法還包括根據(jù)具體的待測試協(xié)議的類型確定進行該項協(xié)議測試需要的一個抽象測試腳本模塊,并執(zhí)行步驟A。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明提出了一種基于命令式腳本語言的層次化通用協(xié)議測試裝置的構(gòu)造方法,該方法以命令解釋器為中心,將整個測試環(huán)境劃分成相對獨立的層次結(jié)構(gòu),以實現(xiàn)測試環(huán)境的通用性、可重用性和可擴展性。因此,本發(fā)明具有如下優(yōu)點采用層次化的構(gòu)造方法,分離出測試環(huán)境中協(xié)議無關(guān)的部分構(gòu)成通用測試平臺,使得測試環(huán)境具有通用性,測試套開發(fā)只需關(guān)心協(xié)議相關(guān)單元的擴展,從而使測試套開發(fā)工作方便快捷;對于協(xié)議相關(guān)的部分作為測試平臺的擴展部分,最大程度地保證協(xié)議相關(guān)的層次的可重用性,避免測試套開發(fā)過程的重復(fù)勞動,加快開發(fā)進度;以命令解釋器作為測試執(zhí)行環(huán)境的核心,可以避免構(gòu)造支持完整的TTCN語法和語義的編譯器或執(zhí)行器而帶來的巨大開發(fā)代價;抽象網(wǎng)絡(luò)接口則隔離了抽象測試集和不同網(wǎng)絡(luò)接口的具體操作細節(jié),簡化抽象測試集的描述;通過網(wǎng)絡(luò)接口驅(qū)動把抽象網(wǎng)絡(luò)接口映射到不同的實際網(wǎng)絡(luò)接口中,可以靈活的適應(yīng)測試過程中各種不同的網(wǎng)絡(luò)拓撲結(jié)構(gòu)的測試需求。


圖1和圖2分別為現(xiàn)有技術(shù)中抽象測試集的執(zhí)行過程示意圖;
圖3為現(xiàn)有技術(shù)中基于TCL語言的協(xié)議測試過程示意圖;圖4為本發(fā)明中協(xié)議測試裝置層次劃分結(jié)構(gòu)示意圖;圖5為帶有協(xié)議參考實現(xiàn)模塊的測試過程示意圖;圖6為本發(fā)明所述的裝置的結(jié)構(gòu)示意圖。
具體實施例方式
本發(fā)明的核心是針對協(xié)議測試環(huán)境進行層次的劃分,從而劃分為協(xié)議無關(guān)單元和協(xié)議相關(guān)單元,所述的協(xié)議無關(guān)單元執(zhí)行的操作處理與具體的協(xié)議內(nèi)容無關(guān),可以適用于任何協(xié)議的測試,所述的協(xié)議相關(guān)單元則用于負責具體的協(xié)議的測試操作處理,本發(fā)明中針對協(xié)議相關(guān)單元還進一步劃分出了相應(yīng)的通用協(xié)議測試過程模塊,作為各種協(xié)議測試過程中公共部分供各種協(xié)議測試重復(fù)使用。因此,本發(fā)明具有較強的通用性,當需要對一種新的協(xié)議進行測試時,只需要開發(fā)相應(yīng)的抽象測試腳本模塊,并將其與通用協(xié)議測試過程模塊及協(xié)議無關(guān)單元關(guān)聯(lián)即可。
本發(fā)明提供的協(xié)議測試的裝置在具體實現(xiàn)過程中,如圖4、圖5和圖6所示,具體為將協(xié)議測試環(huán)境按其功能自頂向下劃分為7個層次,每個層次使用下層提供的功能,為上層提供支持,每個層次都具有相對獨立性,可被單獨地重用,擴展或替換;每層相當于獨立的功能模塊,各個功能模塊間的連接關(guān)系如圖6所示。
下面將分別結(jié)合附圖對本發(fā)明所述裝置包含的各個層(或模塊)實現(xiàn)的功能及作用作進一步說明。
(1)抽象測試腳本層,即抽象測試腳本模塊,具體為一個針對具體協(xié)議進行測試用的抽象測試集;抽象測試腳本層包括用于特定協(xié)議測試的測試用例腳本集,測試腳本是一組可以完成特定測試功能的有序操作步驟的集合,所述操作步驟具體包括接口的初始化、協(xié)議報文的編碼、協(xié)議報文的發(fā)送、協(xié)議報文的接收、協(xié)議報文的解碼,以及協(xié)議報文數(shù)據(jù)域的比較,判斷等;其中,接口初始化、協(xié)議報文的接收和發(fā)送使用抽象網(wǎng)絡(luò)接口層所定義的網(wǎng)絡(luò)接口訪問操作命令描述,協(xié)議報文的編、解碼主要由通用協(xié)議測試過程層或下層協(xié)議參考實現(xiàn)層完成,也可直接調(diào)用報文緩沖區(qū)管理層定義的基本操作完成。
(2)通用協(xié)議測試過程層,即通用協(xié)議測試過程模塊,該模塊包含協(xié)議測試過程中應(yīng)用的公共子程序;通用測試過程層包含構(gòu)造測試腳本時經(jīng)常需要使用的公共子過程,測試過程至少包括復(fù)雜協(xié)議測試過程中的某個子過程的有序操作集;一個協(xié)議測試過程中的某個交互片斷;對協(xié)議數(shù)據(jù)進行處理的比較復(fù)雜的通用的算法過程;上述通用協(xié)議測試過程均使用命令腳本構(gòu)造,為一組在協(xié)議測試過程中具有某些公共特征的抽象測試腳本所共用。
(3)協(xié)議參考實現(xiàn)層,即協(xié)議參考實現(xiàn)模塊,提供直接訪問待測系統(tǒng)中待測協(xié)議層的下層的網(wǎng)絡(luò)接口;所述的協(xié)議參考實現(xiàn)層為使用腳本語言在測試機實現(xiàn)的協(xié)議實體,該層為可選層,即只有測試機器操作系統(tǒng)提供的網(wǎng)絡(luò)接口所訪問的網(wǎng)絡(luò)層次處于待測系統(tǒng)中的待測協(xié)議層次的下層協(xié)議的對等層次以下時才存在該層;在待測系統(tǒng)中,協(xié)議棧實現(xiàn)可以包含多個層次,但并不是所有的層次都需要測試,待測協(xié)議只是其中的一個層次,協(xié)議參考實現(xiàn)層就是在測試過程測試環(huán)境加上測試機器中的協(xié)議棧,從而實現(xiàn)與被測系統(tǒng)中的協(xié)議棧實現(xiàn)形成一一對應(yīng)的關(guān)系;其中,測試腳本層與待測系協(xié)議層對應(yīng),協(xié)議參考實現(xiàn)層加上測試主機中操作系統(tǒng)的協(xié)議棧實現(xiàn)與待測系統(tǒng)中的其他協(xié)議層次一一對應(yīng);在測試主機中的操作系統(tǒng)沒有提供相應(yīng)層次的協(xié)議實體實現(xiàn)的情況下,需要測試環(huán)境來提供該協(xié)議參考實現(xiàn)層;協(xié)議參考實現(xiàn)層可以包含多個子層,每個子層為上層提供與待測協(xié)議對等的網(wǎng)絡(luò)訪問接口;也就是說,協(xié)議參考實現(xiàn)層包含的子層與待測系統(tǒng)中的待測協(xié)議實體的所處層次以下的若干層互為對等體,一一對應(yīng),從而使得從抽象測試腳本層的角度來看,可觀察到的直接是待測協(xié)議層的行為,而不是通過它的底層間接去觀察,對于待測協(xié)議體具有多個層次的情況,測試活動分多次進行,就每一次的測試活動而言,待測的層次都只有一個,和測試單個層次的協(xié)議實體是一樣的;如圖5所示,測試系統(tǒng)的網(wǎng)絡(luò)接口能直接訪問協(xié)議的第K層,而待測系統(tǒng)中待測協(xié)議實體位于第N層,因而網(wǎng)絡(luò)訪問接口能直接觀察到的是待測系統(tǒng)中第K+1層的行為,而第N層的行為需要通過K+1層至N-1層間接觀察,如果沒有參考實現(xiàn)層,則在構(gòu)造測試例時測試例描述的操作必須包含K+1層至N-1層的所有行為,參考實現(xiàn)層實際是在測試系統(tǒng)中基于K層網(wǎng)絡(luò)訪問接口對K+1層至N-1層的協(xié)議實體進行實現(xiàn),為測試腳本層提供N-1層的網(wǎng)絡(luò)訪問接口,從而在抽象測試腳本層構(gòu)造測試例時只需要描述N層的協(xié)議行為。
(4)命令解釋器層,即命令解釋器,用于解析抽象測試腳本模塊的測試命令,也就是說,命令解釋器是測試過程的核心,由其完成抽象的測試命令到具體測試例程的映射,控制每個測試操作步驟地具體執(zhí)行;命令解釋器層是一個可擴展命令式語言解釋器,例如,可以選用TCL解釋器,當然也可以選用其他命令解釋器,命令解釋器至少包括以下功能1、解析形如“命令名稱參數(shù)1參數(shù)2…”的命令格式;2、根據(jù)解析的出來的命令名稱執(zhí)行相應(yīng)的處理例程,具體包括命令解釋器的內(nèi)嵌命令即命令解釋器所提供的基本命令,該命令用于完成一些基本的運算,程序流程控制等功能,且所述命令獨立于具體應(yīng)用,與協(xié)議測試無關(guān);
為實現(xiàn)協(xié)議測試而對命令解釋器進行擴展的命令這些命令是使用其他高級語言按照命令解釋器的擴展機制實現(xiàn)的,用于控制包括協(xié)議報文編解碼、協(xié)議報文收發(fā)等過程;3、提供擴展機制允許用戶在命令解釋器中注冊新命令和實現(xiàn)命令相應(yīng)的處理例程,即允許用戶在命令解釋器中建立新的命令與相應(yīng)的處理例程間的對應(yīng)關(guān)系,以便于根據(jù)相應(yīng)的命令執(zhí)行對應(yīng)的處理例程。
如圖4所示,命令解釋器為分界線,測試環(huán)境在命令解釋器之上的部分是與平臺無關(guān)的,在命令解釋器之下的部分是平臺相關(guān)的,從而方便了與平臺無關(guān)部分可以在不同的平臺上重復(fù)應(yīng)用。
(5)報文緩沖區(qū)管理層,即報文緩沖管理模塊,用于實現(xiàn)針對協(xié)議報文緩沖區(qū)的各項管理操作,所述的協(xié)議報文緩沖區(qū)用于緩存接收或待發(fā)送的協(xié)議報文;所述的報文緩沖區(qū)管理層包含一組實現(xiàn)報文緩沖區(qū)管理命令的例程,這些命令包括針對報文緩沖區(qū)的申請、釋放、填寫及讀取等功能,并可選地包括針對報文的編解碼操作功能;所述的報文緩沖區(qū)管理模塊實際就是一個存儲管理模塊,除了對存儲資源的管理之外,還包括對存儲內(nèi)容進行各種格式的操作,這些操作是獨立于任何一種具體協(xié)議的,可以為具體的協(xié)議報文編解碼提供支持,也是測試環(huán)境中的一個通用部分;將這一部分從具體協(xié)議報文編解碼部分分離出來,可以使得測試環(huán)境的對不同協(xié)議測試的適應(yīng)性更強,也是本發(fā)明區(qū)別于現(xiàn)有的一些基于腳本語言的測試方法的優(yōu)點之一。
(6)抽象網(wǎng)絡(luò)接口層,即抽象網(wǎng)絡(luò)接口模塊,用于通過網(wǎng)絡(luò)接口驅(qū)動模塊訪問與協(xié)議無關(guān)的實際的網(wǎng)絡(luò)接口,以便于進行協(xié)議報文的收發(fā)操作;所述的抽象網(wǎng)絡(luò)接口層包括一組針對與具體平臺和協(xié)議無關(guān)的網(wǎng)絡(luò)接口進行訪問操作的抽象命令,這些操作至少包括接口的創(chuàng)建、接口的關(guān)閉、在接口接收報文、通過接口發(fā)送報文、檢測接口狀態(tài)等;抽象網(wǎng)絡(luò)接口層為測試腳本的編寫定義了一組與具體協(xié)議無關(guān)的操作命令,這些命令的格式是與待測協(xié)議無關(guān)的,但具體測試過程測試相應(yīng)的開發(fā)人員需要根據(jù)具體的待測協(xié)議開發(fā)與待測協(xié)議對應(yīng)的網(wǎng)絡(luò)接口驅(qū)動模塊將這些操作映射到實際的網(wǎng)絡(luò)接口,而實際的網(wǎng)絡(luò)接口與待測協(xié)議相關(guān),即測試不同的協(xié)議對應(yīng)著需要應(yīng)用不同的實際的網(wǎng)絡(luò)接口。
(7)網(wǎng)絡(luò)接口驅(qū)動層,即網(wǎng)絡(luò)接口驅(qū)動模塊,用于將所述的抽象網(wǎng)絡(luò)接口映射到實際的網(wǎng)絡(luò)接口上;所述的網(wǎng)絡(luò)接口驅(qū)動層包括一組將抽象網(wǎng)絡(luò)接口映射到操作系統(tǒng)或第三方軟件提供的具體的網(wǎng)絡(luò)接口操作的例程,網(wǎng)絡(luò)接口驅(qū)動層根據(jù)具體的測試需求實現(xiàn)抽象網(wǎng)絡(luò)接口層定義的各種操作。
如圖6所示,本發(fā)明所述的裝置中是以命令解釋器為中心,不同模塊之間的調(diào)用主要是通過命令解釋器來調(diào)度完成的,在圖6中,用實細線箭頭描述命令解釋器執(zhí)行抽象測試腳本模塊的命令,并調(diào)用通過協(xié)議測試過程模塊、緩沖區(qū)管理模塊及抽象網(wǎng)絡(luò)接口模塊的過程;采用虛細線箭頭描述了模塊之間的邏輯調(diào)用關(guān)系,還以虛粗箭頭描述了在測試過程中收發(fā)數(shù)據(jù)報文時數(shù)據(jù)在測試裝置中的不同層次間的流向。
在上述的本發(fā)明提供的測試裝置中,所述的抽象測試腳本模塊(即抽象測試集)是與待測協(xié)議相關(guān)的,所述的通用協(xié)議測試過程、下層協(xié)議參考實現(xiàn)模塊和網(wǎng)絡(luò)接口驅(qū)動模塊是和協(xié)議相關(guān)但可直接重復(fù)應(yīng)用于各種協(xié)議測試過程,所述的命令解釋器和報文緩沖區(qū)管理模塊和抽象網(wǎng)絡(luò)接口與具體的測試協(xié)議無關(guān),可以被重復(fù)應(yīng)用。
本發(fā)明所述的裝置在具體實現(xiàn)過程中,可以分四個步驟實現(xiàn)步驟1構(gòu)建通用測試平臺,即實現(xiàn)測試環(huán)境中協(xié)議無關(guān)層次,具體可以按如下方式完成
選擇一種可擴展命令式腳本語言解釋器作為測試環(huán)境的執(zhí)行器,即命令解釋器,如TCL解釋器等;依據(jù)命令腳本語言的擴展規(guī)范使用C語言實現(xiàn)協(xié)議報文緩沖區(qū)管理的擴展命令,并為抽象網(wǎng)絡(luò)接口操作的實現(xiàn)提供編程接口,從而使得抽象接口在實現(xiàn)報文收發(fā)操作時可以通過所述編程接口對協(xié)議報文緩沖區(qū)進行訪問;實現(xiàn)抽象網(wǎng)絡(luò)接口命令,并為用戶提供編程接口用于編寫網(wǎng)絡(luò)接口驅(qū)動程序,從而完成從與協(xié)議無關(guān)的抽象網(wǎng)絡(luò)接口到與具體待測協(xié)議相關(guān)的實際網(wǎng)絡(luò)接口的映射。
步驟1實現(xiàn)的是測試裝置中的通用部分,可以開發(fā)為一個獨立的成品應(yīng)用于各種不同的協(xié)議測試場合。
步驟2實現(xiàn)通用平臺的協(xié)議相關(guān)性擴展,即測試環(huán)境中協(xié)議相關(guān)層次的實現(xiàn),具體可以按如下步驟完成編寫網(wǎng)絡(luò)接口驅(qū)動程序根據(jù)測試的需要選擇合適的網(wǎng)絡(luò)訪問接口,根據(jù)操作系統(tǒng)或所選第三方軟件提供的協(xié)議訪問接口和抽象網(wǎng)絡(luò)接口層提供的編程接口,完成抽象網(wǎng)絡(luò)接口層定義的操作到實際操作的映射,比如如果需要對網(wǎng)絡(luò)層進行測試,則需要將抽象網(wǎng)絡(luò)接口映射為針對數(shù)據(jù)鏈路層網(wǎng)絡(luò)接口的訪問操作,如果是需要對應(yīng)用層進行測試,則需要將抽象網(wǎng)絡(luò)接口映射為針對傳輸層網(wǎng)絡(luò)接口的操作;構(gòu)建協(xié)議參考實現(xiàn)層如果操作系統(tǒng)或第三方軟件提供的網(wǎng)絡(luò)接口訪問的網(wǎng)絡(luò)層次和待測協(xié)議的下層是處于對等層,則可跳過這一步,否則需要使用腳本語言編寫下層協(xié)議參考實現(xiàn)層,使得從抽象測試集(即抽象測試腳本的集合)層的位置觀察測試環(huán)境提供的網(wǎng)絡(luò)接口可直接訪問的網(wǎng)絡(luò)層次是與待測協(xié)議的下層對等的;比如,如果待測協(xié)議是傳輸層協(xié)議,而測試過程抽象網(wǎng)絡(luò)接口映射到鏈路層操作,則需要使用腳本語言完成網(wǎng)絡(luò)層的參考實現(xiàn);如果待測協(xié)議的下層和可以訪問的接口隔了多層,則參考實現(xiàn)層也需要相應(yīng)的分成多個子層;構(gòu)建通用協(xié)議測試過程層使用腳本語言將常用的操作序列集或一些相對復(fù)雜的協(xié)議處理過程編寫成通用過程提供給多個測試用例共用;步驟3抽象測試腳本的編寫,具體可以按如下方式完成根據(jù)具體協(xié)議的測試目的,使用測試環(huán)境中各個層次所提供的操作命令或操作過程編寫抽象測試腳本,通常針對一種協(xié)議的每個測試目的需要編寫一個抽象測試腳本,同一個協(xié)議的多個抽象測試腳本構(gòu)成該協(xié)議的抽象測試集,抽象測試集包含針對各種協(xié)議進行測試用的抽象測試腳本模塊。
步驟4執(zhí)行所述抽象測試腳本,具體可以按如下方式完成在上述步驟1和2所構(gòu)造的測試環(huán)境中,使用命令解釋器解釋執(zhí)行上述步驟3所編寫的抽象測試腳本,然后,觀察輸出結(jié)果,給出測試判決,這樣便可以實現(xiàn)相應(yīng)的協(xié)議測試過程。
基于上述裝置,本發(fā)明還提供了一種實現(xiàn)協(xié)議測試的方法,仍參見圖6,具體實現(xiàn)過程如下1、由于不同的協(xié)議測試過程對應(yīng)著不同的抽象測試腳本,因此,首先應(yīng)該根據(jù)具體的待測試協(xié)議的類型確定進行該項協(xié)議測試需要的一個抽象測試腳本模塊;2、抽象測試腳本模塊開始進行協(xié)議測試時,向命令解釋器發(fā)送協(xié)議測試命令,即所述的命令解釋器執(zhí)行抽象測試腳本模塊的命令;所述命令解釋器解釋所述命令后根據(jù)命令的內(nèi)容將其發(fā)送給連接控制管理模塊或者通用協(xié)議測試過程模塊,以調(diào)用相應(yīng)的模塊進行協(xié)議測試操作;所述的命令包括協(xié)議報文的編碼,協(xié)議報文的解碼,協(xié)議報文的發(fā)送,協(xié)議報文的接收等操作;所述的協(xié)議報文編碼過程處理為從報文緩沖區(qū)中申請一塊合適大小的緩沖區(qū);根據(jù)具體協(xié)議報文定義,使用報文緩沖區(qū)管理模塊提供的基本命令按特定的格式在所申請的緩沖區(qū)的特定的位置填寫特定的內(nèi)容;所述的報文解碼過程處理為根據(jù)具體協(xié)議報文定義,使用報文緩沖區(qū)管理模塊提供的基本命令按特定的格式從所需要解碼的緩沖區(qū)的特定的位置讀取相應(yīng)的內(nèi)容;3、連接控制管理模塊收到所述的協(xié)議測試命令后,則根據(jù)所述命令進行抽象網(wǎng)絡(luò)接口和實際網(wǎng)絡(luò)接口的連接及管理操作,具體包括協(xié)議報文的發(fā)送,接收等;所述的報文發(fā)送過程處理為從報文緩沖區(qū)模塊中獲取待發(fā)送的報文;調(diào)用網(wǎng)絡(luò)接口驅(qū)動模塊完成該報文的發(fā)送;所述的報文接收過程處理為在報文緩沖區(qū)管理模塊中申請一塊指定大小的報文緩沖區(qū);然后,調(diào)用網(wǎng)絡(luò)接口驅(qū)動模塊接收報文,將報文保存所申請的緩沖區(qū)中;4、通用協(xié)議測試過程模塊收到所述的協(xié)議測試命令后,則根據(jù)所述命令調(diào)用相應(yīng)的公共子程序進行并配合抽象測試腳本模塊進行協(xié)議測試處理。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種協(xié)議測試裝置,其特征在于,包括協(xié)議相關(guān)單元根據(jù)待測試的協(xié)議設(shè)置,并在協(xié)議無關(guān)單元的支持下,用于在協(xié)議測試過程中,處理與具體協(xié)議的測試過程相關(guān)的內(nèi)容信息,并進行具體的協(xié)議測試處理;協(xié)議無關(guān)單元用于支持協(xié)議相關(guān)單元的協(xié)議測試操作,其中包括接口管理操作和命令解釋操作,所述的接口管理操作用于根據(jù)協(xié)議相關(guān)單元的控制進行協(xié)議報文的收發(fā)操作,所述的命令解釋操作用于控制協(xié)議相關(guān)單元進行具體的協(xié)議測試處理,所述協(xié)議無關(guān)單元獨立于所述協(xié)議相關(guān)單元設(shè)置。
2.根據(jù)權(quán)利要求1所述的協(xié)議測試裝置,其特征在于,所述的裝置進一步包括抽象測試腳本模塊屬于與協(xié)議相關(guān)單元,用于通過向命令解釋器發(fā)送命令調(diào)用連接控制管理模塊及通用協(xié)議測試過程模塊進行相應(yīng)的協(xié)議測試操作,每一種協(xié)議測試對應(yīng)一個抽象測試腳本模塊;命令解釋器屬于與協(xié)議無關(guān)單元,接收抽象測試腳本的測試命令,經(jīng)解析處理后,根據(jù)命令的內(nèi)容將其發(fā)送給連接控制管理模塊或者通用協(xié)議測試過程模塊;連接控制管理模塊屬于與協(xié)議無關(guān)單元,在抽象測試腳本模塊的控制管理下,從命令解釋器接收控制管理命令,并通過網(wǎng)絡(luò)接口與被測試端的連接互通;通用協(xié)議測試過程模塊屬于與協(xié)議相關(guān)單元,包含著進行各種協(xié)議測試用的公共子程序,該模塊在抽象測試腳本模塊的控制下,從命令解釋器接收控制操作命令,并根據(jù)所述的控制操作命令調(diào)用相應(yīng)的公共子程序配合抽象測試腳本模塊進行協(xié)議測試處理。所述的抽象測試腳本模塊、命令解釋器、連接控制管理模塊和通用協(xié)議測試過程模塊間相互獨立設(shè)置。
3.根據(jù)權(quán)利要求2所述的協(xié)議測試的裝置,其特征在于,所述的連接控制管理模塊進一步包括抽象網(wǎng)絡(luò)接口管理模塊用于在抽象測試腳本模塊的控制下,通過網(wǎng)絡(luò)接口驅(qū)動模塊對與待測協(xié)議相關(guān)的網(wǎng)絡(luò)接口的訪問及管理操作;網(wǎng)絡(luò)接口驅(qū)動模塊用于實現(xiàn)由與協(xié)議無關(guān)的抽象網(wǎng)絡(luò)接口到與待測協(xié)議相關(guān)的網(wǎng)絡(luò)接口的映射。
4.根據(jù)權(quán)利要求1或2所述的協(xié)議測試的裝置,其特征在于,所述的裝置還包括報文緩沖管理模塊用于實現(xiàn)針對協(xié)議報文緩沖區(qū)的各項管理操作,以及為實現(xiàn)具體協(xié)議的編解碼提供基本支持命令,所述的協(xié)議報文緩沖區(qū)用于緩存接收或待發(fā)送的協(xié)議報文。
5.根據(jù)權(quán)利要求2所述的協(xié)議測試的裝置,其特征在于,所述的裝置還包括協(xié)議參考實現(xiàn)模塊用于提供可以在測試測試機器中直接訪問待測系統(tǒng)中待測協(xié)議層次的下層待測協(xié)議實體的對等體的網(wǎng)絡(luò)接口。
6.根據(jù)權(quán)利要求5所述的協(xié)議測試的裝置,其特征在于,所述的下層協(xié)議參考實現(xiàn)模塊包括當待測系統(tǒng)中的下層包含多個待測協(xié)議實體時,所述的協(xié)議參考實現(xiàn)模塊的數(shù)量與其包含的待測協(xié)議實體數(shù)量對應(yīng)相等。
7.根據(jù)權(quán)利要求2所述的協(xié)議測試的裝置,其特征在于,所述的命令解釋器還包括命令注冊模塊用于接收用戶注冊的新的命令,所述的新的命令對應(yīng)著相應(yīng)的處理例程。
8.根據(jù)權(quán)利要求2所述的協(xié)議測試的裝置,其特征在于,所述的抽象測試腳本模塊涉及的測試操作包括接口的初始化操作、協(xié)議報文的編解碼、協(xié)議報文的收發(fā)及協(xié)議報文數(shù)據(jù)域的比較。
9.根據(jù)權(quán)利要求2或5所述的協(xié)議測試的裝置,其特征在于,所述的裝置還包括協(xié)議報文的收發(fā)模塊用于在抽象測試腳本模塊的控制下進行協(xié)議報文的收發(fā)操作;協(xié)議報文的編解碼模塊用于在抽象測試腳本模塊的控制下對待發(fā)送的協(xié)議報文進行編碼,對接收的協(xié)議報文進行解碼。
10.根據(jù)權(quán)利要求9所述的協(xié)議測試的裝置,其特征在于,所述的協(xié)議報文的收發(fā)模塊和協(xié)議報文的編解碼模塊可以內(nèi)置于所述的通過協(xié)議測試模塊、下層協(xié)議參考實現(xiàn)模塊或報文緩沖區(qū)管理模塊中實現(xiàn)。
11.一種實現(xiàn)協(xié)議測試的方法,其特征在于,包括A、抽象測試腳本模塊開始進行協(xié)議測試時,向命令解釋器發(fā)送協(xié)議測試命令,所述命令解釋器解釋所述命令后根據(jù)命令的內(nèi)容將其發(fā)送給連接控制管理模塊或者通用協(xié)議測試過程模塊;B、連接控制管理模塊收到所述的協(xié)議測試命令后,則根據(jù)所述命令進行抽象網(wǎng)絡(luò)接口和實際網(wǎng)絡(luò)接口的連接及管理操作;通用協(xié)議測試過程模塊收到所述的協(xié)議測試命令后,則根據(jù)所述命令調(diào)用相應(yīng)的公共子程序進行并配合抽象測試腳本模塊進行協(xié)議測試處理。
12.根據(jù)權(quán)利要求11所述的實現(xiàn)協(xié)議測試的方法,其特征在于,所述的方法還包括根據(jù)具體的待測試協(xié)議的類型確定進行該項協(xié)議測試需要的一個抽象測試腳本模塊,并執(zhí)行步驟A。
全文摘要
本發(fā)明涉及一種協(xié)議測試的裝置及其實現(xiàn)協(xié)議測試的方法。本發(fā)明的核心是針對協(xié)議測試環(huán)境進行層次的劃分,從而劃分為協(xié)議無關(guān)單元和協(xié)議相關(guān)單元,所述的協(xié)議無關(guān)單元執(zhí)行的操作處理與具體的協(xié)議內(nèi)容無關(guān),可以適用于任何協(xié)議的測試,所述的協(xié)議相關(guān)單元則用于負責具體的協(xié)議的測試操作處理,本發(fā)明中針對協(xié)議相關(guān)單元還進一步劃分出了相應(yīng)的通用協(xié)議測試過程模塊,作為各種協(xié)議測試過程中的公共部分供各種協(xié)議測試重復(fù)使用,從而,最大程度地保證協(xié)議相關(guān)的層次的可重用性,避免測試套開發(fā)過程的重復(fù)勞動。因此,本發(fā)明具有較強的通用性、可重用性和可擴展性。
文檔編號H04L29/06GK1777124SQ20041009085
公開日2006年5月24日 申請日期2004年11月16日 優(yōu)先權(quán)日2004年11月16日
發(fā)明者趙寶華, 屈玉貴, 周顥, 林華輝, 柯堯, 徐軍委, 郭雄輝, 錢蘭, 陳波, 黃東曉, 姜振海, 劉恒昌, 張煒, 李建, 李正良, 葛猛, 高存皓 申請人:華為技術(shù)有限公司, 中國科學技術(shù)大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1