qileilove

          blog已經(jīng)轉移至github,大家請訪問 http://qaseven.github.io/

          計算機網(wǎng)絡協(xié)議測試技術分析

          摘要:介紹了協(xié)議測試技術以及相關標準進展情況,著重介紹了協(xié)議一致性測試和互操作性測試,分析了二者的差異,明確了它們之間的關系。便于進一步理解協(xié)議測試技術。

            關鍵詞:協(xié)議測試;互操作性測試;計算機網(wǎng)絡協(xié)議

            1、引言

             隨著網(wǎng)絡以及通信技術的快速發(fā)展,網(wǎng)絡更加普及,協(xié)議測試也顯的越來越重要。協(xié)議測試技術的目的就是保證通信協(xié)議正確實現(xiàn)以及確保不同的通信設備之間可 以正確互聯(lián)。對于商業(yè)測試而言協(xié)議測試技術非常具有實用價值,得到了廣泛的應用。目前除了一致性測試有國際標準外,其他測試技術還未有國際標準。故此協(xié)議 測試技術的理論化、標準化工作有待深入研究。本文在介紹協(xié)議測試技術的基礎上重點探討一致性測試和互操作性測試以及它們之間的關系。

            2、協(xié)議測試技術介紹

            目前在測試領域測試方法分為3種:白盒測試黑盒測試和 灰盒測試。白盒測試通過每條語句至少執(zhí)行一次來全面檢查整個程序代碼,而黑盒測試只測試軟件外部可以觀察到的行為,不涉及程序的內部結構。白盒測試的測試 能力非常強,但是過程過于復雜,對被測軟件要求也很高。黑盒測試只關心被測軟件的輸入和輸出,測試能力雖然弱了些,但是測試過程本身相對簡單,對被測軟件 要求也無特殊要求。灰盒測試是將白盒測試和黑盒測試結合起來形成的一種測試方法,吸收了兩種方法的優(yōu)點。在通信測試中,協(xié)議測試僅僅是一種黑盒測試,它并 不檢查協(xié)議代碼,而是按照協(xié)議標準,通過控制觀察被測協(xié)議實現(xiàn)或系統(tǒng)的外部行為對其進行評價。協(xié)議測試技術包括四種類型的測試:①一致性測試 (Conformance Testing):檢測協(xié)議實現(xiàn)本身與協(xié)議規(guī)范的符合程度;②互操作性測試(Interoperability Testing):基于某一協(xié)議檢測不同協(xié)議實現(xiàn)間互操作互通信的能力;③性能測試(Performance Testing):檢測協(xié)議實現(xiàn)的性能指標(如數(shù)據(jù)傳輸速度、連接時間、執(zhí)行速度、吞吐量、并發(fā)度等);④健壯性測試(Robust Testing):檢測協(xié)議實現(xiàn)在各種惡劣的環(huán)境下運行的能力(如注入干擾報文、通信故障、信道被切斷等)。

             在過去的通信發(fā)展中,國際標準組織主要關注協(xié)議一致性測試,故此一致性測試開展最早,也形成了很多有價值的成果,而其他三種測試僅僅作為商業(yè)測試的手段 來滿足具體測試者的需求。90年代國際標準化組織ISO制訂的國際標準ISO/IEC 9646(ITU-TX.290系列)——“OSI協(xié)議一致性測試的方法和框架”,描述了基于OSI七層參考模型的協(xié)議測試過程、概念和方法,相應標準見 表1。另外,還有ETSI ETS 300 406“測試和規(guī)范方法;協(xié)議一致性測試規(guī)范”。

             隨著通信技術的發(fā)展,新的協(xié)議越來越復雜,協(xié)議一致性測試工作遇到了很多困難。在實 際測試中,一致性測試通過并不能保證互操作測試一定可以通過。所以互操作性測試相關研 究越來越受到重視。雖然互操作性測試目前還未制定國際標準,但是中國以及ETSI、ITU-T 、ISO等國際組織都開展了相應的研究工作,具體成果有:①ETSI TS 102 237“互操作測試方法和途徑”;ETSI TS 202 237“互操作測試方法”;②ITU-T正在完善ITU-T Z.itfm“互操作測試框架和方法”;③ISO正在許多協(xié)議簇中增加互操作測試;④“中國通信行業(yè)標準YD/T1521-2006路由協(xié)議互操作性測試 方法”該標準主要是信息產(chǎn)業(yè) 部電信研究院、華為技術有限公司、中興通訊股份有限公司參與起草,由中華人民共和國信 息產(chǎn)業(yè)部發(fā)布。

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

            3、協(xié)議一致性測試與互操作性測試技術

            一個協(xié)議實現(xiàn)或系統(tǒng)能否通過一致性測試和互操作性測試是它能否與其它實現(xiàn)成功互連互通 的重要保障,因此對協(xié)議實現(xiàn)進行一致性測試和互操作性測試是非常重要的。





            3.1 協(xié)議一致性測試技術

            ISO/IEC 9646對一致性定義如下:“一個一致性的實現(xiàn)應滿足靜態(tài)一致性需求 和動態(tài)一致性需求,并與協(xié)議實現(xiàn)一致性聲明(Protocol Implementation Conformance St atements,PICS)中所聲明的功能相符合。” 一致性測試主要是確定被測實現(xiàn)(Implement ation Under Test,IUT)是否與標準規(guī)定一致。通常利用一組測試案例序列,在一定的網(wǎng) 絡環(huán)境下,對被測實現(xiàn)進行黑盒測試,通過比較IUT的實際輸出與預期輸出的異同,判定IUT 是否與協(xié)議描述相一致。一致性測試拓撲結構如圖1。表現(xiàn)一致性測試的重要特征是:①被測系統(tǒng)(System Under Test,SUT)或被測實現(xiàn)定義測試邊界;②測試由一個能夠完全控制SUT和擁有觀察SUT所有通信能力的專門測試系統(tǒng)實施;③測試在開方式標準接口上 執(zhí)行,也就是說接口指定在協(xié)議級。

            根據(jù)ITU-T X.290系列ISO/IEC-9646定義的一致性測試方法,測試標準主要包括五部分:①測試套結構和測試目的(Test Suite Structure and Test Purposes,TSS&TP):由相關標 準而得。它們?yōu)槊總€測試提供一個非正式易讀的描述,集中于測試意圖而不是如何實現(xiàn)。他 們通常在協(xié)議層上定義;②抽象測試套(Abstract Test Suite,ATS):是測試例的集合,測試例通過測試描述語言(如 TTCN、XML)描述;③協(xié)議實現(xiàn)一致性說明(PICS):PICS說明被測實施的要求、能力及選項實現(xiàn)的情況;④協(xié)議實施附加信息(Protocol Implementation eXtra Information for Testing,PIXIT):PIXIT提供測試必須的協(xié)議參數(shù)(例如特殊地址、計時器值等);⑤可執(zhí)行測試套(Executable Test Suite,ETS):可以通過ATS簡單快速的生成。協(xié)議一致性測試采用的工作流程如圖2,其測試步驟如下:①靜態(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é)議一致性測試報告記錄了所有測試案例的測試結果:成功(PASS)、失敗( FAIL)、不確定(INCONCLUSIVE)。 

            3.2 協(xié)議互操作性測試技術

            目前互操作性測試沒有標準定義,通常用于研發(fā)階段多廠商準正式測試或者運營商的選型測 試中。互操作測試評估被測實現(xiàn)與相連接相似實現(xiàn)之間在網(wǎng)絡操作環(huán)境中交互能力,并且完 成協(xié)議標準中規(guī)定的功能,從而確定被測設備是否支持所需要的功能。

            在互操作測試中,被采用最多的形式是測試單位選擇經(jīng)一致性操作和互操作測試認可設備來 與被測設備進行互操作測試。互操作性測試拓撲結構如圖3。表現(xiàn)互操作性測試的重要特征 是:①認可設備(Qualified Equipment, QE)和被測設備(Equipment Under Test,EUT) 來自不 同廠商(至少不同生產(chǎn)線)共同定義測試邊界。二者可能是終端設備、網(wǎng)絡設備或者應用軟 件,也可能是一個單獨設備或者若干設備組合;②互操作性測試基于用戶期望的功能,并由用戶控制并觀察測試結果。用戶(Test Driver) 可以是人工操作也可以是軟件程序;③互操作性測試在功能性接口上執(zhí)行和觀察,也就是說接口沒有指定在協(xié)議級而是功能級上 。這些接口包括人機接口(Man-Machine Interfaces,MMIs)、協(xié)議設備接口(protocol ser vice interfaces)、應用程序接口(Application Programming Interfaces , APIs)。

            互操作測試過程除了測試使用規(guī)范、測試設備和測試驅動與一致性測試不同以外,其它基本 與一致性測試類似。互操作測試過程主要包括兩個部分:①開發(fā)互操作測試規(guī)范過程,通常由互操作者根據(jù)測試功能要點進行制定。該過程主要包 括以下內容:指定抽象測試架構、準備互操作特征聲明(Interoperable Features Statemen t, IFS)草稿、聲明測試套架構(Test Suite Structure, TSS)、寫測試目的、寫測試例、IF S定案;

            ②測試過程,主要包括以下內容:準備測試、具體測試、測試報告。




            3.3 協(xié)議一致性測試與互操作性測試的比較

            一致性測試和互操作測試都是測試協(xié)議實現(xiàn)重要而有效的方法,在某種程度上可以相互驗證,但二者并不是完全一樣,主要差異在于:

            ①測試目的不同,一致性測試是確定被測實現(xiàn)是否與標準規(guī)定一致,而互操作測試是確定被 測設備之間基于某一協(xié)議的交互能力;②測試對象不同,一致性測試的對象是設備或者系統(tǒng)。而互操作測試的對象是設備;③測試級別不同,一致性測試是在協(xié)議 級.而互操作測試是在功能級;④測試效果不同,一致性測試適用所有協(xié)議實現(xiàn),而互操作測試主要適用于被測設備。

            實際測試中,一致性測試通過并不能保證互操作測試一定可以通過。具體原因表現(xiàn)在三方面 :①標準方面:標準中錯誤與含糊內容;標準本身的兼容性問題;②實施方面:人為錯誤(如編程錯誤);對于標準理解不同;標準本身允許不同選項;③技術方 面:通信網(wǎng)絡使用不同流量策略;設備兼容性問題;設備配置問題。 

            互操作測試可以證實被測系統(tǒng)中不同設備之間的互操作能力,但不能證實設備是否符合標準 。一致性測試可以證實設備是否符合標準,但不能保證設備之間可以互相通信。故此,互操 作測試不可能替代一致性測試,在互操作測試前必須首先進行一致性測試。一致性測試和互 操作測試是互為驗證、互為補充的關系,只有把兩者合理地結合才能完成完整的協(xié)議測試。

            4、結束語

            自90年代協(xié)議測試技術發(fā)展以來,協(xié)議測試技術得到了廣泛的應用。隨著計算機網(wǎng)絡發(fā)展特 別是開放型異構網(wǎng)絡的迅猛發(fā)展,協(xié)議測試理論和技術的研究將更加重要。協(xié)議測試并非本 文描述的那么簡單,在實際測試中需要針對測試例研究測試算法和理論。我認為隨著互操作 性測試優(yōu)越性的體現(xiàn),互操作性測試的研究將越來越重要。基于一致性測試與互操作性測試 的關系,將二者結合進行協(xié)議測試也有待進一步研究。


          posted on 2012-08-31 10:16 順其自然EVO 閱讀(360) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 海伦市| 盈江县| 济源市| 天气| 即墨市| 烟台市| 当雄县| 黄龙县| 沂源县| 特克斯县| 冷水江市| 绥滨县| 喜德县| 本溪市| 扎鲁特旗| 宁强县| 民丰县| 安西县| 玉门市| 台中县| 隆子县| 聂荣县| 凌云县| 镇巴县| 邛崃市| 平顶山市| 依兰县| 三河市| 交城县| 牙克石市| 德江县| 新巴尔虎右旗| 北川| 无为县| 廊坊市| 磐安县| 会东县| 军事| 宁津县| 马公市| 密云县|