999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

通信協議一致性測試研究

2013-10-17 05:24:24馬曉奇
機電設備 2013年3期
關鍵詞:一致性方法

馬曉奇

●(遼寧省電力有限公司,沈陽 110005)

通信協議一致性測試研究

馬曉奇

●(遼寧省電力有限公司,沈陽 110005)

隨著計算機網絡的發展,通信協議的測試越來越重要。雖然已經對此做了大量的研究,但是仍然沒有給出系統有效的解決辦法。通信協議的一致性測試是通信協議測試中最重要的部分。介紹了通信協議一致性測試的主要通用方法和測試過程,概括論述了通信協議的一致性測試體系,詳細分析其生成測試序列的常用方法,同時指明了它們之間的關系。這能為通信協議一致性測試的實施提供指導作用。

通信協議;一致性測試;測試序列

0 引言

通信協議是建立在互聯網體系和分布式系統各通信端實體之間進行信息交流時應遵循的通用法則。互聯網技術、計算機技術和通信技術的快速發展,促使通信網絡趨向龐大,通信協議趨向復雜。為了確保各通信實體之間穩定可靠地開展通信,有必要對通信協議的一致性進行系統測試。一致性測試就是測定實現 IUT(Implementation Under Test)在網絡系統中的接收和發送信息是否與標準規定一致。通常利用一組測試案例序列,在一定的網絡環境下,對被測實體進行黑盒測試是否與協議描述相一致,采用的測試拓撲見圖1所示。

一致性測試過程可大致分為三個階段:首先是測試生成階段,該階段針對特定協議,形成獨立于其他協議的抽象測試集;其次是測試實現過程,該過程將抽象測試集進行適應性轉換,使其能在正常系統上運行,也就是測試例;最后就是測試執行過程,通過在特定的IUT上運行測試例,并分析其外部行為是否符合標準,并給予合理的判決。

圖1 測試拓撲結構

1 原理簡介

通信協議一般用文本描述,這樣通俗易懂,不過容易出現理解的二義性。也就是執行人員對文本描述會有不同的理解,可能出現不同的協議實現,也極有可能出現錯誤的實現。因此,有必要在進行協議的一致性測試之前,繼續對協議進行規范化的描述。規范化描述技術種類很多,受到認可的有有限狀態機、Petri網、進程代數、時序邏輯和構造類別代數等[4]。本文主要介紹有限狀態機模型。

FSM(Finit State Machin)即有限狀態機,它是用來規范通信協議時使用最普遍的數學模型之一,具有可操作性強、方便與其它方法匹配使用,以及易于自動實現等優點。一個FSM形式定義為六元組:

M=(Q, Σ, Δ, δ, λ, q0)

式中,Q={q0, q1, …, qn}代表有限狀態集合;Σ={σ1, σ2, …, σm}代表有限輸入字符集合;Δ={a1, a2, …, ar}代表有限輸出字符集合;Δ:Q×Σ→Δ代表狀態轉移函數;λ:Q×Σ→Q代表輸出函數;q0∈Q代表初始狀態。

無論什么時候,FSM均會有一個確定的狀態,且可以通過零個或多個變遷轉變為其它狀態。采用FSM形式化的通信協議,產生變遷的操作有很多,包括每一幀信息的外發和內接,定時器超出時間或有中斷信號等。使用FSM進行通信協議的描述式,可以使用有向圖簡化模型清晰描述,把任一狀態作為一個節點,把任一變遷作為一個方向弧,即可形成有向圖。而初始狀態會事先由一個特殊狀態來充當。該特殊狀態作為開始運行時的情況,抑或運行過程中某個方面的起始點。一般起始于初始狀態之后,經過合理變遷,即可跳躍到設定或者全部的系統狀態。通常使用圖論技術,分析哪些狀態是可變遷到的,哪些是無法實現的。這個過程也稱作可達性分析,通過這些分析可以測定協議狀態的覆蓋率。

上面已經提到,我們可以通過一個有向圖 G=(V, E)來清晰描述一個 FSM,其中 V={v1, v2, …, vn}用來代表FSM的有限狀態機Q,而用于代表FSM的有效變遷集合,也即是∈ E表示從狀態νi變遷狀態νk,其中iik/oik表示變遷的輸入/輸出事件。

圖2是一個具有4個狀態例程的FSM有向圖。

圖2 FSM有向圖示例

2 一致性測試體系

