專利名稱:一種基于消息錄制回放的模擬網元測試方法
技術領域:
本發明涉及電信領域電信網網管系統(以下簡稱網管系統),更具體地涉及一種用模擬網元來改進網管系統的測試工作的方法。
目前,在網管軟件系統的開發過程中,不可避免地要進行多次回歸測試,每次測試均要在實驗室搭建各種類型的數量繁多的實際網元(包括實際的電信網絡設備及軟件)來構筑各種復雜的測試環境用于網管系統測試,既極大地浪費了物力,在實驗室中又極為不可行,還導致測試的前期準備工作周期過長、影響測試工作的效率、拖延網管系統的開發周期。另外,用自動化測試代替繁重的手工測試一直是網管系統測試工作改進的目標,使用目前的商用回歸測試軟件在網管系統客戶端可以進行自動回歸測試,但要求回放時網元設備返回結果的順序和內容必須與錄制時相同,而實時多任務、分布式處理的電信系統網元設備難以滿足這個要求,這使得商用回歸測試軟件難以用于網管系統的自動化測試中,而不得不采用人工手工測試的方法,極大的浪費了人力,降低了效率。以上所述兩點原因,造成目前采用的測試方法工作效率低下,同時在測試過程中又占用了大量昂貴的網元設備,給測試工作帶來諸多不便。
本發明的目的是為了克服上面描述的現有技術的弊端,并提供一種基于消息錄制回放的模擬網元測試方法。在網管系統開發測試階段,盡可能減少實際網元設備的投入數量,而用盡可能多的模擬網元來代替龐大而昂貴的實際網元組網從而達到測試網管系統的目的;另外,通過模擬網元保證回放時返回結果的順序和內容與錄制時完全相同,以滿足商用回歸測試軟件進行回歸測試的要求。
本發明提供了一種基于消息錄制回放的模擬網元測試方法,其特征在于包括如下步驟1、取得網管系統與網元設備的通訊接口協議;2、在網管系統與網元設備相互連接的鏈路上插入本發明的消息錄制模塊,消息錄制模塊通過采用網管系統和網元設備的通訊接口協議來監視網管系統與網元設備之間相互通訊的消息,并實現對所有這些消息進行轉發、檢查以及對需要的消息實現錄制存儲的功能;3、去掉實際網元設備,在網管系統與本發明的消息回放模塊之間建立鏈路,消息回放模塊也采用網管系統與網元設備的通訊接口協議,與網管系統建立通訊,并利用消息錄制模塊錄制存儲下來的消息數據庫,模擬網元設備并返回相關的消息。
所述模擬網元測試方法,其特征還在于所述的消息錄制模塊包括如下步驟1、在消息錄制模塊中設置兩個鏈路接口,一個鏈路接口用于連接網管系統,另一個鏈路接口用于連接網元設備,兩個鏈路接口均使用網管系統與網元設備的通訊接口協議使消息錄制模塊與網管系統和網元設備分別建立通訊;2、兩個鏈路接口接收到的消息都傳遞到消息處理器;3、消息處理器接收到消息后,調用消息轉發器在兩個接口間實現消息的雙向轉發功能;4、調用消息錄制器查詢消息預定義表,檢查是否是需要的消息,并根據消息預定義表里的動作信息實現此動作信息所定義的動作。
所述模擬網元測試方法,其特征還在于所述的消息回放模塊包括如下步驟1、設置一個鏈路接口,用于與網管系統的鏈路連接,鏈路接口使用網管系統與網元設備的通訊接口協議和網管系統建立通訊;2、鏈路接口將網管系統方向傳來的消息傳遞到消息處理器;3、調用消息回放器查詢消息預定義表,檢查是否是預定義的消息,并根據消息預定義表里的動作信息實現此動作信息所定義的動作。
上述的消息預定義表是一張二維表格,由測試人員預先將要監視的信息及其錄制動作添入此表。消息轉發器實現的功能就是如上所述的消息雙向轉發功能,即將從連接網管系統的鏈路接口收到的消息原封不動地轉發給網元設備;將從連接網元設備的鏈路接口收到的消息原封不動地轉發給網管系統。消息錄制器實現的功能如上所述有兩個一是對照消息預定義表,實現預定義消息的監視功能,二是對所監視的消息實現消息預定義表所定義的預定義動作。消息錄制器執行消息的存儲動作時,首先根據消息的唯一標志在消息庫中查找是否已有相同存儲項,若無則存儲,若已有相同存儲項,則不作任何處理。
本發明的基于消息錄制回放的模擬網元有以下優點1、可以將對單個實際網元設備錄制的消息庫用于組建復雜的模擬網元測試環境,以滿足實驗室網管系統測試對測試環境的要求,而如果使用實際網元設備來進行這項測試,在實驗室中基本是不可行的;2、可以利用本發明配合網管系統的宏命令工具或商業化的軟件測試工具(如美國Rational公司的SQAsuite軟件)起到簡化測試步驟,縮短測試周期的效果,從而實現網管系統測試自動化;3、本發明的模擬網元結構簡單,易于實現,因而可以與網管系統的開發同步開始,甚至可以先于網管系統的開發,從而在網管系統的整個開發過程中都可以使用,便于網管開發人員調試改錯,有很好的實用性;4、使用本發明的模擬網元在實際網元設備上錄制一次,生成的消息庫在以后就可代替這個實際網元設備用于測試,并且消息錄制不影響測試工作的進行;5、由于消息錄制模塊生成的消息庫結構組織較為簡單,因此消息庫的生成也較為靈活,可以采用追加、刪除、替換等方式來生成更加適合測試需求的消息庫。
下面通過具體的實施例并結合附圖對本發明作進一步詳細地描述。
圖1為本發明的整體結構2(a)為消息錄制模塊基本組成模塊及與網管系統和網元設備的連接2(b)是消息回放模塊基本組成模塊及與網管系統的連接3(a)是消息錄制模塊與網管系統以及網元的整體組網3(b)是消息回放模塊與網管系統的整體組網4(a)是消息錄制模塊的處理流程4(b)是消息回放模塊的處理流程1示出了本發明的整體結構。消息錄制模塊100與消息回放模塊200是整個系統的兩個基本組成部分,消息錄制模塊100分別與網管系統300和網元設備400建立連接,用于生成消息數據庫500,對消息數據庫500進行“讀/寫”操作;消息回放模塊200只與網管系統300連接,通過使用消息數據庫500來實現模擬網元的功能,對消息數據庫500只進行“讀”操作。
圖2(a)示出了消息錄制模塊100的基本組成模塊及與網管系統300和網元設備400的連接關系。消息錄制模塊100通過鏈路接口A101和鏈路接口B 102分別與網管系統300和網元設備400建立連接,之間的Q接口11、12通常采用TCP/IP底層鏈路協議。消息錄制模塊100是一個程序,它可以運行于Windows系統或UNIX系統。鏈路接口A 101、B 102采用網絡套接字socket。Q接口11、12是網管系統服務器302與網管系統前置機401之間的通訊協議,如果網管前置機401不進行網管服務器302與網元402之間的協議轉換,那么Q接口11、12就是網管系統300與網元402的接口協議。以下分別介紹消息錄制模塊100對從鏈路接口A 101和鏈路接口B 102接收到的消息所作的不同處理。
當鏈路接口A 101接收到網管系統300送來的消息后,將其送往消息處理器103,消息處理器103首先調用消息轉發器104,消息轉發器104對此消息不作任何處理直接將其通過鏈路接口B 102發送到網元402,其后消息處理器103將此消息送往消息錄制器105并調用消息錄制器105,消息錄制器105首先在如下所示的消息預定義表1里查詢此消息是否是預定義的消息,如果是,則根據消息預定義表1里定義的動作信息采取相應的動作。例如是網管系統300下發的人機命令消息,則消息錄制器105采取如下動作,首先檢查消息預定義表1里此消息對應的網元號與人機命令消息下達的網元號是否一致,如果相同,則根據一定的算法生成消息唯一標志添入表中此消息對應的ID項內,如不同則消息錄制器不作任何動作。此處,消息唯一標志的計算可以采用如下算法ID=人機命令消息每個參數×各個參數序號之和+人機命令號×m+網元號×n。(m,n為非0整數,一般m,n取值較大一些效果較好)。
消息預定義表1
當鏈路接口B 102接受到網元402上報的消息后,將此消息送往消息處理器103處理,消息處理器103接受到消息后,首先調用消息轉發器104,消息轉發器104將此消息送往鏈路接口A 101發送到網管系統300。接著消息處理器103調用消息錄制器105,消息錄制器105接受到消息后首先在如上所示的消息預定義表1里查詢此消息是否是預定義的消息,如果是,則根據消息預定義表1里定義的相應動作信息采取相應的動作。例如如果是告警消息,則根據一定的算法生成此告警消息的唯一標志ID,此處,消息唯一標志的計算可以采用如下算法ID=告警消息體所有字節之和,隨后將此消息體與此消息的唯一標志存入消息數據庫500;如果是人機命令返回結果消息,則首先在消息預定義表里取得同網元號的命令消息對應的ID值,其后將返回結果消息體與取得的ID值存入消息數據庫500。存儲前需查詢庫中是否已有重復項,沒有才能存儲。
以上介紹了消息錄制模塊100的實施方法,其中消息預定義表中的“網元號”項的設置主要是為了解決如圖3(a)所示錄制環境的復雜組網而設置的,以防止各網元消息的混淆。圖4(a)給出了消息錄制模塊100的處理流程。
下面介紹消息回放模塊200的實施方法以及其在測試中的具體應用。如圖2(b)所示,消息回放模塊200是一個程序,可以與圖2(a)所示消息錄制模塊100同處于一個程序中,也可獨立出來。鏈路接口201基于TCP/IP協議實現與網管系統300的鏈路連接,消息回放模塊200與網管系統300的通訊協議是Q接口協議。鏈路接口201接收到網管系統300傳來的消息(通常是人機命令消息)后將其送往消息處理器202作處理,消息處理器202接受到消息后將此消息送往消息回放器203并調用消息回放器203,消息回放器203查詢如下所示的消息預定義表2,并根據消息預定義表2里消息名對應的動作信息采取相應的動作。例如對于接收到的命令消息實現消息唯一標志ID的生成,然后根據消息名及生成的ID在消息錄制模塊建立的數據庫500中查找是否有匹配項,如果有,則將查找項的消息體讀出送往鏈路接口201,由鏈路接口201發送到網管系統300;如果沒有,則從鏈路接口201發送“無結果”的消息給網管系統300。數據庫中查找到的匹配項即是命令所對應的返回結果消息。如果告警消息是網元設備400主動上報網管系統300的,那么消息回放模塊200定期讀取告警庫中這類的全部告警消息并將其主動上報網管系統300,對于網管系統300通過命令查詢網元才上報的告警消息,其處理同命令的返回結果消息的處理相同。通過以上方法,就達到了模擬網元的效果。
消息預定義表2
圖4(b)是消息回放模塊的處理流程圖。圖3(b)是消息回放模塊與網管系統的測試組網圖,每個消息回放模塊模擬如圖3(a)所示的網管系統前置機所帶的多個網元。
在實驗室里圖3(b)所示的環境是非常易于搭建的。在上述實驗環境下結合商業化的測試軟件SQASuite,使用消息回放模塊,就可對網管系統起到較好的測試效果。
權利要求
1.一種基于消息錄制回放的模擬網元測試方法,其特征在于包括如下步驟(1)取得網管系統(300)與網元設備(400)的通訊接口協議;(2)在網管系統(300)與網元設備(400)相互連接的鏈路上插入消息錄制模塊(100),消息錄制模塊(100)通過采用網管系統(300)和網元設備(400)的通訊接口協議來監視網管系統(300)與網元設備(400)之間相互通訊的消息,并實現對所有這些消息進行轉發、檢查以及對需要的消息實現錄制存儲的功能;(3)去掉實際網元設備(400),在網管系統(300)與消息回放模塊(200)之間建立鏈路,消息回放模塊(200)也采用網管系統(300)與網元設備(400)的通訊接口協議,與網管系統(300)建立通訊,并利用消息錄制模塊(100)錄制存儲下來的消息數據庫(500),模擬網元設備(400)并返回相關的消息。
2.如權利要求1所述的所述的基于消息錄制回放的模擬網元測試方法,其特征還在于所述的消息錄制模塊(100)包括如下步驟(1)在消息錄制模塊(100)中設置兩個鏈路接口,一個鏈路接口(101)用于連接網管系統,另一個鏈路接口(102)用于連接網元設備,兩個鏈路接口均使用網管系統(300)與網元設備(400)的通訊接口協議使消息錄制模塊(100)與網管系統(300)和網元設備(400)分別建立通訊;(2)兩個鏈路接口接收到的消息都傳遞到消息處理器(103);(3)消息處理器(103)接收到消息后,調用消息轉發器(104)在兩個接口間實現消息的雙向轉發功能;(4)調用消息錄制器(105)查詢消息預定義表,檢查是否是需要的消息,并根據消息預定義表里的動作信息實現此動作信息所定義的動作。
3.如權利要求1所述的基于消息錄制回放的模擬網元測試方法,其特征還在于所述的消息回放模塊(200)包括如下步驟(1)設置一個鏈路接口(201),用于與網管系統(300)的鏈路連接,鏈路接口(201)使用網管系統(300)與網元設備(400)的通訊接口協議和網管系統(300)建立通訊;(2)鏈路接口(201)將網管系統(300)方向傳來的消息傳遞到消息處理器(202);(3)調用消息回放器(203)查詢消息預定義表,檢查是否是預定義的消息,并根據消息預定義表里的動作信息實現此動作信息所定義的動作。
全文摘要
一種基于消息錄制回放的模擬網元測試方法,用于對電信領域電信網網管系統的測試。該方法主要包括消息錄制模塊和消息回放模塊。消息錄制模塊實現對消息的轉發、檢查以及對需要的消息實現錄制存儲的功能。消息回放模塊利用消息錄制模塊錄制存儲下來的消息數據庫,模擬網元設備并返回相關的消息。本發明在測試網管系統時,能減少實際網元設備的投入數量,而代之以盡可能多的模擬網元,并可以利用商用回歸測試軟件來進行回歸測試。
文檔編號H04L29/06GK1287427SQ9911719
公開日2001年3月14日 申請日期1999年11月5日 優先權日1999年11月5日
發明者王海濤, 王俊剛 申請人:深圳市中興通訊股份有限公司