基于SDL實現(xiàn)的GPRS網(wǎng)絡一致性測試技術研究


摘 要 首先論述了GPRS網(wǎng)絡結(jié)構(gòu)以及有關一致性測試的基本方法和原則,從系統(tǒng)的整體構(gòu)架、模塊劃分和數(shù)據(jù)處理流程等方面,詳細描述了GPRS網(wǎng)絡協(xié)議棧測試系統(tǒng),深入地研究和分析了基于SDL實現(xiàn)的GPRS協(xié)議棧一致性測試方法,最后對系統(tǒng)測試案例的設計思想和實現(xiàn)過程進行了說明。測試結(jié)果表明,該方法能顯著提高GPRS協(xié)議一致性測試效率。

1、前言

  在現(xiàn)代通信領域,要保證通信系統(tǒng)的正常運行和通信業(yè)務的順利開展,取決于協(xié)議軟件是否滿足協(xié)議規(guī)范的要求,必須進行專門的協(xié)議測試加以保證,需要通過完備的協(xié)議測試進行系統(tǒng)驗證。GPRS作為當今移動通信應用熱點之一,業(yè)務功能的實現(xiàn)的前提,同樣取決于通信軟件是否符合協(xié)議的要求,因此進行GPRS協(xié)議棧中有關功能實體和接口的測試十分重要。解決GPRS協(xié)議一致性問題首當其沖,對于準確地驗證GPRS網(wǎng)絡的接口規(guī)范、開放性各項技術具有十分重要的意義。本文針對一致性測試,采用形式化的SDL測試語言作為協(xié)議標準的描述語言,協(xié)議語義不存在二義性,該抽象描述采用標準實用的測試方法和工具實現(xiàn),達到了簡化測試模型,提高測試效率的目的,非常適合于GPRS協(xié)議的軟件自動測試。

2、GPRS網(wǎng)絡協(xié)議棧

  GPRS網(wǎng)在GSM網(wǎng)的基礎上增加了GPRS業(yè)務支持節(jié)點(SGSN)和GPRS網(wǎng)關支持節(jié)點(GGSN)兩個功能實體,提供基于IP的分組數(shù)據(jù)傳輸,符合ISO定義的OSI網(wǎng)絡七層結(jié)構(gòu)。GPRS采用TCP或UDP協(xié)議進行應用層數(shù)據(jù)傳輸,所謂協(xié)議棧就是對信息進行多次封裝和解封的過程,以便能夠在不同的實體間傳送信息。GPRS網(wǎng)絡協(xié)議棧是一種對等的協(xié)議結(jié)構(gòu),其結(jié)構(gòu)如圖1所示。


圖1 GPRS網(wǎng)絡協(xié)議棧結(jié)構(gòu)


  GPRS骨干網(wǎng)一般有兩種構(gòu)建方式:基于因特網(wǎng)和虛擬專網(wǎng)VPN的方法,后者增加了系統(tǒng)的隱蔽性和報文的保密性。GPRS骨干網(wǎng)采用GTP(GPRS隧道協(xié)議),該協(xié)議允許多種協(xié)議包如IP包或X.25包等在GSN組件間用隧道方式穿過,通過隧道方式可以封裝任意數(shù)據(jù),實現(xiàn)GPRS骨干網(wǎng)與多種外部數(shù)據(jù)網(wǎng)互通。

3、SDL一致性測試原理

  所謂一致性,是指協(xié)議的形式規(guī)范和協(xié)議實現(xiàn)行為之間的一致,即檢驗協(xié)議是否符合規(guī)范的要求。協(xié)議一致性測試則是通過測試程序,檢查測試實現(xiàn)(IUT)是否符合協(xié)議規(guī)范的要求。近年來,協(xié)議一致性測試是國際上非常關注的、也是發(fā)展較快的一個研究領域,相對其他測試領域,一致性測試唯一能給出理論框架和方法論,目前,一致性測試通常采用抽象測試方法完成,即根據(jù)對IUT(被測協(xié)議實現(xiàn))輸入的控制和輸出的觀察來描述測試進程。OSI協(xié)議標準規(guī)定了協(xié)議直至一致性測試的基本模型,如圖2所示。該模型根據(jù)協(xié)議實體的PDU(協(xié)議數(shù)據(jù)單元)和協(xié)議實體上下的ASP(抽象服務原語)來定義協(xié)議實體所允許的行為。其中N層實體的行為根據(jù)(n)ASP和(N-1)ASP來定義,借助協(xié)議測試模型,可以實現(xiàn)對各層ASP之間行為的觀察和控制。