測試方法分為本地測試法、協調測試法、分布測試法和遠程測試法四種。其中本地測試法適用在產品內部測試,由于大多數的IUT不提供本地測試接口,所以這種測試法只是一種概念上的測試結構。現在的一致性測試多是由第三方負責,而第三方大多采用外部測試。其中常用的外部測試方式包括分布式測試、協調測試和遠程測試等。而執行外部測試必須遵守通行協議,比如測試管理協議TMP (Test Management Protocol) 等,來協調測試和定義測試交互進程。

2.1 本地測試法

本地測試法是和傳統的軟件測試相提并論的,使用該方法測試,要求執行系統的上下層測試器和IUT在同一臺主機上完成。連接方式是:上層測試器和IUT的上接口連接,而下層測試器和IUT下接口連接。目的即是通過上下測試器在IUT上下接口處進行事件交換,而驗證IUT的行為是否規范。測試的協調過程主要是統一協調上下測試器在IUT的上下接口的測試動作,測試框圖見圖3。

圖3 本地測試方法框圖

使用本地測試法有很多優勢,包括測試過程不受底層通信系統的限制,同時,上下測試器的測試協同過程可以簡易地完成[2]。缺點是被測協議在和上層協議以及下層協議之間都需要一個控制觀察點PCO(Point of Control and Observe),對測試者的專業程度要求高,必須精通協議系統,并且了解和熟悉上下層協議之間的交互過程,否則,是無法正確設立PCO的。

2.2 分布測試法

分布測試法有一定限制,比如遇到IUT的底部不能提供開放的接口等,這時可以使用分布測試法。分布測試法通常將上下層測試器分別置入兩臺獨立的機器上,這要求比較完善的協調控制過程。它的一個明顯缺陷是,當下層測試器借助(N-1)服務向IUT傳送一個測試用例,而這個過程有可能受外界影響被耽擱或者數據丟失,該測試用例無法正確到達,不過這不影響下一個測試用例的傳送。當下一個測試用例準確到達并得到響應時,IUT就顯而易見地進入錯誤狀態,最終導致上下層測試器在執行測試用例時,出現失調的情況。通常,我們可以用恢復協調的測試方案,在出錯的位置合理解決失調問題。從以上可以看出,分布測試法受到被測協議本身具有的協調機制的限制。分布測試法框圖見圖4。

圖4 分布測試法框圖

2.3 協調測試法

協調測試法與分布式測試法一樣,IUT的底部也無法獲得開放的接口,但與分布式測試法的主要區別在于,IUT的上部不需要有開放的界面,而是TMP(Test Management Protocol)用來協同或者同步上下層測試器,最后只需要借助交換測試管理數據單元TMPDU(Test Management Protocol Data Unit),實現自主測試管理和協調。

使用協調測試法,上層測試器處于從屬地位,受到下層測試器和IUT的約束,下層測試器則起主要作用。這是四種測試法中最高級的一種方法(圖5)。上、下層測試器間較易協調,上層測試器用到的測試用例,可由下層測試器傳送于它,并在接到測試用例后,根據TMP的相關要求,再反饋給下層測試器,進行測試的判斷。

圖5 協調測試法框圖

協調測試法和分布測試法相比,存在不能協同的問題。通過引入TMP模塊,合理解決了分布式測試法中這個問題。但同時也帶來了更高的系統復雜性。

2.4 遠程測試法

在測試過程中,測試者遇到特殊情況,會將IUT放入到一個復雜的系統,但該復雜系統不支持UT,由于沒有UT,因此不需要UT和LT之間的協同。這樣IUT的上下層都沒有開放的界面,又ASP(Abstracr Service Primitives)沒有TMP的情況下,引入了遠程測試法,如圖6所示。下層測試器通過,抽象服務原語)和IUT進行通信,并借助由N層的協議數據單元(PUD)接收反饋的信息實現,并由此做出測試的判斷。

圖6 遠程測試法框圖

遠程測試法的主要優勢是不用關注協議實現,而僅僅借助協議說明,來觀察IUT是否實現協議規定。缺點是由于底層一些協議不會給出可以判定的反饋。

3 測試序列生成和執行

3.1 測試序列的生成

