計算機網絡協議測試技術分析
關鍵詞:協議測試;互操作性測試;計算機網絡協議
1、引言
隨著網絡以及通信技術的快速發展,網絡更加普及,協議測試也顯的越來越重要。協議測試技術的目的就是保證通信協議正確實現以及確保不同的通信設備之間可 以正確互聯。對于商業測試而言協議測試技術非常具有實用價值,得到了廣泛的應用。目前除了一致性測試有國際標準外,其他測試技術還未有國際標準。故此協議 測試技術的理論化、標準化工作有待深入研究。本文在介紹協議測試技術的基礎上重點探討一致性測試和互操作性測試以及它們之間的關系。
2、協議測試技術介紹
目前在測試領域測試方法分為3種:白盒測試、黑盒測試和 灰盒測試。白盒測試通過每條語句至少執行一次來全面檢查整個程序代碼,而黑盒測試只測試軟件外部可以觀察到的行為,不涉及程序的內部結構。白盒測試的測試 能力非常強,但是過程過于復雜,對被測軟件要求也很高。黑盒測試只關心被測軟件的輸入和輸出,測試能力雖然弱了些,但是測試過程本身相對簡單,對被測軟件 要求也無特殊要求。灰盒測試是將白盒測試和黑盒測試結合起來形成的一種測試方法,吸收了兩種方法的優點。在通信測試中,協議測試僅僅是一種黑盒測試,它并 不檢查協議代碼,而是按照協議標準,通過控制觀察被測協議實現或系統的外部行為對其進行評價。協議測試技術包括四種類型的測試:①一致性測試 (Conformance Testing):檢測協議實現本身與協議規范的符合程度;②互操作性測試(Interoperability Testing):基于某一協議檢測不同協議實現間互操作互通信的能力;③性能測試(Performance Testing):檢測協議實現的性能指標(如數據傳輸速度、連接時間、執行速度、吞吐量、并發度等);④健壯性測試(Robust Testing):檢測協議實現在各種惡劣的環境下運行的能力(如注入干擾報文、通信故障、信道被切斷等)。
在過去的通信發展中,國際標準組織主要關注協議一致性測試,故此一致性測試開展最早,也形成了很多有價值的成果,而其他三種測試僅僅作為商業測試的手段 來滿足具體測試者的需求。90年代國際標準化組織ISO制訂的國際標準ISO/IEC 9646(ITU-TX.290系列)——“OSI協議一致性測試的方法和框架”,描述了基于OSI七層參考模型的協議測試過程、概念和方法,相應標準見 表1。另外,還有ETSI ETS 300 406“測試和規范方法;協議一致性測試規范”。
隨著通信技術的發展,新的協議越來越復雜,協議一致性測試工作遇到了很多困難。在實 際測試中,一致性測試通過并不能保證互操作測試一定可以通過。所以互操作性測試相關研 究越來越受到重視。雖然互操作性測試目前還未制定國際標準,但是中國以及ETSI、ITU-T 、ISO等國際組織都開展了相應的研究工作,具體成果有:①ETSI TS 102 237“互操作測試方法和途徑”;ETSI TS 202 237“互操作測試方法”;②ITU-T正在完善ITU-T Z.itfm“互操作測試框架和方法”;③ISO正在許多協議簇中增加互操作測試;④“中國通信行業標準YD/T1521-2006路由協議互操作性測試 方法”該標準主要是信息產業 部電信研究院、華為技術有限公司、中興通訊股份有限公司參與起草,由中華人民共和國信 息產業部發布。
互操作測試、性能測試和健壯性測試的研究對于商業測試具有非常實用價值,得到了廣泛的 應用,然而其理論化、標準化的工作還有待深入研究。
3、協議一致性測試與互操作性測試技術
一個協議實現或系統能否通過一致性測試和互操作性測試是它能否與其它實現成功互連互通 的重要保障,因此對協議實現進行一致性測試和互操作性測試是非常重要的。
3.1 協議一致性測試技術
ISO/IEC 9646對一致性定義如下:“一個一致性的實現應滿足靜態一致性需求 和動態一致性需求,并與協議實現一致性聲明(Protocol Implementation Conformance St atements,PICS)中所聲明的功能相符合。” 一致性測試主要是確定被測實現(Implement ation Under Test,IUT)是否與標準規定一致。通常利用一組測試案例序列,在一定的網 絡環境下,對被測實現進行黑盒測試,通過比較IUT的實際輸出與預期輸出的異同,判定IUT 是否與協議描述相一致。一致性測試拓撲結構如圖1。表現一致性測試的重要特征是:①被測系統(System Under Test,SUT)或被測實現定義測試邊界;②測試由一個能夠完全控制SUT和擁有觀察SUT所有通信能力的專門測試系統實施;③測試在開方式標準接口上 執行,也就是說接口指定在協議級。
根據ITU-T X.290系列ISO/IEC-9646定義的一致性測試方法,測試標準主要包括五部分:①測試套結構和測試目的(Test Suite Structure and Test Purposes,TSS&TP):由相關標 準而得。它們為每個測試提供一個非正式易讀的描述,集中于測試意圖而不是如何實現。他 們通常在協議層上定義;②抽象測試套(Abstract Test Suite,ATS):是測試例的集合,測試例通過測試描述語言(如 TTCN、XML)描述;③協議實現一致性說明(PICS):PICS說明被測實施的要求、能力及選項實現的情況;④協議實施附加信息(Protocol Implementation eXtra Information for Testing,PIXIT):PIXIT提供測試必須的協議參數(例如特殊地址、計時器值等);⑤可執行測試套(Executable Test Suite,ETS):可以通過ATS簡單快速的生成。協議一致性測試采用的工作流程如圖2,其測試步驟如下:①靜態測試:測試儀讀取 PICS/PIXIT文件并根據協議標準進行靜態測試,檢查IUT參數說明 是否符合標準。②動態測試:測試儀根據PICS/PIXIT文件和ATS生成ETS,然后執行ETS對IUT進行激勵/響應 測試。具體采用的測試類型包括:本地測試方式、分布式測試方式、協同測試方式和遠程測 試方式。③測試報告:對測試執行產生的測試記錄文件進行分析,按照測試報告描述規格生成一致 性測試報告。協議一致性測試報告記錄了所有測試案例的測試結果:成功(PASS)、失敗( FAIL)、不確定(INCONCLUSIVE)。
3.2 協議互操作性測試技術
目前互操作性測試沒有標準定義,通常用于研發階段多廠商準正式測試或者運營商的選型測 試中。互操作測試評估被測實現與相連接相似實現之間在網絡操作環境中交互能力,并且完 成協議標準中規定的功能,從而確定被測設備是否支持所需要的功能。
在互操作測試中,被采用最多的形式是測試單位選擇經一致性操作和互操作測試認可設備來 與被測設備進行互操作測試。互操作性測試拓撲結構如圖3。表現互操作性測試的重要特征 是:①認可設備(Qualified Equipment, QE)和被測設備(Equipment Under Test,EUT) 來自不 同廠商(至少不同生產線)共同定義測試邊界。二者可能是終端設備、網絡設備或者應用軟 件,也可能是一個單獨設備或者若干設備組合;②互操作性測試基于用戶期望的功能,并由用戶控制并觀察測試結果。用戶(Test Driver) 可以是人工操作也可以是軟件程序;③互操作性測試在功能性接口上執行和觀察,也就是說接口沒有指定在協議級而是功能級上 。這些接口包括人機接口(Man-Machine Interfaces,MMIs)、協議設備接口(protocol ser vice interfaces)、應用程序接口(Application Programming Interfaces , APIs)。
互操作測試過程除了測試使用規范、測試設備和測試驅動與一致性測試不同以外,其它基本 與一致性測試類似。互操作測試過程主要包括兩個部分:①開發互操作測試規范過程,通常由互操作者根據測試功能要點進行制定。該過程主要包 括以下內容:指定抽象測試架構、準備互操作特征聲明(Interoperable Features Statemen t, IFS)草稿、聲明測試套架構(Test Suite Structure, TSS)、寫測試目的、寫測試例、IF S定案;
②測試過程,主要包括以下內容:準備測試、具體測試、測試報告。
3.3 協議一致性測試與互操作性測試的比較
一致性測試和互操作測試都是測試協議實現重要而有效的方法,在某種程度上可以相互驗證,但二者并不是完全一樣,主要差異在于:
①測試目的不同,一致性測試是確定被測實現是否與標準規定一致,而互操作測試是確定被 測設備之間基于某一協議的交互能力;②測試對象不同,一致性測試的對象是設備或者系統。而互操作測試的對象是設備;③測試級別不同,一致性測試是在協議 級.而互操作測試是在功能級;④測試效果不同,一致性測試適用所有協議實現,而互操作測試主要適用于被測設備。
實際測試中,一致性測試通過并不能保證互操作測試一定可以通過。具體原因表現在三方面 :①標準方面:標準中錯誤與含糊內容;標準本身的兼容性問題;②實施方面:人為錯誤(如編程錯誤);對于標準理解不同;標準本身允許不同選項;③技術方 面:通信網絡使用不同流量策略;設備兼容性問題;設備配置問題。
互操作測試可以證實被測系統中不同設備之間的互操作能力,但不能證實設備是否符合標準 。一致性測試可以證實設備是否符合標準,但不能保證設備之間可以互相通信。故此,互操 作測試不可能替代一致性測試,在互操作測試前必須首先進行一致性測試。一致性測試和互 操作測試是互為驗證、互為補充的關系,只有把兩者合理地結合才能完成完整的協議測試。
4、結束語
自90年代協議測試技術發展以來,協議測試技術得到了廣泛的應用。隨著計算機網絡發展特 別是開放型異構網絡的迅猛發展,協議測試理論和技術的研究將更加重要。協議測試并非本 文描述的那么簡單,在實際測試中需要針對測試例研究測試算法和理論。我認為隨著互操作 性測試優越性的體現,互操作性測試的研究將越來越重要。基于一致性測試與互操作性測試 的關系,將二者結合進行協議測試也有待進一步研究。
posted on 2012-08-31 10:16 順其自然EVO 閱讀(358) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