圖2 協(xié)議一致性測試的基本模型


  圖2關于一致性測試的基本模型可以通過形式化模型,即形式化描述語言進行表達。其中SDL(規(guī)格和描述語言,Specification and Description Language)是ITU開發(fā)的一種形式描述語言,是一種能夠精確定義通信系統(tǒng)功能規(guī)格及對其行為進行描述的國際標準化的正式語言,它主要用于實時的交互分布式系統(tǒng)的形式化描述。SDL使用擴展有限狀態(tài)機(EFSM)的概念來描述對象。SDL一般有兩種表示法:SDL/PR文字表示法和SDL/GR圖形表示法。在實際應用中,開發(fā)人員將應用SDL圖形描述,再由SDL工具將其轉(zhuǎn)化為C語言源代碼,或者CHILL源代碼,最后嵌入到實際開發(fā)環(huán)境中。SDL采用多層結(jié)構(gòu)來描述整個系統(tǒng),非常適合GPRS協(xié)議棧的抽象描述。圖3是SDL測試的一般原理。


圖3 SDL協(xié)議測試描述


4、GPRS協(xié)議棧測試系統(tǒng)

  采用SDL語言描述抽象測試集的4個部分:測試集概況、聲明部分、約束部分和動態(tài)部分。利用SDL語言抽象出GPRS協(xié)議的系統(tǒng)、塊、進程和過程并對其進行形式化描述,以SDL形式化描述的TTCN樹表結(jié)合表示法作為測試工具,在短時間內(nèi)完成了穩(wěn)定的通信協(xié)議程序。系統(tǒng)選擇黑盒測試法,首先將IUT看作一個測試實體,根據(jù)測試者的測試目的,通過選擇IUT與測試環(huán)境的接口來進行測試,以達到測試和驗證IUT的目的。通過與SDL的聯(lián)合使用(協(xié)同仿真),生成消息序列流圖(MSC),通過觀察IUT內(nèi)部和IUT與環(huán)境(測試系統(tǒng))之間的消息序列和數(shù)據(jù)流,達到查找錯誤的目的。在GPRS協(xié)議棧的測試過程中,測試用例設計是完成一致性測試的關鍵,以事件語句為例:事件語句主要包括SEND、RECEIVE、TIMEOUT和OTHERWISE等。發(fā)送事件SEND用符號“!”標識,事件地點即PCO的名稱在“!”前設定,“!”后封裝待發(fā)送的消息名稱,要將ASP或PDU通過一個PCO發(fā)送到IUT,需要調(diào)用SEND語句,例如:PCO Identifier!ASP Identifier,SEND語句也可以附加限制條件,例如賦值語句和定時器語句等。這些語句的調(diào)用順序如下:

  SEND3[QUALIFIER]1[ASSIGNMENT_LIST]2[TIMER_OPERATION]4

  圖4是測試系統(tǒng)的實現(xiàn)框圖,其中測試用例全部采用SDL描述,由測試工具激勵產(chǎn)生。


圖4 一致性測試系統(tǒng)實現(xiàn)模塊


  GPRS協(xié)議棧的驗證包括一系列的進程和過程,進程采用擴展狀態(tài)機實現(xiàn),描述GPRS協(xié)議棧事件過程中的動作和狀態(tài)變遷。在SDL對GPRS形式化描述的基礎上,利用SDT的Simulator UI完成了協(xié)議棧原語操作的驗證測試。測試結(jié)果表明,形式化的基于TTCN的測試執(zhí)行方法不僅適用于協(xié)議的一致性測試過程,對于互操作測試和多方測試也是適用的。

5、結(jié)論

  測試結(jié)果表明,基于SDL形式化描述的一致性協(xié)議測試,可以以最快的速度激勵產(chǎn)生標準的協(xié)議測試程序,及時發(fā)現(xiàn)協(xié)議實現(xiàn)是否符合一致性要求。方法具有很強的靈活性,可根據(jù)一致性測試或借口測試的不同要求,修改測試程序的產(chǎn)生方式,盡早發(fā)現(xiàn)并修改錯誤,最大程度地降低出錯率,從而到達降低成本的目的。特別是當同一個網(wǎng)絡內(nèi)的其它實體發(fā)生變化時,形式化描述的靈活性能夠確保各層次測試描述的一致性。本文雖然以討論一致性測試為主,但該方法對于互操作性測試和性能測試同樣有借鑒意義。

  參考文獻

  1 ISO/IEC 9646-2(ITU-T Rec.X.291):抽象測試集規(guī)范

  2 蒙移發(fā),徐惠民,高強.協(xié)議驗證與一致性測試方法[M].北京:電子工業(yè)出版社,2003.

  3 GPRS原理及其網(wǎng)絡優(yōu)化,韓斌杰等,機械工業(yè)出版社,2003.6

  4 F Belina,D Hogrefe,A Sarma.SDL with Applicalion from protocol specification. Prentice Hall(UK)
作者:楊焱   來源:廣東通信技術
微信掃描分享本文到朋友圈
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料

本周熱點本月熱點

 

  最熱通信招聘

業(yè)界最新資訊


  最新招聘信息