亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于自定義通信協(xié)議的動態(tài)測試技術研究

        2019-12-13 07:22:50葛澤文胡兆華
        數(shù)字技術與應用 2019年9期

        葛澤文 胡兆華

        摘要:本文針對受安全性限制的自定義通信協(xié)議的動態(tài)測試難題,通過對協(xié)議的特征進行分析,研究協(xié)議動態(tài)測試通用技術,從協(xié)議模板定義、用例生成、動態(tài)交互、即時調用三方庫等方面進行方法研究。找到了解決自定義通信協(xié)議動態(tài)測試問題的方法,并且該方法通用于所有協(xié)議的測試應用。

        關鍵詞:自定義通信協(xié)議;動態(tài)測試;協(xié)議模板;用例自動生成

        中圖分類號:TP273 文獻標識碼:A 文章編號:1007-9416(2019)09-0090-03

        0 引言

        一些涉及安全性的行業(yè),其定義的通信協(xié)議一般具有特殊的安全性要求,協(xié)議中采用了受控的安全機制,協(xié)議功能和性能測試無法直接通過通用測試工具來構造,只能屏蔽被測產品安全特性及處理流程來實現(xiàn),并且構造測試數(shù)據(jù)非常因難,測試覆蓋也不充分。針對自定義通信協(xié)議存在的測試問題主要有以下幾個方面:(1)協(xié)議功能動態(tài)測試,目前只能采用靜態(tài)分析和代碼跟蹤,效率低,且只能覆蓋部分功能需求。(2)協(xié)議并發(fā)性能測試,需要被測設備修改程序、取消諸如抗重放等機制的檢查,固化參與協(xié)議過程的臨時參數(shù)等,導致測試場景與生產場景差異巨大。(3)協(xié)議承載的業(yè)務測試,對陪測設備類型和數(shù)量的依賴非常大,導致測試效率差。

        因此,需要研究協(xié)議動態(tài)測試方法和工具套件,以解決自定義通信協(xié)議動態(tài)測試問題,并發(fā)數(shù)據(jù)構造問題,模擬測試配套設備問題。

        1 協(xié)議測試分析

        自定義通信協(xié)議一般具有專用性,安全機制受限[1],承載于各類通信信道等特點。(1)自定義協(xié)議格式種類多,不同設備或不同系統(tǒng)可能都不同。需要考慮測試技術通用性,不同協(xié)議均能采同一種動態(tài)測試方法(協(xié)議模板化[2])進行構造。(2)安全性機制受限,要考慮協(xié)議個性,需要將安全機制涉及模塊形成第三方方法庫,以便支持不同安全機制的靈活擴展。(3)承載通信信道或承載通信協(xié)議多種多樣,需要支持多各類信道或承載協(xié)議擴展。

        2 協(xié)議動態(tài)測試模型研究

        協(xié)議動態(tài)測試由通信雙方實體(測試端和被測端)構成,測試端根據(jù)協(xié)議模板和用例控制與被測端實施動態(tài)測試業(yè)務,并統(tǒng)計結果形成測試報告。協(xié)議動態(tài)測試模型見圖1。

        主要完成以下四個部分功能:(1)協(xié)議解析和構造,依據(jù)協(xié)議模板和協(xié)議用例完成協(xié)議發(fā)送數(shù)據(jù)構造和接收數(shù)據(jù)解決,并進行字段用例預期檢查;(2)協(xié)議流程的控制,依據(jù)協(xié)議模板控制協(xié)議交互流程,調度解析/構造模塊,并進行流程用例預期檢查;(3)測試業(yè)務的調度,依據(jù)協(xié)議模板中流程定義和字段定義生成用例數(shù)據(jù);根據(jù)單次用例調度流程控制、通道控制和代理執(zhí)行測試業(yè)務,并收集測試結果;(4)收發(fā)通道的選取和驅動,支持各層次通道的選取和驅動,如以太網、IP、TCP、串口等。支持對多實例共享或獨占通道。

        其中,協(xié)議解析和構造部分,根據(jù)模板完成協(xié)議消息數(shù)據(jù)生成和接收,并根據(jù)模板調用三方庫完成協(xié)議字段數(shù)據(jù)動態(tài)生成和解析。如圖2所示。

        2.1 協(xié)議動態(tài)測試流程

        依據(jù)定義的協(xié)議模板自動生成數(shù)據(jù)包,根據(jù)配置承載通道進行數(shù)據(jù)發(fā)送、接收數(shù)據(jù)解析、預期結果檢查、測試報告生成等操作。測試流程如圖3所示。

        在協(xié)議測試過程中,構造用例對交互協(xié)議進行動態(tài)測試,確認協(xié)議數(shù)據(jù)字段處理是否與定義要求一致。具體測試活動流程如下:

        (1)協(xié)議模板定義。1)協(xié)議交互定義:定義協(xié)議完整的交互流程,測試端發(fā)送的協(xié)議消息(如申請)和接收解析的協(xié)議消息(如響應),及組成關系(如根據(jù)接收包內容不同,組織不同消息發(fā)送)。2)協(xié)議交互包格式定義:定義消息中涉及的字段及組成關系。3)字段屬性定義:含協(xié)議字段本身的要素信息(含字段依賴:協(xié)議包內部和外部的依賴關系)和測試管理要素(取值方法,存儲方法、檢查點等)。

        (2)測試預期設置。通過設置字段預期,作為協(xié)議字段數(shù)據(jù)解析后比對基準,形成檢查點(含協(xié)議流程預期設置)。

        (3)生成測試用例。將定義的協(xié)議模板(含外部導入的預置數(shù)據(jù)、字段構造的用例值)和預置的檢查點等形成用例套件,供協(xié)議數(shù)據(jù)解析時自動進行測試(含協(xié)議流程用例)。

        (4)協(xié)議動態(tài)交互??刂贫思虞d協(xié)議模板生成的用例套件,控制測試端與被測端進行協(xié)議交互測試:

        1)按配置通道進行消息發(fā)送和接收:協(xié)議控制層將數(shù)據(jù)交由發(fā)送模塊,接收模塊接收數(shù)據(jù)交協(xié)議控制層,協(xié)議控制層控制消息的動態(tài)交互;2)發(fā)送消息生成:按模板生成發(fā)送數(shù)據(jù),構造的用例數(shù)據(jù)和需要動態(tài)生成的數(shù)據(jù),即時調用相應三方庫處理后,形成協(xié)議發(fā)送消息數(shù)據(jù);3)接收消息解析:按模板解析數(shù)據(jù),存儲相應數(shù)據(jù)供后續(xù)解析過程使用,按模板即時調用相應三方庫處理,并進行比對檢查和進行下一消息動態(tài)生成。

        (5)生成測試報告。協(xié)議數(shù)據(jù)交互過程中,根據(jù)用例套件中涉及的檢查點(含響應消息接收失敗)比對結果輸出測試報告。

        2.2 協(xié)議靜態(tài)分析流程

        根據(jù)自定義的協(xié)議模板,可自動分析從數(shù)據(jù)包中提取的協(xié)議數(shù)據(jù),自動判斷數(shù)據(jù)包是否符合協(xié)議模板預期定義,并導出分析結果和報告。測試流程如圖4所示。

        設備涉及的各類自定義協(xié)議在測試過程中,對交互數(shù)據(jù)進行靜態(tài)解析驗證,確認協(xié)議數(shù)據(jù)封裝是否與定義要求一致。具體測試處理流程如下:

        (1)協(xié)議模板定義。1)協(xié)議流程定義:定義交互流程(格式),測試端發(fā)送的協(xié)議消息(如申請)和接收解析的協(xié)議消息(如響應)。2)協(xié)議格式(消息)定義:定義消息中涉及的字段及組成關系。3)字段屬性定義:定義協(xié)議字段本身的要素信息(含字段依賴:消息內部和消息外部)和測試管理要素(取值方法,存儲方法、檢查點等)。

        (2)字段預期設置。通過設置字段預期,作為協(xié)議字段數(shù)據(jù)解析后比對基準,形成檢查點。

        (3)生成測試用例。將協(xié)議模板定義和預置的檢查點組合形成用例套件,供協(xié)議數(shù)據(jù)解析時自動進行測試。

        (4)輸入數(shù)據(jù)解析??刂贫思虞d按模板生成的用例套件,對輸入協(xié)議數(shù)據(jù)進行解析:1)按模板解析數(shù)據(jù),與檢查點預置數(shù)據(jù)進行比對,并記錄結果。2)存儲供后續(xù)解析過程使用的字段內容。3)在協(xié)議分析過程中,按模板字段屬性方法及依賴數(shù)據(jù),自動調用三方庫進行處理。

        (5)生成測試報告。數(shù)據(jù)解析完成后,自動依據(jù)用例套件中涉及的檢查點比對結查輸出測試報告。

        3 協(xié)議動態(tài)測試關鍵技術研究

        3.1 協(xié)議模板按需定義

        根據(jù)被測協(xié)議具體要求,定義協(xié)議流程、協(xié)議格式、協(xié)議字段和字段依賴關系及處理方法(含外部算法調用),形成協(xié)議模板。協(xié)議模板定義如下:

        (1)協(xié)議消息條目定義。定義協(xié)議涉及的交互消息條目,控制消息申請、響應及其時序關系。

        (2)協(xié)議消息字段定義。根據(jù)接收消息特定字段取值,選擇模板定義分支或層次(子模板)。如協(xié)議通過類型字段區(qū)分,后續(xù)封裝數(shù)據(jù)不同定義子模板供選擇,如圖5所示。

        (3)協(xié)議字段依賴關系。主要涉及兩類字段依賴:1)消息內部,后面字段依賴前面字段取值,如B字段長度依賴A字段值來確定等。主要有值依賴、循環(huán)次數(shù)依賴及子模板依賴等,如圖6所示。2)消息外部,生成消息中存在字段依賴接收消息字段值(動態(tài)值)或外部輸入值(個性值)來參與三方(方法庫)處理后生成的動態(tài)值,如圖7所示。

        (4)用例和檢點嵌入。1)用例數(shù)據(jù)構造:如A字段取值,需從邊界、等價類等進行用例測試,該類例重復進行協(xié)議消息交互來進行驗證。模板中定義測試業(yè)務控制字來進協(xié)議控制調度。2)針對字段設定檢查點:并設預期值,控制協(xié)議交互中將調用檢查模塊進行對比確認并記錄,供生成測試報告。

        (5)子模板及字段數(shù)據(jù)處理方法外部擴展。1)子模板數(shù)據(jù)處理方法:自定義協(xié)議大多是分層處理,外層處理一般涉及多個字段處理之后,再進行外層處理。針對這類層次子模板也定義方法進行處理;2)字段數(shù)據(jù)處理方法:調用三方庫對數(shù)據(jù)進行生成處理或解析處理,主要涉及加密、解密、簽名、驗簽等,涉及依賴其他字段值需要存儲或從外部導入。

        3.2 協(xié)議測試數(shù)據(jù)動態(tài)處理

        根據(jù)模板定義組織協(xié)議交互流程場景;根據(jù)測試用例,在三方庫支持下,即時生成或解析協(xié)議消息數(shù)據(jù);按字段屬性處理(存儲、輸出、變換、比對等)字段數(shù)據(jù)。

        3.2.1 協(xié)議數(shù)據(jù)生成和解析

        協(xié)議數(shù)據(jù)生成同解析數(shù)據(jù),處理方式相反。主要涉及以下處理內容:(1)支持對變長字段處理;(2)支持字段依賴處理;(3)支持對接收字段依賴處理;(4)字段預期定義處理,預期格式功能用于判斷被測目標返回值是否符合用戶的預期。

        3.2.2 協(xié)議數(shù)據(jù)三方庫處理

        協(xié)議交互數(shù)據(jù)即時處理,除設計的收發(fā)場景外,即時根據(jù)字段屬性,依據(jù)當前數(shù)據(jù)條件,選擇處理方法,調用三方動態(tài)庫,快速生成所需數(shù)據(jù)。實現(xiàn)從庫建立階段定義方法,協(xié)議定義階段選擇方法,協(xié)議執(zhí)行階段調用方法,將對字段的處理方法統(tǒng)一形成三方庫,以便于靈活擴展。針對三方庫處理關系如圖8所示。

        4 協(xié)議動態(tài)測試應用場景

        4.1 協(xié)議動態(tài)測試

        用于驗證協(xié)議動態(tài)交互過程,構造數(shù)據(jù)測試被測設備或系統(tǒng)對協(xié)議字段的處理,驗證協(xié)議處理邏輯與協(xié)議規(guī)范的一致性。(1)針對每個字段構造數(shù)據(jù),驗證被測系統(tǒng)接收情況;(2)針對每個字段設置預期,檢查響應結果。

        4.2 協(xié)議靜態(tài)解析

        用于針對被測設備或系統(tǒng)涉及協(xié)議真實交互數(shù)據(jù)的靜態(tài)解析,驗證協(xié)議封裝和承載數(shù)據(jù)內容是否與被測對象設計要求一致。

        4.3 并發(fā)數(shù)據(jù)構造測試

        將協(xié)議動態(tài)交互形成一個用戶套件,并根據(jù)用戶個性數(shù)據(jù)生成多用戶協(xié)議業(yè)務,加載通道承載,形成并發(fā)測試場景,構造協(xié)議業(yè)務并發(fā)測試,驗證協(xié)議性能(含并發(fā)和業(yè)務性能)。

        5 結語

        由于自定義協(xié)議動態(tài)測試技術考慮了通用性和可擴展性等要素,適用于所有自定義協(xié)議動態(tài)功能和性能測試。能實現(xiàn)的測試目標包括:建立各類協(xié)議的功能基準測試;模擬真實的協(xié)議負載行為,測試設備或系統(tǒng)的協(xié)議性能;模擬陪測設備,建立更多測試場景。綜上所述,應用協(xié)議動態(tài)測試技術,在解決自定義協(xié)議動態(tài)測試問題的同時,可以提高測試業(yè)務的生產效率和質量。

        參考文獻

        [1] 戴宗坤.信息系統(tǒng)安全[M].電子工業(yè)出版社,2002.

        [2] 古樂,史九林.軟件測試技術概論[M].清華大學出版社,2004.

        Abstract:With the development of ?The Times,the level of world technological innovation is continuously improving,but the physical quality of people is declining with years.Therefore,physical exercises,the improvement of physical fitness is also the current national priority.For this reason,our team has developed an intelligent ?fitness platform used Convolutional Neural Network for image recognition process and Android platform as the client.People can run the software to identify,judge,and recorrect their movement,so as to achieve the same effects as the personal coach.

        Key words:Convolutional Neural Network;Image Recognition;movement teaching

        国产精品白浆无码流出| 吃奶呻吟打开双腿做受视频| 天天躁日日躁狠狠很躁| 99视频在线国产| 男男互吃大丁视频网站| 一区二区在线视频免费蜜桃| 免费观看羞羞视频网站| 成年男女免费视频网站| 亚洲日韩精品AⅤ片无码富二代| 久久亚洲免费精品视频| 久久久久成人精品无码中文字幕 | AV无码系列一区二区三区| 一区二区三区亚洲视频| 国产成人无码av| 精品乱码卡1卡2卡3免费开放| 激情文学人妻中文字幕| 亚洲一区二区三区国产| 久久久久久亚洲av无码蜜芽| 久久99欧美| 蜜桃色av一区二区三区麻豆| 亚洲天堂av三区四区不卡| 亚洲色丰满少妇高潮18p| 亚洲国产精品国语在线| 亚洲av色精品国产一区二区三区| 久久不见久久见免费视频6| 夫妇交换刺激做爰视频| jk制服黑色丝袜喷水视频国产| 大屁股流白浆一区二区三区| 中文字幕乱码无码人妻系列蜜桃| 日韩毛片在线看| 中文字幕亚洲精品一二三区| 狂猛欧美激情性xxxx大豆行情 | 国产va免费精品观看| 美女视频永久黄网站免费观看国产| 青青草小视频在线观看| 免费久久人人爽人人爽av| 国产成人无码A区在线观| 天堂av国产一区二区熟女人妻| 亚洲精品无码专区在线在线播放| 少妇激情av一区二区| 日韩人妻中文字幕一区二区|