在IEEE802.16規格家族中,除了802.16-2004第一波部分認證相關規格已發行之外,其他舉凡802.16e、802.16f、802.16h等,仍處於討論階段,並無最終版本發行。由於缺乏統整性規格,WiMAX產品的測試與驗證更顯重要。而WiMAX論壇採用TTCN-3作為測試語言,不僅在工作流程控制上有重大突破,更具備高度彈性與完善的測試框架與系統架構。以測試軟體架構來說,TTCN-3已制訂完備介面,工程師只須專注於測試案例開發即可。
在IEEE802.16規格家族中,除了802.16-2004第一波部分認證相關規格已發行之外,其他舉凡802.16e、802.16f、802.16h等,仍處於討論階段,並無最終版本發行。由於缺乏統整性規格, WiMAX產品的測試與驗證更顯重要。而WiMAX論壇採用TTCN-3作為測試語言,不僅在工作流程控制上有重大突破,更具備高度彈性與完善的測試框架與系統架構。以測試軟體架構來說,TTCN-3已制訂完備介面,工程師只須專注於測試案例開發即可。
WiMAX是一種新興的無線通訊技術,能提供寬頻無線的高速連接,最大傳輸速度甚至可達75Mbit/s。其技術應用可以分成網際網路的接取功能,及作為基地台後置網路(Backhaul)的功能,不僅可運用於無線接取,也可以成為基地台和基地台(BS to BS)、基地台和局端間(BS to CN)低成本的傳輸技術,能夠在地理範圍較大的郊區依然提供良好的覆蓋範圍。未來筆記型電腦、智慧型手機等可攜式裝置皆內建WiMAX時,將更可使無線服務無所不在,高移動性及高傳輸速率需求的服務應亦更加普及。從WiMAX相關技術規格IEEE802.16家族的發展現狀來看,除了802.16- 2004部分認證相關規格已發行之外,其他舉凡802.16e、802.16f、802.16h等,皆在討論階段,尚未有最終版本發行。在如此缺乏統整性規格的情況下,WiMAX產品的測試與驗證將顯得格外重要。
目前WiMAX論壇所發表的測試規範採用測試和測試控制表示法第三版 (TTCN-3)作為撰寫抽象測試案例(Abstract Test Suite, ATS)的測試語言。相較於TTCN-2,TTCN-3不僅在工作流程的控制上有重大突破,更具備高度彈性與完善的測試框架與系統架構,並為歐洲電信標準協會(ETSI)所廣泛應用於各式無線通訊系統測試的測試語言。透過TTCN-3的語言特性與架構,將能完成各種複雜的測試與驗證工作。本文將進一步介紹 TTCN-3,並且以實例應用將WiMAX測試與TTCN-3結合。
TTCN-3彌補TTCN-2之不足
TTCN -3是新一代測試語言,根據ISO/IEC 9646的測試方法與架構所發展而來,並由WiMAX論壇採用為測試用的開發語言,相關規格書則是由歐洲電信標準協會制訂(表1)。TTCN-3由 TTCN-2演進而來,最重要的目的在於彌補TTCN-2的不足,並擴充功能性及應用範圍。兩者的差別在於TTCN-2主要應用於通訊領域的測試,但 TTCN-3的應用則不限於通訊領域,更拓展至其他領域,例如汽車測試,軟體測試,與其他資訊產品測試等。
由於TTCN-2的設計概念與一致性測試(Conformance Testing)規範緊密結合,使其無法用於通訊協定之外的其他類型測試。但是TTCN-3的設計著眼於完成測試目的本身,而非測試系統和測試的執行,因此不但可用於多種類型的測試,包括一致性測試、互通性測試、健全性測試、回歸測試、系統和整合測試,以及負載測試等,也不限於使用在特定領域。一般而言,實際測試須搭配相關硬體設備或儀器方可執行,但以測試軟體架構來說,TTCN-3已制訂完備的介面,測試案例開發者只須專注於測試案例開發即可。TTCN -3設計的目標是成為通用測試語言,因此設計上摒棄TTCN-2所用的表格形式,改以文字為基礎,使其語法和一般程式語言如C、C++和Java類似,也因此TTCN-3具備以下優點:
‧可運用於多種測試應用的單一表示法(Notation)
‧測試模組較容易維護
‧可使用現成工具‧普遍性容易了解的語法和操作型語意(OperationalSemantics)
‧可集中在測試目的上,而與測試環境無關‧較低廉的教育訓練費用
TTCN -3規格書中目前已訂定三種表示式,亦即核心語言(CoreLanguage)、圖形格式(Graphical Format)和表格格式(Tabular Format),其他的表示式可由使用者自訂。圖1描述由使用者觀點看核心語言和各種表示式的關係。核心語言是TTCN-3中最重要與基本的部分,以文字模式表示,除了是TTCN工具間的標準化交換格式之外,更是各種表示格式的語義基礎。核心語言使用時可以獨立於表示格式,但是表格格式和圖形格式卻不能獨立於核心語言使用。這些表示格式的使用和實現必須基於核心語言,因此各種表示格式之間可以互相轉換(圖2)。
TTCN-3組態可動態設定
TTCN -3可以動態地在測試執行時設定測試設定值,此設定值包含測試單元(Test Component)與測試單元之間,或測試單元與測試系統介面之間的對應連結。所謂的動態設定,指的是測試執行人員可以在測試執行時新增或結束測試單元,任何一個測試單元都可以新增或結束其它的測試單元。另外,不管是同時、非同時的測試系統,在執行測試過程中,TTCN-3都允許更改測試通訊埠之間的對應連結關係。圖3表示TTCN-3測試系統中的組態設定概念。
兩種通訊模式對應三種通道口
TTCN -3定義表示的通訊埠依據所使用的不同通訊模式,而有不同通訊埠種類的區別。由訊息導向(Message-based)及程序導向(Procedure- based)兩種通訊模式可以對應出三種通道口類型,分別是訊息、程序及混合。當宣告通訊埠時,測試案例開發者除了標明所欲定義的通訊埠類型外,還須指定可以傳送的資料型態,以及傳送此資料型態的方向。一個通訊埠可以不只有一種傳送方向,開發人員可以宣告在此通訊埠上能接收的資料型態有哪些、送出的資料型態又是哪些,更可以宣告某些資料型態是雙向傳送。此處所指的方向乃是針對測試系統觀點而言。通訊埠的使用範例如下:
(詳細公式請見新通訊元件雜誌67期9月號)
測試單元及測試系統介面
在TTCN -3測試系統中,測試案例是在測試單元上執行。根據測試案例執行於一個或二個以上測試單元,可以分別稱為Non-concurrent TTCN-3和Concurrent TTCN-3。除了測試單元名稱,此測試單元所擁有的通道口種類、數量也同時在宣告測試單元時定義。因為測試單元和測試系統介面通常對應著相同形式,所以測試單元也被用來定義測試系統介面。
測試單元的配置如圖4所示,範例程式如下:
(詳細公式請見新通訊元件雜誌67期9月號)
通訊設定
Connect和Map是連結指令,用於兩個通訊埠的相連。當一個測試單元上的通訊埠欲與另一個測試單元的通訊埠相連結時,可以使用Connect指令。
同樣地,若連結雙方的其中一方是測試系統介面上的通訊埠,則使用Map指令,範例如下。
(詳細公式請見新通訊元件雜誌67期9月號)
訊息溝通
TTCN -3支援訊息導向和程序導向兩種通訊。訊息導向通訊是基於非同步(Asynchronous)通訊的訊息交換,TTCN-3提供Send、Receive 及Trigger三種指令來處理訊息交換的行為;Send是指傳送訊息至待測物,Receive是從待測物收到訊息,Trigger則是在滿足某種條件之後,就和Receive的行為相同。圖5是非同步通訊收送訊息的情形。
程序導向通訊是基於同步(Synchronous)通訊的訊息交換,而呼叫端和被呼叫端的操作須分開討論。TTCN-3提供Call、Getcall、Reply、Raise、Getreply和Catch幾個操作指令,供程序導向通訊使用。在呼叫端,Call用以呼叫遠程通訊, Getreply用以接收回應,而Catch用以作例外處理。在被呼叫端Getcall用以接收來至呼叫端的訊息,Reply是用以回應給呼叫端, Raise用以丟出例外。圖6是同步通訊的傳送和接收訊息的情形。
Check是TTCN-3提供用以讀取通訊埠中的第一道訊息,並且不移除此訊息中的數值。Check配合接收操作指令(Receive、Getcall、Getreply和Catch)一起使用。Check的使用範例如下:
(詳細公式請見新通訊元件雜誌67期9月號)
在控制通訊埠方面,TTCN-3提供Clear、Start和Stop。Clear移去指定通訊埠的輸入(Incoming)佇列內容; Start啟動監聽並允許對通訊埠進行存取;Stop停止監聽,並不允許在通訊埠上進行Send、Call、Reply和Raise等。
測試案例
在測試案例中的描述,是用來確定一個待測物是否通過測試所執行的種種行為的流程。測試案例可以被視為測試行為的集合,在TTCN-3中被定義於模組定義部分,並在模組控制部分呼叫。每一個測試案例在執行結束後,會傳回測試結果值(Verdict Value),可能是None、Pass、Fail、Inconclusive或Error,因此以純粹程式語言的觀點來看,單一測試案例也可以視為一種特別形式的函數。
(詳細公式請見新通訊元件雜誌67期9月號)
TTCN-3編譯器與介面
根據WiMAX測試規範的規定,開發WiMAX通訊協定測試系統必須遵循TTCN-3要求的系統規範。這些系統規範可以在ETSI ES 201 873系列中找到。如圖7,透過修改WiMAX論壇定義的ATS,可以開發WiMAX一致性測試的測試案例(TTCN-3 Test Suite)。再用TTCN-3編譯器加以編譯,ATS便會變成可執行測試案例(Executable Test Suite, ETS)。
這些ETS可能是用C語言程式碼或Java程式碼等形式呈現,不論是哪種形式,依據TTCN-3規格的規範,都必須提供 TTCN-3控制介面(TCI)及TTCN-3執行時間介面(TRI),以便在TTCN-3測試系統下被呼叫執行。如此一來,TTCN-3 ATS的開發便與TTCN-3測試系統無絕對關係。也就是說,如果在現有的TTCN-3測試系統下開發新的測試案例,開發者只須修改TTCN-3測試案例內容,再透過TTCN-3編譯器將修改後的內容更新到TTCN-3測試系統,而毋須修改TTCN-3測試系統原有的任何程式碼。因此,TTCN-3測試系統必須提供以下三種模組:
1. 測試管理與控制模組
測試管理與控制模組(Test Management andControl, TMC)如圖8所示,負責控制管理測試案例及測試結果。其中包含測試控制模組(Test Control, TC)、測試結果記錄模組(Test Logging,TL)、編碼與解碼模組(Coding and Decoding, CD)以及元件掌控模組(Component Handling, CH)。
TC負責執行測試案例流程與控制參數傳遞,TL負責輸出測試結果記錄,CD負責來自下層參數的編碼與解碼,最後,CH則負責各模組間的互動控制。而在測試管理與控制模組與測試執行模組之間有一個介面,即是TTCN-3控制介面,其中另有三個子介面(Sub-interface),分別是:TCI-TM、TCI-CD與TCI-CH,所司職務分別是TM、CD與CH與下層TE模組溝通的介面。
2. TTCN-3執行模組
TTCN -3執行模組(TTCN-3 Executable, TE)位於TMC模組之下,包含所有的測試案例。如圖9,WiMAX TTCN-3 ATS在經過TTCN-3編譯器後所得到的程式,便是構成TE模組最主要的部分,也就是ETS。通常而言,一個可執行的測試案例組,可包含許多可執行的測試案例,而此測試案例的組合稱為ETS。當透過TMC模組來執行測試時,被執行的測試案例就會透過前述的TCI-TM、TCI-CD與TCI、CH的子介面回傳測試相關參數到上層。此外,TE模組下與TTCN-3介接器(Adapter)模組之間的介面是TRI,其中有兩個子介面,分別是TRI- Communication與TRI-Platform,分別負責處理測試連通方法與測試平台相關功能。TTCN-3執行模組再透過此介面,與下層 TTCN-3介接器層溝通。
3. TTCN-3介接器
TTCN -3介接器(TA)位於WiMAX通訊協定測試系統的最下層,負責TE介接到待測系統(SUT)及平台所需的功能。如圖10,其中包含兩個模組,分別是 SUT介接器(SUT Adapter, SA)與平台介接器(Platform Adapter, PA),而SA模組可細分為訊息(Messages)與程序(Procedures),分別負責處理基於訊息與基於程序的通訊模式。
而 PA亦可細分為外部功能(External Functions)與計時器(Timers),分別處理須適應於各種不同平台的通訊、計時器控制與設定的功能。對上層的通訊,則透過TTCN-3執行時間介面中的TRI-Communication與TRI-Platform的兩個子介面來進行溝通。
TTCN-3應用於WiMAX實例
WiMAX的通訊協定一致性測試規範於ETSI TS 102 385系列中,並依據ISO/IEC 9646標準制訂出一致性測試方法。如圖11,先依據通訊協定標準定義出測試規範,其中包含三大部分:
1. 通訊協定施行說明(Protocol Implementation Conformance Statement,PICS)
2. 測試整體架構和測試目的(Test Suite Structure and Test PurposesSpecification, TSS&TP)
3. 抽象測試案例(ATS)
PICS 文件將所有測試所需的相關參數都列舉在內,用以紀錄所開發產品的功能及特性,以供測試時使用。在TSS&TP文件除定義測試案例的架構之外,也定義好幾個測試群組,將測試項目分門別類陳述。而ATS文件中,則明確規範開發測試案例所用的語言及測試架構。由於WiMAX一致性測試是依據 ISO/IEC 9646標準,所以在實作測試案例時,是使用TTCN-3作為測試案例的開發語言。透過架構完成WiMAX通訊協定測試系統,便可將WiMAX測試規範 ETSI 102 385-3中定義的測試架構實現出來。如圖12,TTCN-3測試案例便是TTCN-3執行模組,這部分是由WiMAX ATS經編譯器編譯而得。
透過TRI,不僅在SA內實作廣播仿真模擬(Broadcast Emulation)來處理廣播訊息,同時也處理了測試案例與WiMAX待測產品之間的連接方式,例如底層是透過實際的OFDM實體層來連通。而在 TTCN-3測試案例之上,透過TMC模組便可建構WiMAX通訊協定測試系統,測試相關的控制及分析介面。如此一來,WiMAX通訊協定測試系統便可符合WiMAX測試規範,而進行WiMAX一致性測試。由於WiMAX測試規範採用TTCN-3來開發測試案例,因此根據TTCN-3測試系統建構的原理,透過TTCN-3控制介面及TTCN-3執行時間介面,可將WiMAX通訊協定測試系統分成三大部分:測試管理工具(Test Manager)、TTCN-3執行時間系統(Runtime System),以及介接器層(Adaptor Layer)。
測試管理工具提供測試功能介面
測試管理工具提供測試功能介面,協助測試執行者完成測試程序。在功能上,主要是管理及執行測試案例,並負責測試過程資料記錄、測試結果報告及分析。所以在軟體架構上可分成三個功能模組(圖13):
1. WiMAX測試案例執行控制器
本模組的功能在於控制測試案例的執行,透過本模組可以一次執行單一測試案例或訂定一組測試案例依序自動執行,另外也可以設定執行條件來控制測試案例的執行。
2. WiMAX測試報告自動產生器
本模組的功能在於針對每次執行的測試案例,都會自動產生測試報告,並紀錄測試相關的資訊及結果。
3. WiMAX通訊協定分析器
本模組的功能在於提供測試者分析測試過程的工具,透過圖形化的方式來呈現測試案例的流程並顯示TTCN-3除錯的相關資訊。
TTCN-3執行時間系統
TTCN-3執行時間系統的主要工作是讓測試案例能夠執行,這部分內容包含測試案例流程、測試參數及執行測試所需的相關設定。在軟體架構上可分成四個功能模組(圖14):
1. 編解碼掌控器
編解碼掌控器的主要功能是編碼或解碼WiMAX MAC訊息、MAC廣播訊息、MAC PDU,以及對待測物上層應用程式的訊息。如此,在ETS中被執行的測試案例測試訊息,便可正確傳出、傳入ETS之中。
2. 上層測試控制器
此模組的功能是提供ETS驅動待測物的上層動作。根據測試目的不同,有時須由待測物主動做出某些動作。例如希望待測物傳送資料過來,便會透過此模組,從待測物上層開始往下傳送資料。
3. 介接器控制器
本模組提供控制介接器層的功能。包括初始化、執行或停止介接器層內某些功能模組。
4. PICS讀取器
PICS讀取器主要是在執行時間中提供ETS測試所需的通訊協定施行說明。
介接器層位於最下層
此模組位於WiMAX通訊協定測試系統的最下層,負責TTCN-3執行模組介接到待測系統及平台所需的功能。如圖15所示,包含兩個模組,分別是SUT介接器(SA)與平台介接器(PA)。
SA模組負責處理SUT相關訊息,其中可細分為WiMAX通訊協定仿真模擬、OFDM實體層控制器,以及上層測試傳送。而PA亦可細分為外部平台功能與計時器。外部平台功能負責處理有關須適應於各種不同平台的通訊方式,例如TCP/IP與UDP等,至於計時器則負責控制與設定的功能。
WiMAX通訊協定仿真模擬
此模組主要處理來自上層與下層的封包,將其包裝成WiMAX封包格式,並且將TTCN-3訊息轉換成WiMAX所識別的格式。
OFDM實體層控制器
OFDM實體層控制器主要負責傳送相關OFDM實體層的控制訊號,包括通道的頻段選擇,以及各類調變方式(16QAM/64QAM)的選擇與控制。
上層測試傳送
此模組的功能是模擬待測系統SUT的上下層關係,以模擬實際情況下的SUT各層相互關係,達成所需的測試目的與訊息交換。
外部平台功能
外部平台功能是依據使用不同作業系統或通訊方式,例如TCP/IP、UDP與USB所衍生的功能需求,主要負責平台的控制與通訊功能。
計時器
此層提供關於計時器的控制與設定,透過此層可校正平台與SUT的時脈控制,以達到測試的同步。
加速測試案例開發速度勢在必行
由於通訊架構及功能的演進,使得相對應的測試工作內容也日趨複雜。以無線通訊為例,由小區域無線網路發展至都會無線網路,一直到與3G通訊類似的需求,逐漸與一般電信網路架構重疊。為了解決移動性和大量資料傳輸需求,WiMAX系統便從起初的802.16-2004一直演進到802.16- 2005。如此一來,也導致測試工作日趨複雜。
如同手機測試一般,WiMAX測試未來也須經過系統相容性測試、功能測試、互相操作測試、現場測試等一連串考驗。因此,如何加速測試案例的開發、執行及閱讀,便會深深影響測試工作及除錯工作的進行。也因此歐洲電信標準協會採用TTCN作為標準測試語言,並廣泛應用在ISDN、DECT、SIP及WiMAX等通訊協定的測試標準中。
一路走來,由歐洲電信標準協會主導的TTCN-3測試技術不僅應用於系統相容性測試,更已推廣到各層級的測試需求。藉由歐盟的支持與廣大的工業應用合作,TTCN正持續推陳出新,將成為未來測試技術的主流標準。
(本文作者任職於資策會WiMAX技術中心)
(詳細圖表請見新通訊元件雜誌67期9月號)