專利名稱:一種網(wǎng)絡協(xié)議測試方法及其測試系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及通信領域,尤其涉及一種網(wǎng)絡協(xié)議虛擬組網(wǎng)的測試方法和測試系統(tǒng)。
目前對于網(wǎng)絡協(xié)議,一般可以采取兩種測試方法1、實際組網(wǎng)測試;2、利用協(xié)議測試工具進行測試。
實際組網(wǎng)測試是指將各個實際的節(jié)點進行組網(wǎng),然后啟動各個節(jié)點協(xié)議,等協(xié)議達到穩(wěn)定后,查詢各節(jié)點的協(xié)議狀態(tài),和預期值相比較看是否正確。然后通過改變網(wǎng)絡結(jié)構(gòu)或是在某個節(jié)點上進行外部命令輸入,使得協(xié)議重新交互,等到協(xié)議穩(wěn)定后再對各節(jié)點狀態(tài)進行查詢,判斷是否正確,同時還要確認外部輸入命令的功能是否完成。
如
圖1所示,是利用協(xié)議測試工具進行測試的一般測試模型。
將測試端和被測協(xié)議進行點對點的連接,測試端依據(jù)標準建議,構(gòu)造測試用例,下發(fā)協(xié)議報文并接收被測端的響應報文,然后將接收到報文與預期值相比較,從而判斷被測端對報文的響應是否正確。
測試套是以標準建議描述為基礎建立的一套測試用例,測試套執(zhí)行一般是在PC機上,完成對用例腳本的編譯和解釋,形成被測試協(xié)議可以認識的協(xié)議報文。報文通過適配器的適配下發(fā)給被測端。被測端中有樁模塊來完成通訊功能,這樣就建立了一個測試套和被測試協(xié)議之間的通訊機制。理論上只要測試套可以覆蓋所有的報文和報文順序,就可以保證被測試協(xié)議的一致性。
對于實際組網(wǎng)測試,組網(wǎng)十分復雜,要動用大量節(jié)點硬件,使用較多的環(huán)境,并且在測試過程中要不斷改變組網(wǎng)形式,這樣費時費力,工作量較大。
而使用協(xié)議測試工具進行測試時,將復雜組網(wǎng)托普轉(zhuǎn)化為了點對點的形式,這樣對測試用例的構(gòu)造就提出了較高的要求。因為在實際組網(wǎng)中,一個節(jié)點會收到多個節(jié)點的協(xié)議報文,較為復雜,根據(jù)網(wǎng)絡情況會產(chǎn)生不同報文組合和時序組合。轉(zhuǎn)化為點對點的連接后,所有的組合就必須靠用例來模擬,所以用例構(gòu)造難度較大,并且對測試結(jié)果也不很直觀。這樣對測試人員提出了較高的要求。
所述的協(xié)議實體是一個可以在終端機上獨立運行的進程,以模擬網(wǎng)絡節(jié)點;所述的轉(zhuǎn)發(fā)模塊和與協(xié)議實體通訊模塊、與腳本執(zhí)行器通訊模塊及轉(zhuǎn)發(fā)數(shù)據(jù)庫通過數(shù)據(jù)線相連,所述的轉(zhuǎn)發(fā)數(shù)據(jù)庫還與控制臺配置模塊及與腳本執(zhí)行器通訊模塊通過數(shù)據(jù)線相連;所述的腳本控制器解釋控制腳本,并將腳本轉(zhuǎn)化為命令發(fā)給控制臺,以控制測試過程,所述的控制臺轉(zhuǎn)發(fā)協(xié)議實體之間發(fā)送的報文,以完成協(xié)議的測試。
所述的協(xié)議實體包括d、驅(qū)動接口提供用戶界面,用來完成協(xié)議層的配置,并顯示協(xié)議層的狀態(tài);e、協(xié)議層即用來測試的協(xié)議;f、通訊底層是該協(xié)議實體對外通訊的控制層,完成發(fā)送和接收協(xié)議層的報文。
所述的通訊層為標準的套接字(SOCKET)連接。
一種基于權(quán)利要求1所述的網(wǎng)絡協(xié)議測試系統(tǒng)而實現(xiàn)的網(wǎng)絡協(xié)議測試方法,其特征在于A、將協(xié)議軟件部分封裝成可獨立運行的協(xié)議實體;B、通過測試控制臺將協(xié)議實體之間的報文轉(zhuǎn)發(fā),完成協(xié)議實體之間的通訊,進行網(wǎng)絡協(xié)議的測試。
所述的步驟A,是將協(xié)議軟件封裝成具有驅(qū)動接口、協(xié)議層和通訊底層的協(xié)議實體,其中驅(qū)動接口用于提供用戶界面,用來完成協(xié)議層的配置,并顯示協(xié)議層的狀態(tài);協(xié)議層是用來測試的協(xié)議;通訊底層是該協(xié)議實體對外通訊的控制層,用來完成發(fā)送和接收協(xié)議層的報文。
所述步驟B中的報文轉(zhuǎn)發(fā),是指協(xié)議實體和控制臺按照通訊協(xié)議,將發(fā)送出的協(xié)議報文再加上源實體號的標簽,控制臺收到報文后,提取出源實體號,查找目的實體號,將協(xié)議報文轉(zhuǎn)發(fā)到目的協(xié)議實體。
所述的網(wǎng)絡協(xié)議測試方法,還可以通過改變控制臺的轉(zhuǎn)發(fā)配置來模擬改變協(xié)議實體的組網(wǎng)方式。
所述的步驟B進一步包括a、配置虛擬組網(wǎng)圖,控制臺將該虛擬組網(wǎng)圖存儲到轉(zhuǎn)發(fā)數(shù)據(jù)庫;b、腳本執(zhí)行器下發(fā)命令給測試控制臺;c、協(xié)議模塊運行,向測試控制臺發(fā)送協(xié)議報文;d、測試控制臺接收協(xié)議報文,搜索轉(zhuǎn)發(fā)數(shù)據(jù)庫,如果在轉(zhuǎn)發(fā)數(shù)據(jù)庫中找到相應的目的實體,則將協(xié)議報文轉(zhuǎn)發(fā)給該目的實體;如果沒有找到目的實體,則將該報文丟棄;e、重復步驟c、d,直到協(xié)議穩(wěn)定。
所述的配置虛擬組網(wǎng)圖的步驟,可以通過控制臺配置模塊來完成,也可以通過腳本執(zhí)行器來完成。
所述的協(xié)議模塊運行的步驟,可以通過協(xié)議實體驅(qū)動模塊接收外部輸入來完成,也可以通過腳本執(zhí)行器下發(fā)腳本引發(fā)虛擬組網(wǎng)圖變化來完成。
通過本發(fā)明的技術方案,將協(xié)議軟件部分進行封裝形成協(xié)議實體,并構(gòu)建了各協(xié)議實體間通訊的機制,這樣就用軟件來模擬實際的硬件組網(wǎng),大大節(jié)省了硬件資源,并且在組網(wǎng)改變時只需通過軟件設置來改變組網(wǎng),也節(jié)省了重新組網(wǎng)的時間。
而相比用測試工具而言,通過本技術方案,可以保留實際的組網(wǎng)形式,用例構(gòu)造和實際組網(wǎng)測試時保持一致,既保持兼容又很直觀,使得測試用例構(gòu)造變得簡單。
圖5是本發(fā)明具體測試的一個流程圖。
如圖2所示,本發(fā)明采用的網(wǎng)絡協(xié)議測試系統(tǒng)包括,是一個包括控制臺、腳本執(zhí)行器的系統(tǒng),該控制臺包括有與協(xié)議實體通訊模塊用來與協(xié)議實體和腳本執(zhí)行器進行通訊,將數(shù)據(jù)上報給轉(zhuǎn)發(fā)模塊,轉(zhuǎn)發(fā)模塊收到數(shù)據(jù)后在轉(zhuǎn)發(fā)數(shù)據(jù)庫中進行搜索,再通過與協(xié)議實體通訊模塊將數(shù)據(jù)發(fā)送出去;如圖3所示,本發(fā)明中所說的協(xié)議實體,是一個可以在終端機上獨立運行的進程,一個協(xié)議實體就用來模擬了一個網(wǎng)絡節(jié)點。具體包括驅(qū)動接口、協(xié)議層和通訊底層。該驅(qū)動接口用來提供用戶界面,用來完成協(xié)議層的配置,并顯示協(xié)議層的狀態(tài);該協(xié)議層即是用來測試的協(xié)議;該通訊底層是該協(xié)議實體對外通訊的控制層,完成發(fā)送和接收協(xié)議層的報文。驅(qū)動接口,協(xié)議層、通訊底層都是軟件模塊,因此這幾部分都是在一個程序中,即一個進程中運行。其中,該通訊底層為標準的套接字(SOCKET)連接,該套接字連接是網(wǎng)絡通信操作的抽象定義,是使用TCP/IP協(xié)議通訊的一套編程接口。
轉(zhuǎn)發(fā)模塊用來完成報文轉(zhuǎn)發(fā),在本發(fā)明中,協(xié)議實體之間并不直接進行通訊,而是通過控制臺來轉(zhuǎn)發(fā),以模擬實際的組網(wǎng)方式,轉(zhuǎn)發(fā)模塊就是將測試過程中的各種數(shù)據(jù)報文進行轉(zhuǎn)發(fā)的部分;與腳本執(zhí)行器通訊模塊與腳本執(zhí)行器之間進行通訊,完成各種指令的傳遞;控制臺配置模塊配置協(xié)議實體之間的轉(zhuǎn)發(fā)機制;轉(zhuǎn)發(fā)數(shù)據(jù)庫保存虛擬組網(wǎng)圖及相關數(shù)據(jù),包括與協(xié)議實體通訊模塊與轉(zhuǎn)發(fā)模塊之間的交互數(shù)據(jù),以及配置模塊和腳本執(zhí)行器等用到的數(shù)據(jù)。
以上轉(zhuǎn)發(fā)模塊和與協(xié)議實體通訊模塊、與腳本執(zhí)行器通訊模塊及轉(zhuǎn)發(fā)數(shù)據(jù)庫通過數(shù)據(jù)線相連,所述的轉(zhuǎn)發(fā)數(shù)據(jù)庫還與控制臺配置模塊及與腳本執(zhí)行器通訊模塊通過數(shù)據(jù)線相連;所述的腳本控制器解釋控制腳本,并將腳本轉(zhuǎn)化為命令發(fā)給控制臺,以控制測試過程,所述的控制臺轉(zhuǎn)發(fā)協(xié)議實體之間發(fā)送的報文,以完成協(xié)議的測試。
如圖4所示,是本發(fā)明的虛擬組網(wǎng)測試模型圖,在圖中,通過控制臺的配置,模擬出不同的組網(wǎng)方式。
本發(fā)明包括先將協(xié)議軟件部分封裝成可獨立運行的協(xié)議實體,這是將協(xié)議軟件封裝成具有驅(qū)動接口、協(xié)議層和通訊底層的協(xié)議實體,其中驅(qū)動接口用于提供用戶界面,用來完成協(xié)議層的配置,并顯示協(xié)議層的狀態(tài);協(xié)議層是用來測試的協(xié)議;通訊底層是該協(xié)議實體對外通訊的控制層,用來完成發(fā)送和接收協(xié)議層的報文。如圖4所示,圖中列出了4個協(xié)議實體,每個協(xié)議實體都包括上述的3個邏輯結(jié)構(gòu)。
再通過測試控制臺將協(xié)議實體之間的報文轉(zhuǎn)發(fā),從而完成協(xié)議實體之間的通訊,進行網(wǎng)絡協(xié)議的測試。如圖4所示,如果進行協(xié)議實體1和協(xié)議實體3之間的協(xié)議測試,可以通過控制臺來轉(zhuǎn)發(fā)協(xié)議實體1和協(xié)議實體3之間的報文,直接模擬了不同組網(wǎng)情況下的協(xié)議測試,并且與實際組網(wǎng)測試的效果也相同。
這里的報文轉(zhuǎn)發(fā),是指協(xié)議實體和控制臺按照通訊協(xié)議,將發(fā)送出的協(xié)議報文再加上源實體號的標簽,控制臺收到報文后,提取出源實體號,查找目的實體號,將協(xié)議報文轉(zhuǎn)發(fā)到目的協(xié)議實體。
在測試過程中,可以通過改變控制臺的轉(zhuǎn)發(fā)配置來模擬改變協(xié)議實體的組網(wǎng)方式。比如現(xiàn)在想在協(xié)議實體1和協(xié)議實體2之間進行測試,那么只需通過控制臺的轉(zhuǎn)發(fā)配置,將協(xié)議實體1的報文轉(zhuǎn)發(fā)給協(xié)議實體2即可。
對于一次測試,比如欲在圖4中協(xié)議實體1和協(xié)議實體3之間進行協(xié)議測試,具體可以包括以下步驟a、配置虛擬組網(wǎng)圖,控制臺將該虛擬組網(wǎng)圖存儲到轉(zhuǎn)發(fā)數(shù)據(jù)庫;由控制臺將實際需要測試的協(xié)議實體之間的轉(zhuǎn)發(fā)關系做一個配置,報文轉(zhuǎn)發(fā)的關系設置為協(xié)議實體1和給協(xié)議實體3,以此為基礎,進行數(shù)據(jù)報文的路徑選擇,將此虛擬組網(wǎng)的配置關系存儲到轉(zhuǎn)發(fā)數(shù)據(jù)庫;其中,配置虛擬組網(wǎng)圖的步驟,可以通過控制臺配置模塊來完成,也可以通過腳本執(zhí)行器來完成。
b、腳本執(zhí)行器下發(fā)命令給測試控制臺;通過腳本執(zhí)行器下發(fā)測試命令給測試控制臺,對測試協(xié)議報文進行控制;c、協(xié)議模塊運行,向測試控制臺發(fā)送協(xié)議報文;協(xié)議模塊開始運行,向控制臺發(fā)送待測協(xié)議報文,協(xié)議實體1向控制臺發(fā)送協(xié)議報文,其中,該協(xié)議模決的運行,可以通過協(xié)議實體驅(qū)動模塊接收外部輸入來完成,也可以通過腳本執(zhí)行器下發(fā)腳本引發(fā)虛擬組網(wǎng)圖變化來完成;d、測試控制臺接收協(xié)議報文,搜索轉(zhuǎn)發(fā)數(shù)據(jù)庫,如果在轉(zhuǎn)發(fā)數(shù)據(jù)庫中找到相應的目的實體,則將協(xié)議報文轉(zhuǎn)發(fā)給該目的實體;如果沒有找到目的實體,則將該報文丟棄;測試控制臺接收到協(xié)議報文后,在其轉(zhuǎn)發(fā)數(shù)據(jù)庫中進行搜索,尋找目的實體,如果在轉(zhuǎn)發(fā)數(shù)據(jù)庫中找到相應的目的實體,則將協(xié)議報文轉(zhuǎn)發(fā)給該目的實體;如果沒有找到目的實體,則將該報文丟棄,視為一次無效的請求;本實施例中,協(xié)議實體1發(fā)送的報文依據(jù)轉(zhuǎn)發(fā)關系,被轉(zhuǎn)發(fā)給協(xié)議實體3;e、重復步驟c、d,直到協(xié)議穩(wěn)定。
通過不斷的發(fā)送與重復轉(zhuǎn)發(fā),使協(xié)議達到穩(wěn)定狀態(tài)。
從上面的實施例不難看出,本發(fā)明實現(xiàn)簡單,能大大方便用戶的使用。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權(quán)利要求書的保護范圍為準。
權(quán)利要求
1.一種網(wǎng)絡協(xié)議測試系統(tǒng),包括腳本執(zhí)行器,其特征在于,還包括測試控制臺,所述的控制臺包括與協(xié)議實體通訊的模塊用來與協(xié)議實體和腳本執(zhí)行器進行通訊,將數(shù)據(jù)上報給轉(zhuǎn)發(fā)模塊;轉(zhuǎn)發(fā)模塊用來完成報文轉(zhuǎn)發(fā);與腳本執(zhí)行器通訊模塊與腳本執(zhí)行器之間進行通訊,完成各種指令的傳遞;控制臺配置模塊配置協(xié)議實體之間的轉(zhuǎn)發(fā)機制;轉(zhuǎn)發(fā)數(shù)據(jù)庫保存虛擬組網(wǎng)圖及相關數(shù)據(jù);所述的協(xié)議實體是一個可以在終端機上獨立運行的進程,以模擬網(wǎng)絡節(jié)點;所述的轉(zhuǎn)發(fā)模塊和與協(xié)議實體通訊模塊、與腳本執(zhí)行器通訊模塊及轉(zhuǎn)發(fā)數(shù)據(jù)庫通過數(shù)據(jù)線相連,所述的轉(zhuǎn)發(fā)數(shù)據(jù)庫還與控制臺配置模塊及與腳本執(zhí)行器通訊模塊通過數(shù)據(jù)線相連;所述的腳本控制器解釋控制腳本,并將腳本轉(zhuǎn)化為命令發(fā)給控制臺,以控制測試過程,所述的控制臺轉(zhuǎn)發(fā)協(xié)議實體之間發(fā)送的報文,以完成協(xié)議的測試。
2.如權(quán)利要求1所述的網(wǎng)絡協(xié)議測試系統(tǒng),其特征在于該協(xié)議實體包括a、驅(qū)動接口提供用戶界面,用來完成協(xié)議層的配置,并顯示協(xié)議層的狀態(tài);b、協(xié)議層即用來測試的協(xié)議;c、通訊底層是該協(xié)議實體對外通訊的控制層,完成發(fā)送和接收協(xié)議層的報文。
3.如權(quán)利要求2所述的網(wǎng)絡協(xié)議測試系統(tǒng),其特征在于所述的通訊底層為標準的套接字(SOCKET)連接。
4.一種基于權(quán)利要求1所述的網(wǎng)絡協(xié)議測試系統(tǒng)而實現(xiàn)的網(wǎng)絡協(xié)議測試方法,其特征在于A、將協(xié)議軟件部分封裝成可獨立運行的協(xié)議實體;B、通過測試控制臺將協(xié)議實體之間的報文轉(zhuǎn)發(fā),完成協(xié)議實體之間的通訊,進行網(wǎng)絡協(xié)議的測試。
5.如權(quán)利要求4所述的網(wǎng)絡協(xié)議測試方法,其特征在于所述的步驟A,是將協(xié)議軟件封裝成具有驅(qū)動接口、協(xié)議層和通訊底層的協(xié)議實體,其中驅(qū)動接口用于提供用戶界面,用來完成協(xié)議層的配置,并顯示協(xié)議層的狀態(tài);協(xié)議層是用來測試的協(xié)議;通訊底層是該協(xié)議實體對外通訊的控制層,用來完成發(fā)送和接收協(xié)議層的報文。
6.如權(quán)利要求4或5所述的網(wǎng)絡協(xié)議測試方法,其特征在于所述步驟B中的報文轉(zhuǎn)發(fā),是指協(xié)議實體和控制臺按照通訊協(xié)議,將發(fā)送出的協(xié)議報文再加上源實體號的標簽,控制臺收到報文后,提取出源實體號,查找目的實體號,將協(xié)議報文轉(zhuǎn)發(fā)到目的協(xié)議實體。
7.如權(quán)利要求4或5所述的網(wǎng)絡協(xié)議測試方法,其特征在于還可以通過改變控制臺的轉(zhuǎn)發(fā)配置來模擬改變協(xié)議實體的組網(wǎng)方式。
8.如權(quán)利要求4或5所述的網(wǎng)絡協(xié)議測試方法,其特征在于所述的步驟B進一步包括a、配置虛擬組網(wǎng)圖,控制臺將該虛擬組網(wǎng)圖存儲到轉(zhuǎn)發(fā)數(shù)據(jù)庫;b、腳本執(zhí)行器下發(fā)命令給測試控制臺;c、協(xié)議模塊運行,向測試控制臺發(fā)送協(xié)議報文;d、測試控制臺接收協(xié)議報文,搜索轉(zhuǎn)發(fā)數(shù)據(jù)庫,如果在轉(zhuǎn)發(fā)數(shù)據(jù)庫中找到相應的目的實體,則將協(xié)議報文轉(zhuǎn)發(fā)給該目的實體;如果沒有找到目的實體,則將該報文丟棄;e、重復步驟c、d,直到協(xié)議穩(wěn)定。
9.如權(quán)利要求8所述的網(wǎng)絡協(xié)議測試方法,其特征在于所述的配置虛擬組網(wǎng)圖的步驟,可以通過控制臺配置模塊來完成,也可以通過腳本執(zhí)行器來完成。
10.如權(quán)利要求8所述的網(wǎng)絡協(xié)議測試方法,其特征在于所述的協(xié)議模塊運行的步驟,可以通過協(xié)議實體驅(qū)動模塊接收外部輸入來完成,也可以通過腳本執(zhí)行器下發(fā)腳本引發(fā)虛擬組網(wǎng)圖變化來完成。
全文摘要
本發(fā)明涉及一種網(wǎng)絡協(xié)議虛擬組網(wǎng)的測試方法及其使用系統(tǒng)。一種網(wǎng)絡協(xié)議測試方法,其特征在于將協(xié)議軟件部分封裝成可獨立運行的協(xié)議實體,進而通過測試控制臺將協(xié)議實體之間的報文轉(zhuǎn)發(fā),從而完成協(xié)議實體之間的通訊,進行網(wǎng)絡協(xié)議的測試。通過本發(fā)明的技術方案,將協(xié)議軟件部分進行封裝形成協(xié)議實體,并構(gòu)建了各協(xié)議實體間通訊的機制,這樣就用軟件來模擬實際的硬件組網(wǎng),大大節(jié)省了硬件資源,并且在組網(wǎng)改變時只需通過軟件設置來改變組網(wǎng),也節(jié)省了重新組網(wǎng)的時間。
文檔編號H04L29/06GK1471267SQ02125569
公開日2004年1月28日 申請日期2002年7月22日 優(yōu)先權(quán)日2002年7月22日
發(fā)明者陸偉, 陸 偉 申請人:華為技術有限公司