一致性測試是協定測試的一個重要方面,是性能測試、互操作性測試和健壯性測試的基礎,是協定開發人員首要關心的問題。
一致性測試旨在檢驗所實現的協定實體(或系統)與協定規範的符合程度(而驗證則是檢查形式化規範的內部一致性),即測試一個協定給定實現的外部行為是否符合協定的規範。
基本介紹
- 中文名:一致性測試
- 外文名:conformance testing
背景介紹,簡介,測試流程,一致性測試與互操作測試優缺點及關係,
背景介紹
隨著通信技術的快速發展,網路之間的互聯互通以及通信業務越來越依賴通信協定的發展。可以說,通信系統的正常運行和通信業務的順利開展,首要就是取決於協定軟體是否滿足協定規範的要求,所以必須進行專門的協定測試加以保證。
協定測試技術的目的就是保證通信協定正確實現以及確保不同的通信設備之間可以正確互聯。在通信測試中,一致性測試僅僅是一種黑盒測試,它並不檢查協定代碼,而是按照協定標準,通過控制觀察被測協定實現的外部行為對其進行評價。
簡介
一致性測試主要是確定被測實現是否與標準規定一致。通常利用一組測試案例序列,在一定的網路環境下,對被測實現進行黑盒測試,通過比較IUT的實際輸出與預期輸出的異同. 判定IUT是否與協定描述相一致。
測試流程
根據ITU-T X.290系列ISO/IEC-9646定義的一致性測試方法,測試標準包含三部分:抽象測試集(ATS)、協定實現一致性說明(PICS)和協定實施附加信息(PIXIT)。可執行測試集(ETS)在以上三部分的基礎上生成。 ATS規定某一標準協定的測試目的、測試內容和測試步驟;PICS說明實施的要求、能力及選項實現的情況;;PIXIT提供測試必須的協定參數。其測試步驟如下:
首先是靜態測試:測試儀讀取PICS/PIXIT檔案檔案並根據協定標準進行靜態測試,檢查IUT參數說明是否符合標準。
其次是動態測試:測試儀根據PICS/PIXIT檔案和ATS生成ETS,然後執行ETS對IUT進行激勵/ 回響測試。具體採用的測試類型包括:本地測試方式、分散式測試方式、協同測試方式和遠程測試方式。
最後是測試報告:對測試執行產生的測試記錄檔案進行分析, 按照測試報告描述規格生成一致性測試報告。協定一致性測試報告記錄了所有測試案例的測試結果: 成功(PASS)、失敗(FAIL)、不確定(INCONCLUSIVE)。
一致性測試與互操作測試優缺點及關係
一致性測試和互操作測試都是測試協定實現重要而有效的方法,在某種程度上可以相互驗證,但二者並是完全一樣。首先, 測試目的不同,一致性測試是確定被測實現是否與標準規定一致,而互操作測試是確定被測設備是否完成要求的功能;其次,測試對象不同,一致性測試的對象是設備或者系統,而互操作測試的對象是設備;再次,測試級別不同,一致性測試是在協定級,而互操作測試是在功能級;最後,測試效果不同,一致性測試適用所有被測實現,而互操作測試主要適用於被測設備之間。
實際測試中,一致性測試通過也並不能保證互操作測試一定可以通過。最根本的原因是一致性測試使用標準規定的絕對完整和正確是不現實的,其中也包含各個標準制定人/ 制定單位理解不同與利益妥協的問題。具體表現如下:
1、標準方面:標準中錯誤與含糊內容; 標準本身的兼容性問題。
2、實施方面:人為錯誤( 如編程錯誤) 對於通信標準不同理解;標準本身允許不同選項。
3、技術方面:通信網路使用不同流量策略; 設備兼容性問題; 設備配置問題。
當然,互操作測試僅僅可以證實被測系統中不同設備之間的互操作能力,而不能證實設備是否符合標準,因為互操作測試根本就不關心協定細節。故此,互操作測試不可能替代一致性測試。其實,一致性測試和互操作測試是互為驗證、互為補充的關係,只有把兩者合理地結合才能完成完整的協定測試。