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