協議測試方法中最主要的工作就是生成測試序列。對于協議測試來說,最佳的測試序列應在滿足測試序列路徑最大覆蓋率的條件下,并同時要求測試序列最短。現今,在FSM基礎上形成的規范化方法有多種,其中常見的包括:1)T方法(Transition Tour Method),通常也叫做周游法;2)D方法(Distinguishing Seguences),通常也叫做區分序列法;3)W方法(Charactrting Seguences),通常也叫做特征序列法;而比較特殊的U方法,是采用唯一輸入/輸出序列UIO(Unigue Input/ utput Seguences)進行狀態檢測的方法。

3.1.1 T方法

T方法的基本思路是首先開始于FSM的初始狀態,而完整地遍歷FSM的每個變遷,執行完畢后返回到初始狀態。可以看出,T方法是最簡便實用的一種測試方法,并且測試序列長度短。不過,它的檢測能力有限。

3.1.2 D方法

使用D方法之初,必須針對FSM構造一個區分序列DS(Distinguishing Sequence),再使用生成的DS構建測試輸入序列。D方法的主要優點是能發現故障點[4],不足之處是能夠產生的測試輸入序列數量不多,并且不能保證每一個FSM都存在區分序列,如果使用序列優化方法,必將增加難度,并且又因序列長度比較長,所以D方法應用受到限制。

3.1.3 W方法

W方法是在D方法基礎上進行改進,并且通過FSM的狀態識別集構建測試輸入序列。通常而言,只要 FSM足夠精簡即可求出其狀態識別集。W方法要使用2個輸入序列集W和P。其中,W集代表FSM最小的特征集,確保任意兩個狀態能夠互相區分;P集用來代表完整的部分路徑,一般通過一個測試樹構成。其初始狀態通常是根節點,對每個變遷僅遍歷一次。W 方法所表現出的優勢在于,對任意協議的FSM而言,總是可求出W集,因此具有很好的通用性。不足之處仍是產生的測試序列太長。在實際的復雜系統中很難使用。

3.1.4 U方法

UIO序列是建立在區分序列和特征序列之上的一個子集。因此可以看出,U方法產生的測試序列相對于W方法等要短很多,并且同時有很強的檢錯能力,也是基于FSM 測試序列生成方式中普遍采用的方法。不過,并非全部的FSM均可求出其UIO,如果無法獲得UIO,也將不能構建測試輸入序列。不過,目前學者已經提出了多種對UIO的改進方法,取得良好效果。

3.2 抽象測試集的生成

在開展測試時,首先要明確測試目標,而后根據目標分解測試序列,最終得到每一個測試目標的測試子序列。接下來對每一個測試子序列,獲得其明確的測試點(包括測試起始狀態、結束狀態和不同變遷等),而后分割測試子序列,其整個序列段三個部分,包括前測試步序列,從子序列的起始位置到下一個測試點的初始位置。當完成測試驅動和狀態驗證之后,仍有一部分子序列剩余,通常這部分叫做測試體序列。當測試序列運行到最后狀態時,使用后測試步序列將測試協議轉變到原來的初始狀態[5]。將整個過程的三個測試序列整合,即可實現某一測試點的整體測試用例。如果對每個測試點都構造測試用例,綜合起來即能夠組合成抽象測試集。

3.3 測試的實現和執行

獲得抽象測試集后,仍要在測試系統上求出可執行測試集,而后,將可執行測試集應用于一個特定的IUT,并對其作出一致性判斷。通常將測試執行過程劃分成兩個階段:第一個階段是靜態一致性需求檢查,這步是依照協議標準的靜態一致性需求,從而檢測IUT;第二個階段,是通過在測試器運行可執行測集,來驗證和分析IUT對動態一致性要求的滿足程度,每個測試例有三種可能的判斷結果,分別是通過、失敗或不確定。最后,需要綜合兩方面的因素,一是靜態一致性檢查結果,二是所有的測試例的運行判定結果,而后進行分析,給出合理的有關IUT的一致性判決。而只有全部的測試都是通過的,對IUT最終的判決才會是通過[6]。

4 結束語

本文分析了協議測試一致性的主要流程,并介紹了各步驟中常用的實現方法,闡述了它們各自的特點和適用場合。隨著計算機網絡的發展,通信協議也變得越來越復雜,這樣使得協議的一致性測試更加困難,隨著而來的還有測試的效率和測試自動化的問題。如何去有效地解決這些問題,就是將要面臨的機遇和挑戰。

[1]呂欣巖, 趙保華, 屈玉貴. 基于形式規范的協議一致性測試的可靠性分析[J]. 電子與信息學報, 2007, 29(4): 781-785.

