摘要 文章介紹了一致性測試的原理,結(jié)合UE發(fā)起的呼叫建立過程,著重介紹了一種TD-SCDMA系統(tǒng)終端協(xié)議測試的方法。
1、引言
TD-SCDMA系統(tǒng)是我國提出的第三代移動通信標(biāo)準(zhǔn),在國際上引起了廣泛的關(guān)注。目前,國內(nèi)很多廠商及科研單位正從事TD-SCDMA協(xié)議棧軟件的研發(fā)工作,協(xié)議軟件的實現(xiàn)是否嚴(yán)格反映3GPP標(biāo)準(zhǔn)要求,很大程度上影響著我國TD-SCDMA的發(fā)展前景,因此,對協(xié)議測試進行研究有著非常重要的現(xiàn)實意義。
CC是非接入層CM子層的一個實體,主要完成CS域基本的呼叫管理,是整個CM子層的核心(如圖1所示)。本文結(jié)合CC實體的主叫過程,提出了一種一致性協(xié)議測試的方法。
2、協(xié)議一致性測試
協(xié)議是設(shè)備間進行通信時須予以遵守的規(guī)則。通常情況下,這些規(guī)則是以自然語言來描述的,這就存在著因主觀差異導(dǎo)致不同甚至錯誤的協(xié)議實現(xiàn)的可能。鑒于此,我們需要一種有效的方法來對協(xié)議的可靠性進行判別,這就是“協(xié)議測試”(Protocol Testing)。
協(xié)議測試是一種黑盒測試,它對照協(xié)議標(biāo)準(zhǔn),通過控制觀察被測協(xié)議實現(xiàn)的外部行為,對其進行驗證。目前,協(xié)議測試分成四個方面:一致性測試(Conformance Testing)、互操作性測試(Interoperability Testing)、性能測試(Performance Testing)、堅固性測試(Robustness Testing)。
一致性測試主要驗證協(xié)議實現(xiàn)是否嚴(yán)格遵循相應(yīng)的協(xié)議描述,判斷該產(chǎn)品的協(xié)議實現(xiàn)是否符合國際標(biāo)準(zhǔn),它是協(xié)議測試最基本的內(nèi)容,也是其它三種測試的基礎(chǔ)。對TD-SCDMA系統(tǒng)高層協(xié)議的開發(fā)測試而言,我們更為關(guān)心的是開發(fā)能否滿足標(biāo)準(zhǔn),是否能與其它基于同一個協(xié)議標(biāo)準(zhǔn)的產(chǎn)品實現(xiàn)互通,以盡可能減少產(chǎn)品在現(xiàn)場實際運行時出錯的風(fēng)險。
3、SDL和TTCN
在協(xié)議軟件的開發(fā)流程中,SDL被廣泛用來描述通信系統(tǒng)的行為。它可以把SDL的描述和設(shè)計直接生成標(biāo)準(zhǔn)的C代碼,用戶也可以直接在SDL描述和設(shè)計中嵌入C代碼。經(jīng)SDL描述產(chǎn)生的C代碼(包括嵌入的C代碼),可以在目標(biāo)板上運行,從而大大方便了協(xié)議軟件的開發(fā)。與SDL相對應(yīng)的MSC(信息序列圖),是ITU-T規(guī)范中用來表示信息序列的語言,用MSC圖可以直觀地表現(xiàn)出信號的流向;并且信號是從什么進程發(fā)送到什么進程,信號帶有哪些參數(shù)、參數(shù)值等都能直觀地表示在SDL的MSC圖中,這為了解和分析信號在各個模塊間的傳遞帶來了很大的方便。此外,通過MSC圖還可以將MSC的各項功能有機地聯(lián)系在一起。
樹表結(jié)合表示法(TTCN),采用的是以樹和表格為表現(xiàn)形式的測試表示法,其中,表格主要用于數(shù)據(jù)類型、原語、約束等,而樹則用于描述測試集、測試?yán)、測試步。TTCN是一種獨立于協(xié)議、測試方法和測試設(shè)備的抽象語言,因此,它被廣泛地應(yīng)用在通信協(xié)議測試中。TTCN把IUT整個看作一個測試實體來考慮,但可以根據(jù)測試者測試目的,通過選擇IUT與測試環(huán)境的接口來進行測試,以達到測試和驗證IUT的目的。
4、CC實體一致性測試
4.1 CC測試環(huán)境
CC測試環(huán)境如圖2所示,CC的上層是SPVCALL模塊,它負(fù)責(zé)將人機界面(MMI)等應(yīng)用層發(fā)來的消息轉(zhuǎn)發(fā)到CC實體;CC的下層是MM子層,它為CC提供MM連接服務(wù)。我們選擇的控制觀察點(PCO,Points of Control and Observation)有兩個:一個在SPVCALL與CC的接口處,另一個在CC與MM的接口處(如圖2所示)。模塊SPVCALL和MM共同組成了CC的測試環(huán)境,CC即是待測試的IUT。
4.2 CC主叫過程
CC實體的主要功能是對用戶之間的呼叫進行控制,包括呼叫建立、呼叫釋放以及呼叫重建等。限于篇幅,下面以主叫過程為例,介紹該實體一致性測試方法。
。1)CC主叫過程描述
根據(jù)相關(guān)協(xié)議的描述,CC發(fā)起的主叫應(yīng)為如下過程(如圖3所示):
◆首先由終端發(fā)起呼叫,應(yīng)用層(如人機界面,MMI)發(fā)起一個建立請求送到SPVCALL模塊,SPVCALL將向CC發(fā)送“CAPI_CALL_SETUP_REQ”信號;
◆CC收到此信號后,將發(fā)送“MMCC_EST_REQ”信號到MM子層,要求其創(chuàng)建一個MM連接,同時,開啟定時器T303,狀態(tài)即躍遷到“Connect Pending”;
◆MM子層向CC發(fā)送“MMCC_EST_CNF”信號表示MM連接創(chuàng)建成功,CC通過原語“MMCC_DATA_REQ”向MM子層發(fā)送“SETUP”消息,狀態(tài)跳到“Call Initiate”;
◆MM子層通過接入層將“SETUP”消息發(fā)送給網(wǎng)絡(luò),網(wǎng)絡(luò)收到此消息后,向終端發(fā)送“CALL PROCEEDING”消息,CC一旦收到該條消息,就關(guān)閉定時器T303,開啟定時器T310,并向SPVCALL報告收到了“CALL PROCEEDING”消息,狀態(tài)亦躍遷到“CallProceeding”;
◆網(wǎng)絡(luò)向終端發(fā)送“ALERTING”振鈴消息,CC收到這條消息時,停掉定時器T310,向SPVCALL報告收到了“ALERTING”,狀態(tài)并躍遷到“Call Delivered”;
◆當(dāng)終端分配了專用資源后,MM層將通過“MMCC_SYNC_IND”原語通知CC,CC將通知SPVCALL專用資源已經(jīng)分配;
◆最后,網(wǎng)絡(luò)向終端發(fā)送“CONNECT”消息,CC收到此消息后,將向網(wǎng)絡(luò)發(fā)送“CONNECT ACKNO-WLEDGE”,并通知SPVCALL模塊:CC收到了“CONNECT”消息,狀態(tài)即進入“Call Active”。
(2)消息的構(gòu)造
為了測試協(xié)議是否如實地實現(xiàn)標(biāo)準(zhǔn)的要求,我們要檢查終端和網(wǎng)絡(luò)收發(fā)的消息內(nèi)容是否正確,同時,也要確認(rèn)對端收到消息后做出的響應(yīng)是否與規(guī)范相符。
前文曾提到,終端發(fā)起呼叫建立時,首先由應(yīng)用層發(fā)起一個建立請求,即CC向網(wǎng)絡(luò)發(fā)送一條“SETUP”消息。以“SETUP”為例,該消息的構(gòu)造參考3GPP的24.008,其內(nèi)容包含有PD/TI、消息類型、承載能力、被叫用戶子地址、被叫用戶號碼、SI以及其它一些和普通呼叫相關(guān)的參數(shù)。
[table]
參數(shù)頭 | 參數(shù) | 參數(shù)內(nèi)容 | 存在性 | 長度(字節(jié)) | 數(shù)據(jù)構(gòu)造 |
/ | Protocol Discriminator | 協(xié)議鑒別器 | 必選 | 1/2 | 3 |
/ | Transaction Identifier | 會話標(biāo)識符 | 必選 | 1/2 | 0 |
/ | Message Type | SETUP消息類型 | 必選 | 1 | 05 |
04 | Bearer Capability | 承載能力 | 必選 | 3-16 | 04 03 20 02 80 |
6D | Called Party Sub-address | 被叫用戶子地址 | 可選 | 2-23 | 不選 |
5E | Called Party BCD Num. | 被叫用戶號碼 | 必選 | 3-43 | 5E 07 A8 35 4365 87 09 F1 |
2D | Stream Identifier | 流量標(biāo)識 | 可選 | 3 | 不選 |
。2)消息的構(gòu)造
為了測試協(xié)議是否如實地實現(xiàn)標(biāo)準(zhǔn)的要求,我們要檢查終端和網(wǎng)絡(luò)收發(fā)的消息內(nèi)容是否正確,同時,也要確認(rèn)對端收到消息后做出的響應(yīng)是否與規(guī)范相符。
前文曾提到,終端發(fā)起呼叫建立時,首先由應(yīng)用層發(fā)起一個建立請求,即CC向網(wǎng)絡(luò)發(fā)送一條“SETUP”消息。以“SETUP”為例,該消息的構(gòu)造參考3GPP的24.008,其內(nèi)容包含有PD/TI、消息類型、承載能力、被叫用戶子地址、被叫用戶號碼、SI以及其它一些和普通呼叫相關(guān)的參數(shù)。
5、結(jié)論
通過檢查MSC圖的其它部分,發(fā)現(xiàn)信號的流程及數(shù)據(jù)、狀態(tài)的跳轉(zhuǎn)、定時器的開啟和關(guān)閉協(xié)議的要求,實現(xiàn)了CC的主叫功能,這說明開發(fā)出的代碼實現(xiàn)了CC實體主叫的功能。使用SDL工具和TTCN測試功能,能有效地減少調(diào)試時間,并大大提高測試效率。
目前,我國TD-SCDMA系統(tǒng)測試工作正如火如荼地進行著,提供標(biāo)準(zhǔn)的、高效的一致性測試方法和工具,能準(zhǔn)確地驗證終端設(shè)備的各項技術(shù)、信令和性能要求,對于TD-SCDMA民族產(chǎn)業(yè)化進程將具有十分重要的意義。