摘要 隨著通信技術的快速發(fā)展,針對協(xié)議的測試越來越重要。本文介紹了協(xié)議一致性測試和互操作測試,分析了二者的優(yōu)缺點,同時明確了它們之間的關系,以及相關標準進展情況,從而指導我們選擇正確的協(xié)議測試技術。
1、引言
隨著通信技術的快速發(fā)展,網(wǎng)絡之間的互聯(lián)互通以及通信業(yè)務越來越依賴通信協(xié)議的發(fā)展?梢哉f,通信系統(tǒng)的正常運行和通信業(yè)務的順利開展,首要就是取決于協(xié)議軟件是否滿足協(xié)議規(guī)范的要求。所以必須進行專門的協(xié)議測試加以保證。
協(xié)議測試技術的目的就是保證通信協(xié)議正確實現(xiàn)以及確保不同的通信設備之間可以正確互聯(lián)。在通信測試中,協(xié)議測試僅僅是一種黑盒測試,它并不檢查協(xié)議代碼,而是按照協(xié)議標準,通過控制觀察被測協(xié)議實現(xiàn)的外部行為對其進行評價。協(xié)議測試技術主要包括一致性測試(Conformance Testing)和互操作測試(Interoperability Testing)。本文重點介紹兩種協(xié)議測試技術以及它們之間的關系。
2、協(xié)議測試技術介紹
2.1 一致性測試
一致性測試主要是確定被測實現(xiàn)(Implementation Under Test,IUT)是否與標準規(guī)定一致。通常利用一組測試案例序列,在一定的網(wǎng)絡環(huán)境下,對被測實現(xiàn)進行黑盒測試,通過比較IUT的實際輸出與預期輸出的異同,判定IUT是否與協(xié)議描述相一致,采用的測試拓撲見圖1。
圖1 一致性測試拓撲圖
根據(jù)ITU-TX.290系列ISO/IEC-9646定義的一致性測試方法,測試標準包括三部分:抽象測試集(ATS)、協(xié)議實現(xiàn)一致性說明(PICS)和協(xié)議實施附加信息(PIXIT)?蓤(zhí)行測試集(ETS)在以上三部分的基礎上生成。ATS規(guī)定某一標準協(xié)議的測試目的、測試內(nèi)容和測試步驟:PICS說明實施的要求、能力及選項實現(xiàn)的情況;PIXIT提供測試必須的協(xié)議參數(shù)。其測試步驟如下:
首先是靜態(tài)測試:測試儀讀取PICS/PIXIT文件并根據(jù)協(xié)議標準進行靜態(tài)測試,檢查IUT參數(shù)說明是否符合標準。
其次是動態(tài)測試:測試儀根據(jù)PICS/PIXIT文件和ATS生成ETS,然后執(zhí)行ETS對IUT進行激勵/響應測試。具體采用的測試類型包括:本地測試方式、分布式測試方式、協(xié)同測試方式和遠程測試方式。
最后是測試報告:對測試執(zhí)行產(chǎn)生的測試記錄文件進行分析,按照測試報告描述規(guī)格生成一致性測試報告。協(xié)議一致性測試報告記錄了所有測試案例的測試結(jié)果:成功(PASS)、失。‵AIL)、不確定(INCONCLUSIVE)。
采用的工作流程如圖2所示。
圖2 一致性測試流程圖
2.2 互操作測試
互操作測試評價被測實現(xiàn)與相連接相似實現(xiàn)之間在網(wǎng)絡操作環(huán)境中是否能夠正確地交互并且完成協(xié)議標準中規(guī)定的功能,從而確定被測設備是否支持所需要的功能;ゲ僮鳒y試通常用于研發(fā)階段多廠商準正式測試或者運營商的選型測試,提供重要的互通信息。
事實上,在互操作測試中,被采用最多的形式是測試單位選擇經(jīng)互操作認可的設備來與被測設備進行互操作測試。認可設備可能是終端設備、網(wǎng)絡設備或者應用軟件,也可能是一個單獨設備或者若干設備組合。采用的測試拓撲見圖3。
圖3 互操作測試拓撲圖
在拓撲圖中,認可設備(可能是一個或若干設備)和被測設備共同定義測試邊界,二者來自不同廠商(至少不同生產(chǎn)線);互操作測試基于用戶期望的功能,并由用戶控制并觀察測試結(jié)果,用戶可以是人工操作也可以是軟件程序。事實上互操作測試主要關注設備功能,而并不關心協(xié)議細節(jié)。
互操作測試主要包括兩個部分:開發(fā)互操作測試規(guī)范和具體互操作測試過程。
開發(fā)互操作測試規(guī)范類似于制定一致性測試規(guī)范,只不過這個過程通常由進行互操作者根據(jù)關注測試功能要點進行制定,該步驟是互操作測試中最重要的部分。相應流程見圖4。
圖4 互操作測試規(guī)范制定流程
具體互操作測試過程和一致性測試過程類似,同樣包括三個步驟:測試準備、具體測試、測試報告。具體流程見圖5。
圖5 互操作測試流程示意圖
互操作測試過程除了測試使用規(guī)范、測試設備和測試驅(qū)動與一致性測試不同以外,其它基本與一致性測試類似。
3、一致性測試與互操作測試優(yōu)缺點及關系
一致性測試和互操作測試都是測試協(xié)議實現(xiàn)重要而有效的方法,在某種程度上可以相互驗證,但二者并是完全一樣。首先,測試目的不同,一致性測試是確定被測實現(xiàn)是否與標準規(guī)定一致,而互操作測試是確定被測設備是否完成要求的功能;其次,測試對象不同,一致性測試的對象是設備或者系統(tǒng),而互操作測試的對象是設備;再次,測試級別不同,一致性測試是在協(xié)議級,而互操作測試是在功能級;最后,測試效果不同,一致性測試適用所有被測實現(xiàn),而互操作測試主要適用于被測設備之間。
實際測試中,一致性測試通過也并不能保證互操作測試一定可以通過。最根本的原因是一致性測試使用標準規(guī)定的絕對完整和正確是不現(xiàn)實的,其中也包含各個標準制定人/制定單位理解不同與利益妥協(xié)的問題。具體表現(xiàn)如下:
●標準方面:標準中錯誤與含糊內(nèi)容;標準本身的兼容性問題。
●實施方面:人為錯誤(如編程錯誤);對于通信標準不同理解;標準本身允許不同選項。
●技術方面:通信網(wǎng)絡使用不同流量策略;設備兼容性問題;設備配置問題。
當然,互操作測試僅僅可以證實被測系統(tǒng)中不同設備之間的互操作能力,而不能證實設備是否符合標準,因為互操作測試根本就不關心協(xié)議細節(jié)。故此,互操作測試不可能替代一致性測試。
其實,一致性測試和互操作測試是互為驗證、互為補充的關系,只有把兩者合理地結(jié)合才能完成完整的協(xié)議測試。
4、相關標準制定情況
在過去通信發(fā)展中,國際標準組織主要關注協(xié)議一致性測試,故此一致性測試開展最早,也形成了很多有價值的成果,而互操作性測試僅僅作為商業(yè)測試的一種手段來滿足具體測試者的需求。1991年國際標準化組織ISO制訂的國際標準ISO/IEC 9646(ITU-TX.290系列)——“OSI協(xié)議一致性測試的方法和框架”,描述了基于OSI七層參考模型的協(xié)議測試過程、概念和方法。相應標準見表1。
表1 一致性測試相關標準
另外,還有ETSIETS 300 406“測試和規(guī)范方法;協(xié)議一致性測試規(guī)范”。
但是隨著通信技術的不斷發(fā)展,新的協(xié)議越來越復雜,協(xié)議一致性測試工作遇到了很多困難。所以互操性測試相關研究也越來越受到重視。ETSI,ITU-T,ISO等國際組織都開展了相應的研究工作。具體成果有:ETSITS 102 237“互操作測試方法和途徑”;ITU-T正在完善的ITU-T Z.itfm“互操作測試框架和方法”;ISO也正在許多協(xié)議簇中增加的互操作測試。當然,雖然互操作測試在商業(yè)測試中已經(jīng)有很廣泛的應用,但是深入理論化、標準化的工作還有待深入。
5、結(jié)束語
協(xié)議測試遠非前文描述的那么簡單,以上介紹的僅僅是方法理論,真正實際測試還需要結(jié)合具體的測試案例研究深入的算法和理論。以上主要從總體上介紹了協(xié)議測試方法論,可以指導協(xié)議測試,讓我們了解設備或者系統(tǒng)實現(xiàn)的協(xié)議細節(jié)及互操作能力,對它們有一個正確的評價和認識。