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