摘 要 首先論述了GPRS網(wǎng)絡(luò)結(jié)構(gòu)以及有關(guān)一致性測(cè)試的基本方法和原則,從系統(tǒng)的整體構(gòu)架、模塊劃分和數(shù)據(jù)處理流程等方面,詳細(xì)描述了GPRS網(wǎng)絡(luò)協(xié)議棧測(cè)試系統(tǒng),深入地研究和分析了基于SDL實(shí)現(xiàn)的GPRS協(xié)議棧一致性測(cè)試方法,最后對(duì)系統(tǒng)測(cè)試案例的設(shè)計(jì)思想和實(shí)現(xiàn)過(guò)程進(jìn)行了說(shuō)明。測(cè)試結(jié)果表明,該方法能顯著提高GPRS協(xié)議一致性測(cè)試效率。
1、前言
在現(xiàn)代通信領(lǐng)域,要保證通信系統(tǒng)的正常運(yùn)行和通信業(yè)務(wù)的順利開(kāi)展,取決于協(xié)議軟件是否滿(mǎn)足協(xié)議規(guī)范的要求,必須進(jìn)行專(zhuān)門(mén)的協(xié)議測(cè)試加以保證,需要通過(guò)完備的協(xié)議測(cè)試進(jìn)行系統(tǒng)驗(yàn)證。GPRS作為當(dāng)今移動(dòng)通信應(yīng)用熱點(diǎn)之一,業(yè)務(wù)功能的實(shí)現(xiàn)的前提,同樣取決于通信軟件是否符合協(xié)議的要求,因此進(jìn)行GPRS協(xié)議棧中有關(guān)功能實(shí)體和接口的測(cè)試十分重要。解決GPRS協(xié)議一致性問(wèn)題首當(dāng)其沖,對(duì)于準(zhǔn)確地驗(yàn)證GPRS網(wǎng)絡(luò)的接口規(guī)范、開(kāi)放性各項(xiàng)技術(shù)具有十分重要的意義。本文針對(duì)一致性測(cè)試,采用形式化的SDL測(cè)試語(yǔ)言作為協(xié)議標(biāo)準(zhǔn)的描述語(yǔ)言,協(xié)議語(yǔ)義不存在二義性,該抽象描述采用標(biāo)準(zhǔn)實(shí)用的測(cè)試方法和工具實(shí)現(xiàn),達(dá)到了簡(jiǎn)化測(cè)試模型,提高測(cè)試效率的目的,非常適合于GPRS協(xié)議的軟件自動(dòng)測(cè)試。
2、GPRS網(wǎng)絡(luò)協(xié)議棧
GPRS網(wǎng)在GSM網(wǎng)的基礎(chǔ)上增加了GPRS業(yè)務(wù)支持節(jié)點(diǎn)(SGSN)和GPRS網(wǎng)關(guān)支持節(jié)點(diǎn)(GGSN)兩個(gè)功能實(shí)體,提供基于IP的分組數(shù)據(jù)傳輸,符合ISO定義的OSI網(wǎng)絡(luò)七層結(jié)構(gòu)。GPRS采用TCP或UDP協(xié)議進(jìn)行應(yīng)用層數(shù)據(jù)傳輸,所謂協(xié)議棧就是對(duì)信息進(jìn)行多次封裝和解封的過(guò)程,以便能夠在不同的實(shí)體間傳送信息。GPRS網(wǎng)絡(luò)協(xié)議棧是一種對(duì)等的協(xié)議結(jié)構(gòu),其結(jié)構(gòu)如圖1所示。
GPRS骨干網(wǎng)一般有兩種構(gòu)建方式:基于因特網(wǎng)和虛擬專(zhuān)網(wǎng)VPN的方法,后者增加了系統(tǒng)的隱蔽性和報(bào)文的保密性。GPRS骨干網(wǎng)采用GTP(GPRS隧道協(xié)議),該協(xié)議允許多種協(xié)議包如IP包或X.25包等在GSN組件間用隧道方式穿過(guò),通過(guò)隧道方式可以封裝任意數(shù)據(jù),實(shí)現(xiàn)GPRS骨干網(wǎng)與多種外部數(shù)據(jù)網(wǎng)互通。
3、SDL一致性測(cè)試原理
所謂一致性,是指協(xié)議的形式規(guī)范和協(xié)議實(shí)現(xiàn)行為之間的一致,即檢驗(yàn)協(xié)議是否符合規(guī)范的要求。協(xié)議一致性測(cè)試則是通過(guò)測(cè)試程序,檢查測(cè)試實(shí)現(xiàn)(IUT)是否符合協(xié)議規(guī)范的要求。近年來(lái),協(xié)議一致性測(cè)試是國(guó)際上非常關(guān)注的、也是發(fā)展較快的一個(gè)研究領(lǐng)域,相對(duì)其他測(cè)試領(lǐng)域,一致性測(cè)試唯一能給出理論框架和方法論,目前,一致性測(cè)試通常采用抽象測(cè)試方法完成,即根據(jù)對(duì)IUT(被測(cè)協(xié)議實(shí)現(xiàn))輸入的控制和輸出的觀察來(lái)描述測(cè)試進(jìn)程。OSI協(xié)議標(biāo)準(zhǔn)規(guī)定了協(xié)議直至一致性測(cè)試的基本模型,如圖2所示。該模型根據(jù)協(xié)議實(shí)體的PDU(協(xié)議數(shù)據(jù)單元)和協(xié)議實(shí)體上下的ASP(抽象服務(wù)原語(yǔ))來(lái)定義協(xié)議實(shí)體所允許的行為。其中N層實(shí)體的行為根據(jù)(n)ASP和(N-1)ASP來(lái)定義,借助協(xié)議測(cè)試模型,可以實(shí)現(xiàn)對(duì)各層ASP之間行為的觀察和控制。
圖2關(guān)于一致性測(cè)試的基本模型可以通過(guò)形式化模型,即形式化描述語(yǔ)言進(jìn)行表達(dá)。其中SDL(規(guī)格和描述語(yǔ)言,Specification and Description Language)是ITU開(kāi)發(fā)的一種形式描述語(yǔ)言,是一種能夠精確定義通信系統(tǒng)功能規(guī)格及對(duì)其行為進(jìn)行描述的國(guó)際標(biāo)準(zhǔn)化的正式語(yǔ)言,它主要用于實(shí)時(shí)的交互分布式系統(tǒng)的形式化描述。SDL使用擴(kuò)展有限狀態(tài)機(jī)(EFSM)的概念來(lái)描述對(duì)象。SDL一般有兩種表示法:SDL/PR文字表示法和SDL/GR圖形表示法。在實(shí)際應(yīng)用中,開(kāi)發(fā)人員將應(yīng)用SDL圖形描述,再由SDL工具將其轉(zhuǎn)化為C語(yǔ)言源代碼,或者CHILL源代碼,最后嵌入到實(shí)際開(kāi)發(fā)環(huán)境中。SDL采用多層結(jié)構(gòu)來(lái)描述整個(gè)系統(tǒng),非常適合GPRS協(xié)議棧的抽象描述。圖3是SDL測(cè)試的一般原理。
4、GPRS協(xié)議棧測(cè)試系統(tǒng)
采用SDL語(yǔ)言描述抽象測(cè)試集的4個(gè)部分:測(cè)試集概況、聲明部分、約束部分和動(dòng)態(tài)部分。利用SDL語(yǔ)言抽象出GPRS協(xié)議的系統(tǒng)、塊、進(jìn)程和過(guò)程并對(duì)其進(jìn)行形式化描述,以SDL形式化描述的TTCN樹(shù)表結(jié)合表示法作為測(cè)試工具,在短時(shí)間內(nèi)完成了穩(wěn)定的通信協(xié)議程序。系統(tǒng)選擇黑盒測(cè)試法,首先將IUT看作一個(gè)測(cè)試實(shí)體,根據(jù)測(cè)試者的測(cè)試目的,通過(guò)選擇IUT與測(cè)試環(huán)境的接口來(lái)進(jìn)行測(cè)試,以達(dá)到測(cè)試和驗(yàn)證IUT的目的。通過(guò)與SDL的聯(lián)合使用(協(xié)同仿真),生成消息序列流圖(MSC),通過(guò)觀察IUT內(nèi)部和IUT與環(huán)境(測(cè)試系統(tǒng))之間的消息序列和數(shù)據(jù)流,達(dá)到查找錯(cuò)誤的目的。在GPRS協(xié)議棧的測(cè)試過(guò)程中,測(cè)試用例設(shè)計(jì)是完成一致性測(cè)試的關(guān)鍵,以事件語(yǔ)句為例:事件語(yǔ)句主要包括SEND、RECEIVE、TIMEOUT和OTHERWISE等。發(fā)送事件SEND用符號(hào)“!”標(biāo)識(shí),事件地點(diǎn)即PCO的名稱(chēng)在“!”前設(shè)定,“!”后封裝待發(fā)送的消息名稱(chēng),要將ASP或PDU通過(guò)一個(gè)PCO發(fā)送到IUT,需要調(diào)用SEND語(yǔ)句,例如:PCO Identifier!ASP Identifier,SEND語(yǔ)句也可以附加限制條件,例如賦值語(yǔ)句和定時(shí)器語(yǔ)句等。這些語(yǔ)句的調(diào)用順序如下:
SEND3[QUALIFIER]1[ASSIGNMENT_LIST]2[TIMER_OPERATION]4
圖4是測(cè)試系統(tǒng)的實(shí)現(xiàn)框圖,其中測(cè)試用例全部采用SDL描述,由測(cè)試工具激勵(lì)產(chǎn)生。
GPRS協(xié)議棧的驗(yàn)證包括一系列的進(jìn)程和過(guò)程,進(jìn)程采用擴(kuò)展?fàn)顟B(tài)機(jī)實(shí)現(xiàn),描述GPRS協(xié)議棧事件過(guò)程中的動(dòng)作和狀態(tài)變遷。在SDL對(duì)GPRS形式化描述的基礎(chǔ)上,利用SDT的Simulator UI完成了協(xié)議棧原語(yǔ)操作的驗(yàn)證測(cè)試。測(cè)試結(jié)果表明,形式化的基于TTCN的測(cè)試執(zhí)行方法不僅適用于協(xié)議的一致性測(cè)試過(guò)程,對(duì)于互操作測(cè)試和多方測(cè)試也是適用的。
5、結(jié)論
測(cè)試結(jié)果表明,基于SDL形式化描述的一致性協(xié)議測(cè)試,可以以最快的速度激勵(lì)產(chǎn)生標(biāo)準(zhǔn)的協(xié)議測(cè)試程序,及時(shí)發(fā)現(xiàn)協(xié)議實(shí)現(xiàn)是否符合一致性要求。方法具有很強(qiáng)的靈活性,可根據(jù)一致性測(cè)試或借口測(cè)試的不同要求,修改測(cè)試程序的產(chǎn)生方式,盡早發(fā)現(xiàn)并修改錯(cuò)誤,最大程度地降低出錯(cuò)率,從而到達(dá)降低成本的目的。特別是當(dāng)同一個(gè)網(wǎng)絡(luò)內(nèi)的其它實(shí)體發(fā)生變化時(shí),形式化描述的靈活性能夠確保各層次測(cè)試描述的一致性。本文雖然以討論一致性測(cè)試為主,但該方法對(duì)于互操作性測(cè)試和性能測(cè)試同樣有借鑒意義。
參考文獻(xiàn)
1 ISO/IEC 9646-2(ITU-T Rec.X.291):抽象測(cè)試集規(guī)范
2 蒙移發(fā),徐惠民,高強(qiáng).協(xié)議驗(yàn)證與一致性測(cè)試方法[M].北京:電子工業(yè)出版社,2003.
3 GPRS原理及其網(wǎng)絡(luò)優(yōu)化,韓斌杰等,機(jī)械工業(yè)出版社,2003.6
4 F Belina,D Hogrefe,A Sarma.SDL with Applicalion from protocol specification. Prentice Hall(UK)