[2]魏仰蘇, 孟兆航, 舒挺. 通信協議一致性測試序列自動生成算法研究[J]. 計算機工程與設計, 2007, 28(10): 2312-2315.

[3]張玉軍, 李忠誠, 鄭紅霞, 等. 應用于計算機網絡協議一致性測試的傳輸機制[J]. 計算機研究與發展, 2003, 30(13): 102-108.

[4]朱雪峰, 許建, 鄒彪, 等. 網絡協議一致性測試研究綜述[J]. 計算機科學,2009, 36(12): 5-11.

[5]文昌辭, 王昭順. 軟件測試自動化靜態分析研究[J].計算機工程與設計, 2005, 26(4): 987-991.

[6]落紅衛. 協議測試技術分析[J]. 電信網技術,2007, 3(3): 57-64.

Study on Conformance Testing of Communication Protocol

MA Xiao-qi
(Liaoning Electric Power Company Limited, Liaoning Shenyang 110005, China)

With the development of the computer networks, the testing of communication protocol is more and more important. Although a lot of studies have been done on this subject, there are still no systematic effective solutions. The communication protocol conformance testing is the most important part of communication protocol testing. The general steps of communication protocol conformance testing and main common method are introduced, and the communication protocol conformance testing system is summarized, and the basic method of producing test sequences is briefly analyzed. At the same time, the relations between them are designated. This can provide guidance for the implementation of the communication protocol conformance test.

communication protocol; conformance testing; test sequences

TN915.04

A

馬曉奇(1961-),男,高級工程師。研究方向:電能計量及用電信息采集。

猜你喜歡
一致性方法
關注減污降碳協同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
注重教、學、評一致性 提高一輪復習效率
對歷史課堂教、學、評一體化(一致性)的幾點探討
IOl-master 700和Pentacam測量Kappa角一致性分析
學習方法
ONVIF的全新主張:一致性及最訪問控制的Profile A
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
基于事件觸發的多智能體輸入飽和一致性控制
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 国产精品福利导航| 日本影院一区| 亚洲国产日韩欧美在线| 影音先锋亚洲无码| 91麻豆久久久| 国产区成人精品视频| hezyo加勒比一区二区三区| 国精品91人妻无码一区二区三区| 国产 在线视频无码| 亚洲性视频网站| 成人无码区免费视频网站蜜臀| 国产成人精品高清在线| 欧美精品一区二区三区中文字幕| 亚洲一区无码在线| 国国产a国产片免费麻豆| 日本人妻丰满熟妇区| 91精品国产福利| 91精品国产自产在线观看| 免费毛片全部不收费的| 成年免费在线观看| 国产一级妓女av网站| av大片在线无码免费| 91青青草视频| 亚洲女同一区二区| 欧美一道本| 91成人在线免费视频| 在线观看亚洲天堂| 全部免费毛片免费播放| 九九热在线视频| 99免费视频观看| 丁香综合在线| 亚洲综合18p| 精品人妻AV区| 精品一区二区无码av| 欧美精品伊人久久| 国产毛片片精品天天看视频| 在线国产欧美| 国产精品三级av及在线观看| 日本午夜三级| 欧美19综合中文字幕| 亚洲精品图区| 99热这里只有精品2| 国产青榴视频| 国产精品免费露脸视频| 国产性生大片免费观看性欧美| 欧美亚洲欧美区| 九九久久99精品| 成人av专区精品无码国产| 无码网站免费观看| 欧美成人免费午夜全| 午夜欧美理论2019理论| 亚洲色无码专线精品观看| 波多野结衣AV无码久久一区| 国内精自视频品线一二区| 一级看片免费视频| 成人欧美在线观看| 草草影院国产第一页| 国产va视频| 超碰91免费人妻| 欧美啪啪精品| 亚洲伊人天堂| 尤物特级无码毛片免费| 波多野吉衣一区二区三区av| 成人毛片在线播放| 久99久热只有精品国产15| 青青草国产免费国产| 欧美h在线观看| 91精品伊人久久大香线蕉| 99国产在线视频| 97色婷婷成人综合在线观看| 国产精品一区二区国产主播| 人妻21p大胆| 日韩A级毛片一区二区三区| 国产成人精品亚洲77美色| 日本精品视频一区二区| 亚洲无码视频一区二区三区| 国产91九色在线播放| 婷婷午夜影院| 国产精品99久久久| 一区二区理伦视频| 亚洲天堂成人| 欧美日韩国产在线观看一区二区三区 |