1、引言
隨著對無線數(shù)據(jù)業(yè)務(wù)種類、無線傳輸速率要求不斷增強,第三代移動通信技術(shù)及應(yīng)用得到了迅猛的發(fā)展,TD-SCDMA標準及其應(yīng)用的研究成為3G發(fā)展的重頭戲。雖然TD-SCDMA技術(shù)已經(jīng)成熟,但是其產(chǎn)業(yè)化的道路依然坎坷,其中終端設(shè)備的測試問題已經(jīng)成為了TD-SCDMA產(chǎn)業(yè)化發(fā)展的瓶頸。因此,開展對TD-SCDMA移動終端一致性測試技術(shù)[1]的研究,設(shè)計針對TD-SCDMA系統(tǒng)的終端測試平臺,對準確地驗證移動終端設(shè)備的各項技術(shù)和性能要求具有十分重要的意義。
對終端設(shè)備的測試包括:射頻指標測試、協(xié)議測試[1-3]其他測試。協(xié)議一致性測試是協(xié)議測試的基礎(chǔ),即通過觀察設(shè)備對協(xié)議具體實現(xiàn)在不同環(huán)境和條件下的反應(yīng)行為來驗證協(xié)議實現(xiàn)與相應(yīng)的協(xié)議標準是否一致。協(xié)議一致性測試是一致性測試中的難點。
現(xiàn)有的終端協(xié)議一致性測試方案主要有兩種:第一種是對協(xié)議棧進行完全實現(xiàn),然后控制協(xié)議棧的運行狀態(tài)完成測試;第二種是對某項具體測試內(nèi)容使用工具集生成測試用例。前者可以較簡便地實現(xiàn)某一項測試。但結(jié)構(gòu)體系比較封閉,業(yè)務(wù)的擴展性和重用性不強,而且整體協(xié)議棧開發(fā)難度大。后者具有較強的擴展性但是提高了測試方法實現(xiàn)的復(fù)雜度,生成TD-SCDMA測試用例較麻煩,而且重用性差,如果沒有對測試用例運行平臺很好的設(shè)計和對所有測試步驟進行統(tǒng)籌規(guī)劃作為前提,用例很難配合使用。
本文提出了一個具有實際應(yīng)用價值的可以支持終端協(xié)議一致性測試的TD-SCDMA終端測試系統(tǒng)結(jié)構(gòu),該系統(tǒng)不僅可以提供協(xié)議一致性測試。而且可以模擬網(wǎng)絡(luò)的基本業(yè)務(wù),并且實現(xiàn)了體系架構(gòu)模塊化以具有標準的接口的靈活擴展方式,具備開放的體系結(jié)構(gòu)。
2、協(xié)議一致性測試與TTCN
2.1 協(xié)議一致性測試
協(xié)議一致性測試是協(xié)議測試的一種,它是一種功能性測試,依據(jù)協(xié)議規(guī)范的說明對協(xié)議的某個實現(xiàn)進行測試,判斷協(xié)議實現(xiàn)與協(xié)議標準是否保持一致。其主要目的是確認產(chǎn)品遵從規(guī)范要求,減少產(chǎn)品在現(xiàn)場運行時發(fā)生錯誤的風(fēng)險性。
協(xié)議一致性測試標準包括3個部分:抽象測試集(ATS)、協(xié)議實現(xiàn)一致性說明(PICS)和協(xié)議實施附加信息(PIXIT)??蓤?zhí)行測試集(ETS)在以上3部分基礎(chǔ)上生成。
協(xié)議一致性測試的主要步驟如下:
●根據(jù)協(xié)議規(guī)范,研究協(xié)議規(guī)范的每個特性,為每個特性編寫測試目的。
●把每個測試目的轉(zhuǎn)化為抽象測試用例(ATC)。覆蓋協(xié)議規(guī)范所有特性的多個ATC集合就構(gòu)成了該協(xié)議規(guī)范的ATS。
●生成PICS/PIXIT。PICS用來說明實施的要求、能力及可選項實施的情況。PIXIT用來提供測試時必須標明的協(xié)議參數(shù)。
●確定測試方法,針對不同的IUT(被測實現(xiàn)),用戶應(yīng)采用不同的測試方法。
●根據(jù)PICS/PIXIT和測試目的編寫測試用例,生成ETS。
●使用生成的ETS測試IUT。
●根據(jù)測試結(jié)果生成測試報告。
2.2 協(xié)議測試語言TTCN
協(xié)議一致性測試最主要的工作之一就是測試用例的生成。有許多自動生成測試用例的方法,但是這些方法都依賴于協(xié)議的形式化描述,而大多數(shù)通信網(wǎng)絡(luò)協(xié)議都是用自然語言描述。要對這類協(xié)議進行測試,由于不能用基于狀態(tài)機模型的產(chǎn)生工具自動生成測試集,必須由專業(yè)人員熟悉該協(xié)議和相關(guān)協(xié)議,寫出自然語言描述的測試集。這種自然語言描述的測試集的最大缺點是二義性和難以用機器處理。國際標準化組織(ISO)推薦了一種專門描述測試集的半形式化描述語言TTCN[4-6],它具有明確的語法和語義,且是可執(zhí)行的,用以描述獨立于任何實現(xiàn)的通用測試集。針對測試領(lǐng)域,TTCN提供了許多有用元素,目前已經(jīng)發(fā)展成為一種通用的測試規(guī)格語言。
TTCN是一種形式測試描述語言,采用樹和表格為表現(xiàn)形式的測試表示法,其中表格主要用于數(shù)據(jù)類型、原語、協(xié)議觀察點、約束等,樹則用于描述測試集、測試用例、測試步驟等。
TTCN有2種表現(xiàn)形式:圖形方式(GR)和機器處理方式(MP)。
●GR采用表格方式,適合于人機交互時使用。
●MP通過使用定義的語法來生成測試集,適合于在機器處理和其他自動方式之間進行轉(zhuǎn)換。
TTCN需要滿足以下需求:
●測試系統(tǒng)能夠定義和構(gòu)造發(fā)送和接收IUT的抽象服務(wù)原語(ASP)。
●能夠定義和構(gòu)造嵌入在ASP的協(xié)議數(shù)據(jù)單元(PDU)。
●在指定控制和觀察點(PCO)上,能夠規(guī)定ASP的發(fā)送或接收順序構(gòu)造測試用例。
在對TD-SCDMA高層軟件進行測試時,TTCN雖然采用黑盒測試方法,但通過與SDL的聯(lián)合使用(協(xié)仿真),可以生成消息序列流圖(MSC)。通過觀察IUT內(nèi)部和IUT與環(huán)境(測試系統(tǒng))之間的消息序列和數(shù)據(jù)流,達到查找錯誤的目的。
3、TD-SCDMA協(xié)議測試平臺結(jié)構(gòu)
測試平臺包括多個功能實體和框架模塊,主要由腳本部分、協(xié)議部分和應(yīng)用部分3個部分構(gòu)成,結(jié)構(gòu)框架如圖1所示。
圖1 TD-SCDMA協(xié)議測試平臺構(gòu)架
其中:PS:分組域業(yè)務(wù)模塊;RABM:無線接入承載管理模塊;CS:電路域業(yè)務(wù)模塊;PDCP:分組數(shù)據(jù)匯聚協(xié)議;RMC:參考測量信道業(yè)務(wù)模塊;RLC:無線鏈路控制層;腳本API:腳本的應(yīng)用編程接口;MAC:媒體接入控制層;LOG:日志生成模塊;PHY:物理層。
腳本部分包括:腳本庫、腳本文件、協(xié)議??刂啤⒛_本API和LOG 6個模塊。負責(zé)完成無線資源管理分配與調(diào)度的功能,模擬3GPP協(xié)議中的RRC和NAS實體,可以模擬高層的具體信令也可以提供TTCN一致性測試。此部分為整個測試平臺的控制核心,通過編寫不同的腳本,可以完成終端測試中所需高層的所有的信令測試。由于引入腳本來模擬RRC和NAS層,平臺實現(xiàn)難度大大降低。
腳本文件(簡稱為腳本,下同)是為了降低高層(NAS層和RRC層)整個實體的復(fù)雜度而引入的一種機制,它是高層實體的一個具體對象實例,是高層功能的一系列具體信令的執(zhí)行過程,如系統(tǒng)消息廣播、尋呼、RRC建立/釋放、鑒權(quán)、位置更新等。
協(xié)議棧部分包括:L1層(PHY)、L2層MAC、RLC及PDCP,此部分參考3GPP的協(xié)議架構(gòu),完全按照協(xié)議的描述實現(xiàn)。RABM實體主要實現(xiàn)對RAB(無線接入承載)管理及RAB與RB(無線承載)之間的映射與修改。
應(yīng)用部分包括:CS、PS和RMC 3個實體。應(yīng)用部分各個模塊與腳本部分、協(xié)議部分采用統(tǒng)一的接口,可以對新的業(yè)務(wù)進行動態(tài)加載,通過接口可以同腳本部分進行交互,進行流程的同步和數(shù)據(jù)的交互。
4、TD-SCDMA測試平臺實現(xiàn)
4.1 腳本部分
4.1.1 腳本文件的實現(xiàn)
(1)腳本業(yè)務(wù)功能
TD-SCDMA測試平臺主要用來模擬基站側(cè)的行為,業(yè)務(wù)模擬需要通過腳本來實現(xiàn),根據(jù)3GPP協(xié)議.腳本的業(yè)務(wù)范圍可以包括:3G網(wǎng)絡(luò)的基本功能、電路域基本過程、分組域基本過程和參考測量信道工程模式基本過程4大功能。
●3G網(wǎng)絡(luò)業(yè)務(wù)的基本功能包括:系統(tǒng)消息廣播、注冊鑒權(quán)、安全模式控制和功率控制(包括上行閉環(huán)功率控制和上行開環(huán)功率控制等)。
●電路域基本過程包括:位置更新和呼叫控制。其中位置更新包括:IMSI附著,周期性位置更新和正常位置更新等。呼叫控制支持呼叫的建立及釋放過程,包括:UE(用戶設(shè)備)發(fā)起呼叫、UE被呼、UE發(fā)起語音呼叫釋放和網(wǎng)絡(luò)發(fā)起的語音呼叫釋放等。
●分組域基本過程包括:移動性管理和會話管理。移動性管理主要有GPRS附著/分離和周期性路由區(qū)更新。會話管理包括:UE發(fā)起的PDP上下文激活、UE發(fā)起的PDP上下文去激活、PS域UE主叫、網(wǎng)絡(luò)主叫和PS域UE發(fā)起呼叫釋放等。
●參考測量信道工程模式的基本過程包括:網(wǎng)絡(luò)發(fā)起承載測試模式、兩種測試回環(huán)模式的選擇和網(wǎng)絡(luò)終止承載測試模式等。
(2)腳本定義
腳本作為RRC和NAS層的功能實體的一個對象實例,根據(jù)終端測試需要完成信令模擬功能。形成相應(yīng)RRC層消息信令序列(包括承載NAS消息的RRC消息),根據(jù)相應(yīng)的規(guī)則順序發(fā)送與接收。
(3)腳本構(gòu)成
根據(jù)所需測試的功能,確定作為RRC和NAS層的功能實體的對象實例的腳本所需要模擬的信令過程。然后根據(jù)可重用性原則將信令過程分成若干可重用的信令子過程,每個信令子過程分別由一個腳本實現(xiàn),每個腳本由一系列RRC消息隊列及一系列腳本API構(gòu)成。
每個腳本根據(jù)其實現(xiàn)的不同業(yè)務(wù),由3GPP協(xié)議確定其具體信令消息隊列的內(nèi)容(具體內(nèi)容格式可參見參考文獻[7,8]與發(fā)送接收順序及對本側(cè)的配置時機。
腳本中每條發(fā)送的信令有相應(yīng)的屬性和動作。屬性主要為協(xié)議棧高層消息內(nèi)容構(gòu)成。動作主要包括:發(fā)送消息、修改消息內(nèi)容、接收消息、讀取消息內(nèi)容、對本側(cè)協(xié)議棧的配置等。
(4)腳本運行
每個腳本都需一個標準的入口函數(shù),以供協(xié)議??刂撇糠终{(diào)用。腳本中每條消息可以根據(jù)需要按照協(xié)議要求設(shè)定相應(yīng)計時器,以控制消息的通信時間以及錯誤信息上報。
4.1.2 腳本API的實現(xiàn)
腳本與外部模塊間的通信交流接口為腳本API。腳本API接口函數(shù)匯集了在系統(tǒng)模擬與一致性測試中所有的高層與底層的接口,通過其可以獲得一層、二層所有配置參數(shù)和數(shù)據(jù)結(jié)果,同時也可以設(shè)置一層、二層所有參數(shù)和狀態(tài)。
腳本通過腳本API完成L3和下層的通信及控制,同時也可作為使用TTCN進行一致性測試時的PCO。
4.1.3 協(xié)議棧控制模塊實現(xiàn)
通過平臺對網(wǎng)絡(luò)側(cè)進行模擬時,協(xié)議??刂颇K負責(zé)對所有腳本的調(diào)度,協(xié)調(diào)幾個腳本共同完成某一個具體的功能的信令交互,根據(jù)所產(chǎn)生的腳本的構(gòu)成確定每個腳本需要對應(yīng)的狀態(tài),從而根據(jù)協(xié)議完成狀態(tài)機實現(xiàn)狀態(tài)間的躍遷。通過對狀態(tài)機維護來完成對各腳本的調(diào)度,對腳本的調(diào)度可以采用集中式和分布式調(diào)度相結(jié)合方式,多個腳本可以采用集中式的調(diào)度方式按照批處理順序執(zhí)行,同時腳本之間也可以按照分布式的方式相互調(diào)用。協(xié)作完成指定的測試。
為了保證同協(xié)議棧的操作行為保持一致,協(xié)議??刂撇捎孟⒂|發(fā)機制,接收外部控制模塊的命令并且完成狀態(tài)上報工作。協(xié)議棧控制通過腳本API對腳本運行狀態(tài)傳遞命令和接收腳本運行狀態(tài)信息上報,通過與應(yīng)用部分的統(tǒng)一接口完成對用戶平面業(yè)務(wù)模擬的控制和狀態(tài)監(jiān)測,通過與腳本庫的接口完成對腳本的添加、刪除、搜索、加載及釋放功能。
4.1.4 腳本庫實現(xiàn)
腳本庫主要完成對腳本的存儲與管理功能。根據(jù)協(xié)議??刂泼钔瓿蓪δ_本文件的添加、刪除、搜索、加載及釋放等。
當(dāng)需添加/刪除一個測試內(nèi)容時,需要經(jīng)過如下步驟:
●編寫腳本文件。
●對協(xié)議??刂茽顟B(tài)機進行相應(yīng)添加/刪除處理。
●對腳本庫執(zhí)行腳本文件的添加/刪除操作。
●對測試分組中的腳本集中的腳本需要修改的參數(shù),通過參數(shù)表的修改機制做相應(yīng)的修改。
如圖2所示,腳本庫的核心為一個腳本文件庫,物理存在一系列作為測試用例的腳本文件,還存在一張鏈表用于存儲這些腳本文件的基本信息,對它們進行統(tǒng)一管理。對每個腳本文件可以用“別稱”來識別,即在鏈表中存在文件名和別稱的映射。
圖2 腳本庫實現(xiàn)
4.1.5 LOG模塊實現(xiàn)
所有的協(xié)議棧部分運行模塊中都含有一個狀態(tài)采集模塊,用以采集各個模塊的狀態(tài)和信令信息,然后實時地匯總到LOG模塊,在LOG模塊中,采用時間戳來區(qū)分不同模塊的狀態(tài)信息,最后加以處理和顯示,以供測試觀察。
4.2 協(xié)議部分實現(xiàn)
協(xié)議部分的各個模塊采用模塊化設(shè)計,能夠在平臺中重用,在實現(xiàn)上可以提供完備的實時狀態(tài)輸出和狀態(tài)強制轉(zhuǎn)移功能。
4.3 應(yīng)用部分實現(xiàn)
應(yīng)用部分模擬測試業(yè)務(wù)的用戶平面數(shù)據(jù)源以及完成對數(shù)據(jù)處理功能,如在PS域提供接口與相應(yīng)的FTP服務(wù)器或MMS服務(wù)器相連模擬后臺下載,CS域可以提供AMR 12.2 kbit/s語音業(yè)務(wù)回環(huán)測試,RMC可以產(chǎn)生RMC的回環(huán)測試數(shù)據(jù)并進行BER和BLER計算等功能。
應(yīng)用部分每個模塊與協(xié)議部分和腳本部分接口標準化,統(tǒng)一業(yè)務(wù)類型中可以根據(jù)不同業(yè)務(wù)需求加載不同模塊,與終端完成用戶平面的數(shù)據(jù)交互。
5、測試平臺功能實現(xiàn)舉例
5.1 測試平臺用于協(xié)議一致性測試
TD-SCDMA終端一致性測試主要分為射頻和協(xié)議測試、USIM和聲學(xué)的測試。如圖3所示。
圖3 SS(系統(tǒng)仿真器)+TTCN一致性測試
上測試器(UT)位于測試平臺所處系統(tǒng)中,與移動終端的接口為人機接口界面(EMMI)。TTCN通過上測試器控制和觀察點(UT-PCO)發(fā)送相應(yīng)的原語與UT通信。使UE完成相應(yīng)的動作和提供簡單的觀察UE的方法。原語可以包含AT command命令完成自動測試,也可以包含其它格式命令。如MMI。
下測試器(LT)為CC、SM、MM、GMM、SMS、RRC、RLC、MAC、PDCP和BMC測試設(shè)置測試方法,與測試平臺協(xié)議部分(參見圖1)共同構(gòu)成,以與被測移動終端通信。測試平臺協(xié)議部分的配置和初始化均由TTCN通過ASP控制。TTCN調(diào)用腳本API通過LT-PCO使用原語對LT進行通用設(shè)置和初始化。
5.2 測試平臺用于模擬網(wǎng)絡(luò)基本功能
測試平臺可以根據(jù)測試業(yè)務(wù)的需要模擬基站相應(yīng)基本功能,信令過程可以通過編寫相應(yīng)功能的腳本來實現(xiàn),協(xié)議棧控制能夠根據(jù)外部控制命令,調(diào)度各個腳本共同完成某一個完整的或者不完整的信令流程,并且協(xié)調(diào)控制平面和用戶平面,對腳本庫和腳本文件運行操作處理。下面以完成一個語音呼叫所需腳本與狀態(tài)調(diào)度為例說明整個平臺對TD-SCDMA網(wǎng)絡(luò)側(cè)的模擬功能。
協(xié)議棧控制可以通過實現(xiàn)一個狀態(tài)機來調(diào)度各個腳本文件。圖4為CS域一部分RRC過程腳本文件的調(diào)度過程。通過調(diào)度運行腳本文件完成狀態(tài)間的躍遷,同時也限定了調(diào)度腳本的順序。CS域其他需要進行協(xié)議一致性測試的過程和PS域的過程都可以通過腳本的形式實現(xiàn),然后維護狀態(tài)機在相應(yīng)位置加入相應(yīng)狀態(tài)進行調(diào)度控制:
(1)協(xié)議??刂普{(diào)用系統(tǒng)消息廣播腳本;
(2)協(xié)議??刂平K止系統(tǒng)消息廣播腳本運行;
(3)協(xié)議??刂普{(diào)用注冊腳本;
(4)注冊腳本注冊失敗;
(5)注冊腳本注冊成功;
(6)協(xié)議??刂平K止系統(tǒng)消息廣播腳本運行;
(7)協(xié)議??刂普{(diào)用尋呼腳本;
(8)在尋呼狀態(tài)下,調(diào)用MOC腳本(總體過程應(yīng)該稱為MTC);
(9)協(xié)議棧控制調(diào)用MOC腳本;
(10)網(wǎng)絡(luò)或終端摘機;
(11)調(diào)用切換腳本(多基站模式下可以實現(xiàn)為各種切換腳本文件);
(12)切換過程結(jié)束:
(13)網(wǎng)絡(luò)或終端掛機,RRC釋放。
用戶平面根據(jù)測試的需要實現(xiàn)相應(yīng)的模塊,并且進行動態(tài)加載,如一些最基本的測試業(yè)務(wù)功能:CS域AMR語音呼叫回環(huán),RMC誤碼率的計算等。應(yīng)用部分與協(xié)議部分的接口定制規(guī)范化、統(tǒng)一化,用戶平面功能模塊也可以靈活添加和刪除。
圖4 語音呼叫狀態(tài)轉(zhuǎn)移
協(xié)議棧控制根據(jù)相應(yīng)命令和狀態(tài)調(diào)度需要,對腳本庫中存放的腳本文件進行相應(yīng)的操作,如添加:向腳本庫中增加未曾實現(xiàn)功能的腳本文件;刪除:對腳本庫中腳本文件刪除;搜索:根據(jù)協(xié)議棧控制搜尋所需腳本;加載:將執(zhí)行腳本接口遞交協(xié)議棧控制;釋放:將交給協(xié)議棧控制的腳本執(zhí)行接口釋放。
協(xié)議??刂茖δ_本運行狀況進行監(jiān)測。可以對異常運行的腳本文件(如停止響應(yīng)等)進行強制終止,也可以根據(jù)腳本文件上報的出錯信息,終止文件運行。
6、結(jié)束語
為了確保終端的接入與業(yè)務(wù)能力,對終端的各種測試十分必要。本文提出的測試平臺可以使用TTCN支持TD-SCDMA終端一致性測試并且可以靈活支持各種測試業(yè)務(wù)的模擬,同時可以根據(jù)需要對整個TD-SCDMA測試框架系統(tǒng)進行靈活地擴充和調(diào)整,大大降低了對第3層實現(xiàn)的復(fù)雜度。使得整個開放系統(tǒng)的實現(xiàn)可能性和實用價值增強。
評論