天天看點

計算機網絡協定測試技術分析

  關鍵詞:協定測試;互操作性測試;計算機網絡協定

  1、引言

  2、協定測試技術介紹

   在過去的通信發展中,國際标準組織主要關注協定一緻性測試,故此一緻性測試開展最早,也形成了很多有價值的成果,而其他三種測試僅僅作為商業測試的手段 來滿足具體測試者的需求。90年代國際标準化組織iso制訂的國際标準iso/iec 9646(itu-tx.290系列)——“osi協定一緻性測試的方法和架構”,描述了基于osi七層參考模型的協定測試過程、概念和方法,相應标準見 表1。另外,還有etsi ets 300 406“測試和規範方法;協定一緻性測試規範”。

計算機網絡協定測試技術分析

  互操作測試、性能測試和健壯性測試的研究對于商業測試具有非常實用價值,得到了廣泛的 應用,然而其理論化、标準化的工作還有待深入研究。

  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年代協定測試技術發展以來,協定測試技術得到了廣泛的應用。随着計算機網絡發展特 别是開放型異構網絡的迅猛發展,協定測試理論和技術的研究将更加重要。協定測試并非本 文描述的那麼簡單,在實際測試中需要針對測試例研究測試算法和理論。我認為随着互操作 性測試優越性的展現,互操作性測試的研究将越來越重要。基于一緻性測試與互操作性測試 的關系,将二者結合進行協定測試也有待進一步研究。

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/

繼續閱讀