徐超 冉斌龍 劉洋
【摘 要】介紹了一種標準化的測試描述語言TTCN-3,并闡述了TTCN-3在TETRA專網(wǎng)通信領(lǐng)域的應(yīng)用;概要描述了部分實踐場景,實測結(jié)果證明依據(jù)TTCN-3設(shè)計的自動化檢驗機制能夠充分保證產(chǎn)品質(zhì)量的可靠性與健壯性。
【關(guān)鍵詞】TETRA TTCN 自動化測試 性能測試 互操作性測試
中圖分類號:TN929.52 文獻標志碼:A 文章編號:1006-1010(2016)09-0024-06
1 引言
相比于公網(wǎng)通信系統(tǒng),專網(wǎng)通信系統(tǒng)架構(gòu)較扁平,但對系統(tǒng)的健壯性和安全性要求卻更為苛刻,因為應(yīng)急狀態(tài)下的通信順暢關(guān)系到國家安全和人身安全。因此,設(shè)計一套工業(yè)級的自動化檢驗機制,以提高專網(wǎng)通信系統(tǒng)的可靠性與健壯性,一直是各專網(wǎng)通信設(shè)備廠商積極追求的目標。
在TETRA系統(tǒng)測試中,各項業(yè)務(wù)測試比較復雜,而且基于手動完成,工作效率低,對每一輪系統(tǒng)回歸測試均需要花費大量人力和時間,以對日志進行分析,機械重復的執(zhí)行可能會引發(fā)疲憊,并導致測試質(zhì)量不保證及產(chǎn)品不能及時發(fā)布,這是專網(wǎng)設(shè)備研發(fā)生產(chǎn)企業(yè)普遍遇到的問題。
海能達通信股份有限公司作為專網(wǎng)行業(yè)的領(lǐng)軍企業(yè),在TETRA專網(wǎng)設(shè)備領(lǐng)域有長達近20年的研發(fā)經(jīng)驗(1999年第一個版本的TETRA系統(tǒng)項目交付商用),已經(jīng)形成了一整套基于TTCN-3(Testing and Test Control Notation version 3,測試和測試控制表示法第三版)的系統(tǒng)性自動化驗證機制,可以模擬長達50年的系統(tǒng)運行環(huán)境;對于海能達公司發(fā)布的每一個TETRA系統(tǒng)版本,都要經(jīng)過這套機制嚴格的檢驗“洗禮”,充分保證了產(chǎn)品質(zhì)量的健壯可靠以及持續(xù)穩(wěn)定。基于TTCN的多種測試應(yīng)用研發(fā),TETRA R5二代系統(tǒng)很多功能都通過高效準確的自動化測試,促使R5系統(tǒng)能按時并高質(zhì)量完成發(fā)布。目前海能達TETRA系統(tǒng)已應(yīng)用于馬來西亞、荷蘭、香港、深圳、長沙等地的重要項目。因此,嚴謹且全面的TTCN測試機制保證了產(chǎn)品研發(fā)品質(zhì),贏得了客戶信賴與尊重。
本文就TTCN-3在TETRA系統(tǒng)中的實踐應(yīng)用方面,對相應(yīng)自動化設(shè)計的原理和機制進行了簡要闡述,闡明了TTCN-3在TETRA系統(tǒng)測試中的優(yōu)勢。
2 TTCN技術(shù)簡介
2.1 TTCN-3優(yōu)勢
TTCN-3是由ETSI(European Telecommuni-cations Standards Institute,歐洲電信標準化協(xié)會)制定的標準化測試描述語言,現(xiàn)已被公布成為ETSI ES 201 873系列標準文件。
與其它測試腳本語言相比,TTCN-3語言優(yōu)點主要體現(xiàn)在支持現(xiàn)行的測試規(guī)范,內(nèi)部配對機制強大,支持定時器,可在運行時進行測試配置,而且TTCN-3不局限于特定的應(yīng)用和使用接口,也不限于特定測試執(zhí)行環(huán)境、編譯程序或操作系統(tǒng),TTCN-3能兼容導入其它開發(fā)代碼。正因為上述特性及靈活機制,TTCN-3技術(shù)被廣泛應(yīng)用于大規(guī)模、復雜的工業(yè)測試,國內(nèi)外大型通信類企業(yè)通常會運用TTCN進行互操作性測試、協(xié)議測試、接口測試、功能集成測試等。
2.2 TTCN-3測試系統(tǒng)
在TTCN-3標準規(guī)范的第5部分中,對TTCN-3測試系統(tǒng)的概念模型進行了描述。系統(tǒng)主要由測試管理和配置(TM)、測試執(zhí)行(TE)、被測系統(tǒng)適配器(SA)和平臺適配器(PA)組成。其中TM與TE的接口稱為測試控制接口(TCI),TE與SA/PA間的接口稱為測試運行時接口(TRI),如圖1所示。
其中,TM組件負責全面的管理,包括用戶接口的實現(xiàn)和測試執(zhí)行的管理。TE負責解釋和執(zhí)行TTCN-3抽象測試套(ATS)。SA負責適配TTCN-3測試系統(tǒng)和被測系統(tǒng)之間所有基于消息的通信和基于過程的通信到一個特定的執(zhí)行平臺。PA負責實現(xiàn)外部函數(shù)和定時器的操作。
TTCN-3可以用作基于多種通信端口的系統(tǒng)測試的描述語言。典型的應(yīng)用領(lǐng)域是協(xié)議測試(包括移動協(xié)議和互連網(wǎng)協(xié)議)、服務(wù)測試(包括增補服務(wù))、模塊測試、APIs等測試。按測試類型和領(lǐng)域延伸,TTCN技術(shù)可應(yīng)用在模塊測試、單元測試、集成測試、系統(tǒng)測試等,也可應(yīng)用于覆蓋分布式、電信、互聯(lián)網(wǎng)、傳輸領(lǐng)域測試。TTCN應(yīng)用場景拓展如圖2所示:
3 TTCN-3在TETRA DIB-R5中的測試應(yīng)用
Accessnet-T IP二代系統(tǒng)是海能達公司專注研制出的最新TETRA系統(tǒng)產(chǎn)品,由中國總部和德國子公司共同研制。目前其架構(gòu)已有很多改進和優(yōu)化,模塊化程度更高,組網(wǎng)更加靈活,流程更加合理,功能更加完善。鑒于TETRA集群系統(tǒng)的業(yè)務(wù)功能多種多樣和手動測試的重復機械性,為了提升新產(chǎn)品的測試效能,通過設(shè)計SA和PA,以及Java編寫的相應(yīng)編、解碼子系統(tǒng),開發(fā)了一整套自動化測試環(huán)境平臺。利用TTCN設(shè)計并覆蓋自動化功能測試/回歸測試、接口層互操作性測試、性能測試、數(shù)據(jù)傳輸速率測試、穩(wěn)定性測試、業(yè)務(wù)壓力測試、應(yīng)用程序網(wǎng)關(guān)協(xié)議測試等。下文從部分測試角度進行呈現(xiàn)舉例。
3.1 自動化功能測試/回歸測試
設(shè)計綜述:利用TTCN集成開發(fā)測試環(huán)境,設(shè)計并搭建了TETRA自動化測試平臺。主要實現(xiàn)原理是通過PEI(Peripheral Equipment Interface,外圍設(shè)備接口)標準,用串口AT指令完成多個終端的行為控制,例如短信息的收發(fā)、通話的建立、掛斷等;通過Socket通信接口連接應(yīng)用網(wǎng)關(guān)接口,實現(xiàn)調(diào)度中心、錄音器的完全仿真;通過SIP接口協(xié)議連接電話網(wǎng)關(guān),實現(xiàn)對PSTN/PABX的完全仿真。在用例設(shè)計過程中,通過在TCI接口層加入多種錯誤消息判定機制,只要收到不符合業(yè)務(wù)邏輯的消息,則立即呈現(xiàn)出錯提示并設(shè)置setverdict(fail),中斷這個用例執(zhí)行,然后跳轉(zhuǎn)執(zhí)行下一個用例。
為了使自動化/回歸測試更加精準、有效,提高場景覆蓋率,在設(shè)計自動化/回歸測試用例時,考慮各種可能的正常與異常場景,測試用例按以下維度細化、組合,包括但不限于以下組合:
1)按業(yè)務(wù)發(fā)起方和目的方主要分為TETRA終端到終端,終端到調(diào)度中心,調(diào)度中心到終端等。
2)按業(yè)務(wù)種類主要分為半雙工、全雙工單呼、組呼、廣播呼叫,電路模式數(shù)據(jù)呼叫,個體或組發(fā)起的短信、狀態(tài)消息等。
3)按業(yè)務(wù)場景分為正常場景和異常場景:正常場景主要為通話正常掛機、短信正常收發(fā)等;異常場景主要為呼叫目的是否已知、注冊、是否響應(yīng)、目標忙、目的拒接、呼叫超時、權(quán)限不允許、呼叫不可達轉(zhuǎn)移呼叫等場景。
4)其它邊界,如短信分為Type1、Type2、Type3、Type4等。
整體測試架構(gòu)圖如圖3所示:
實施成效:綜上條件,共設(shè)計執(zhí)行用例三千多個,實現(xiàn)了應(yīng)急通信系統(tǒng)業(yè)務(wù)場景的全覆蓋,并在各種組網(wǎng)方式下精準運行,節(jié)省了大量人力投入,從而大幅提升了測試效率和產(chǎn)能,并且根據(jù)測試結(jié)果推動了產(chǎn)品研發(fā)的改善,有效保證了產(chǎn)品質(zhì)量。在用例設(shè)計過程中,通過加入嚴格錯誤判定機制,對可能的錯誤進行零容忍,確保新產(chǎn)品應(yīng)急通信基礎(chǔ)功能全部正常。
3.2 互操作性測試
設(shè)計綜述:目前主流的TETRA系統(tǒng)與終端的IOP(Interoperability,互操作性)測試都是基于界面操作手動執(zhí)行,驗證系統(tǒng)與終端的業(yè)務(wù)交互流程。而TETRA系統(tǒng)IOP測試標準也要依賴于觀察界面,通過界面控制終端來測試。假設(shè)在接口層實現(xiàn)IOP測試自動化,則通過串口即能控制驗證底層協(xié)議棧是否互通,從而不依賴終端界面。
一般而言,接口層面的互操作性嚴于常規(guī)IOP測試。如果設(shè)計一套測試框架和用例實現(xiàn)自動化,那么系統(tǒng)測試項目在自動化平臺測試通過,則在絕大多數(shù)情況下說明系統(tǒng)符合IOP測試標準。
根據(jù)TETRA IOP標準測試規(guī)范文檔中Group Management、Group Call、Individual Call、Status Message、BS Fallback Operation、SDS(Short Data Service,短數(shù)據(jù)業(yè)務(wù))、CF(Call Forwarding,呼叫轉(zhuǎn)移)等章節(jié)內(nèi)容,基于TETRA系統(tǒng)及TETRA PEI標準(AT指令),利用TTCN集成開發(fā)測試環(huán)境,設(shè)計并搭建了基于接口層面的TETRA互操作性測試平臺,并設(shè)計了大量IOP測試用例。
(1)用例列舉一:無條件呼叫轉(zhuǎn)移
1)預(yù)置條件:終端MS1、MS2、MS3在TETRA SwMI(Switching Management Infrastructure,交換管理基礎(chǔ)設(shè)施,泛指Tetra系統(tǒng))下注冊,SwMI中配置MS3無條件呼叫轉(zhuǎn)移至MS2。
2)測試控制:通過控制MS1發(fā)送ATCTSDC、ATD消息指令,由MS1發(fā)起到MS2的呼叫,然后SwMI會向MS1發(fā)送外呼CTOCP消息,向MS2發(fā)送CTICN呼入消息,再通過控制MS2發(fā)送ATA指令,接聽呼叫即可。通過結(jié)果判定是否成功。
標準流程如圖4所示。
(2)用例列舉二:拒絕單個組附屬
1)預(yù)置條件:終端MS1在SwMI下注冊,SwMI中只配置GroupA,不配置GroupB。
2)測試控制:通過AT控制MS1發(fā)起單一組GroupB的附屬(CoU值不為selected,即僅附屬,但不選擇),SwMI不接受MS1組附屬到GroupB,因為GroupB未被配置,GroupB對于MS1不可用。其中編解碼部分需要在適配模塊中提前完成。
3)實施成效:利用TTCN-3設(shè)計并執(zhí)行面向IOP的自動化測試,作為正式IOP測試前的預(yù)測試,能從接口協(xié)議層面保證R5系統(tǒng)產(chǎn)品的質(zhì)量。首先保障了TETRA系統(tǒng)產(chǎn)品符合IOP標準,同時確保R5系統(tǒng)與市場上絕大多數(shù)TETRA終端能進行兼容,并通過IOP聯(lián)盟認證。通過設(shè)計這一套測試框架和用例,既大幅提升了正式IOP測試通過的測試項數(shù),同時節(jié)省了人力投入以及避免了手動測試時的誤差,從而提高了測試效率和產(chǎn)能。
3.3 性能測試
隨著電子科學技術(shù)的快速發(fā)展,專網(wǎng)被越來越多地應(yīng)用于工業(yè)控制領(lǐng)域,通過無線網(wǎng)絡(luò)將傳感器上的信息收集回服務(wù)器進行分析,然后給設(shè)備發(fā)送控制指令等應(yīng)用場景成為未來工業(yè)生產(chǎn)領(lǐng)域的趨勢。更多的純短消息的網(wǎng)絡(luò)被部署在電力部門、碼頭、機場等需要密集調(diào)度的場所。相比公網(wǎng)而言,專網(wǎng)在呼叫建立時間、呼叫成功率、網(wǎng)絡(luò)穩(wěn)定性等方面表現(xiàn)更加優(yōu)秀,所以專網(wǎng)成為工業(yè)控制領(lǐng)域的首選。
在SDS大業(yè)務(wù)量并發(fā)傳輸場景下,保證系統(tǒng)的穩(wěn)定性與健壯性成為測試研發(fā)關(guān)注的一個重點。TTCN-3引入了PTC(Parrallel Test Component,并行測試組件)組件來實現(xiàn)并發(fā)操作,TTCN-3支持多個PTC同時執(zhí)行,通過MTC(Main Test Component,主測試組件)控制整個執(zhí)行流程。在測試過程中PTC通過串口完成與SUT(System Under Test,被測系統(tǒng))之間的通信,如圖5所示:
利用TTCN-3 PTC組件模擬多個移動手臺、車載臺、調(diào)度臺、PABX等外部設(shè)備并發(fā)短消息進行壓力測試與性能測試,能夠利用現(xiàn)有多樣的功能測試用例快速構(gòu)造出模擬現(xiàn)實的壓力場景,提高了執(zhí)行效率。
用例舉例:短消息傳輸
(1)設(shè)計綜述:在TETRA空口標準中,對數(shù)據(jù)的上下行用了不同的處理方式,如圖6所示:
一個超幀(hyperframe)由60個復幀(multiframes)
組成,一個復幀包含18個幀(frame),其中第十八幀作為控制幀。一個幀分為4個時隙(timeslot),每個下行時隙包含510個調(diào)制比特(modulation bit),上行時隙又拆分為兩個子時隙(subslot),每個子時隙包含255個調(diào)制比特。所以在驗證系統(tǒng)處理SDS能力時,要分別對上下行進行驗證。
(2)預(yù)置條件:多臺MS注冊在SwMI系統(tǒng)上,并通過串口連接到TTCN測試主機上。
(3)測試控制:在利用TTCN-3進行測試時,如何得到精準的SDS傳輸成功率與傳輸時延數(shù)據(jù)成為難點,在TTCN-3的并行機制中,MTC收集PTC的判決結(jié)果,然后給出最終測試用例的執(zhí)行狀態(tài)。目前TTCN-3功能測試中支持的判斷結(jié)果類型有pass、fail、inconc、none、error,這些都無法反應(yīng)具體的并發(fā)量與成功率。為了更好地監(jiān)控性能測試結(jié)果,則定義了新的性能測試判斷類型perftype,并定義了與perftype相關(guān)的動作。當PTC發(fā)起一條SDS時,perftype將SDS發(fā)送量加1,并捕獲返回結(jié)果,與預(yù)期值進行比較,如果返回消息與預(yù)期不一致,就將SDS失敗數(shù)加1,當壓力測試執(zhí)行結(jié)束時,輸出SDS丟包率=SDS失敗數(shù)/SDS發(fā)送總量,從而得出較為精確的丟包率數(shù)據(jù)。
(4)實施成效:使用TTCN-3開展性能測試,可以利用現(xiàn)有多樣的功能測試用例快速構(gòu)造各種測試場景,加速性能測試用例開發(fā),同時TTCN-3靈活的數(shù)據(jù)類型與timer機制,能夠使精確統(tǒng)計通話成功率、并發(fā)量以及時延等變得更加簡單。經(jīng)過嚴格測試與建模分析,TETRA系統(tǒng)產(chǎn)品在大數(shù)據(jù)量并發(fā)的情況下,依然表現(xiàn)出較好的性能,滿足項目的需求。
4 結(jié)束語
綜觀之前已經(jīng)成功部署交付并良好穩(wěn)定運行海能達TETRA系統(tǒng)的馬來西亞全國網(wǎng)、香港中華電力(CLP),成功進入交付及試行階段的深圳地鐵7、9、11號線,長沙地鐵等國內(nèi)外項目,以及即將交付的荷蘭國家網(wǎng)等項目,能夠確信TTCN測試在產(chǎn)品質(zhì)量方面發(fā)揮了重要的保障作用。
隨著技術(shù)的發(fā)展,我們對專網(wǎng)通信有了更多展望,例如:將窄帶與寬帶在專網(wǎng)中融合,讓網(wǎng)絡(luò)既能保持窄帶快速建立呼叫、語音加密等優(yōu)點,又能提供較高帶寬,進行大數(shù)據(jù)量傳輸;將人體傳感設(shè)備更多地應(yīng)用于專網(wǎng),在重大事故中挽救更多人的生命等。如何將TTCN-3應(yīng)用于寬/窄帶融合及可穿戴設(shè)備等將是下一步的工作重點。
參考文獻:
[1] ETSI EN 300 392-5. Terrestrial Trunked Radio (TETRA); Voice plus Data (V+D) and Direct Mode Operation (DMO); Part 5: Peripheral Equipment Interface (PEI)[S]. 2010.
[2] ETS 300 392-2. Trans-European Trunked Radio (TETRA); Voice plus Data (V+D); Part 2: Air Interface (AI)[S]. 1996: 76-84.
[3] ETSI ES 201 873-1 V4.2.1. Methods for Testing and Specification(MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language[S].Europe: ETSI, 2010.
[4] 張阮阮. TETRA數(shù)字集群系統(tǒng)中Az接口測試例的設(shè)計與實現(xiàn)[D]. 北京: 北京交通大學, 2012.
[5] 徐明偉,吳建平. 并發(fā)TTCN的性能擴展[J]. 計算機研究與發(fā)展, 1999,36(7): 206-210.
[6] 王鵬,李海,宋起柱,等. TETRA數(shù)字集群系統(tǒng)分組數(shù)據(jù)互操作性測試的研究[J]. 移動通信, 2014(3/4): 102-106.
[7] 謝海彬,戎駿,李峰. TETRA空中接口協(xié)議一致性測試的研究[J]. 電子質(zhì)量, 2006(6): 5-8.
[8] 馮婷,李海,王俊峰,等. TETRA數(shù)字集群系統(tǒng)多業(yè)務(wù)交互測試的研究[J]. 移動通信, 2013(24): 47-51.
[9] 中國電子學會通信學分會. TETRA在中國的應(yīng)用和發(fā)展[J]. 移動通信, 2013(11): 52-55.
[10] 徐小濤. 數(shù)字集群移動通信系統(tǒng)原理與應(yīng)用[M]. 北京:人民郵電出版社, 2008.