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

        ?

        通用接口協(xié)議測(cè)試工具設(shè)計(jì)*

        2018-11-07 02:22:16易冬陽(yáng)韓春艷
        通信技術(shù) 2018年11期
        關(guān)鍵詞:測(cè)試工具狀態(tài)機(jī)測(cè)試用例

        趙 鑫,岳 青,易冬陽(yáng),韓春艷

        (成都國(guó)信安信息產(chǎn)業(yè)基地有限公司,四川 成都 610000)

        0 引 言

        接口測(cè)試是測(cè)試系統(tǒng)組件間接口的一種測(cè)試,主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測(cè)試的重點(diǎn)是要檢查數(shù)據(jù)的交換、傳遞和控制管理過(guò)程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。嵌入式系統(tǒng)在開(kāi)展接口測(cè)試和密碼綜合性測(cè)試時(shí)[1],主要受到兩個(gè)因素影響。一是被測(cè)接口的通信協(xié)議各異,發(fā)送和接收的協(xié)議數(shù)據(jù)需結(jié)合通信協(xié)議,人工逐個(gè)字節(jié)地比對(duì)協(xié)議數(shù)據(jù)內(nèi)容,才能清楚數(shù)據(jù)內(nèi)容含義,同時(shí)響應(yīng)數(shù)據(jù)需編寫(xiě)相應(yīng)的測(cè)試代碼進(jìn)行測(cè)試。該方式對(duì)測(cè)試人員專(zhuān)業(yè)編程設(shè)計(jì)能力有較高要求,同時(shí)受測(cè)試周期長(zhǎng)、測(cè)試資源占用率高的影響,對(duì)整體的測(cè)試任務(wù)形成了技術(shù)和效率瓶頸。二是被測(cè)系統(tǒng)的設(shè)備接口形態(tài)不同,更換被測(cè)設(shè)備需要同時(shí)更換測(cè)試設(shè)備,“一測(cè)一換”增加了測(cè)試的繁瑣度。

        通用接口協(xié)議測(cè)試工具以“一對(duì)多”“集成化”“自動(dòng)化”為目標(biāo),使用可配置的XML文件格式描述通信接口協(xié)議,并利用PXI總線易擴(kuò)展、熱插拔、高可靠性的特性進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了對(duì)E1、K、RS232C、RS422、USB3.0、以太網(wǎng)接口及相關(guān)協(xié)議的一致性測(cè)試和接口性能的可靠性測(cè)試。針對(duì)不同接口的測(cè)試,只需讀取配置完成的XML格式的接口協(xié)議和用例流程驅(qū)動(dòng)配置文件,就可進(jìn)行字節(jié)級(jí)別的協(xié)議數(shù)據(jù)解析和自動(dòng)應(yīng)答,整體壓縮了測(cè)試周期,簡(jiǎn)化了測(cè)試環(huán)境,突破了效率瓶頸。

        1 系統(tǒng)架構(gòu)

        通用接口協(xié)議測(cè)試工具總體分為三部分——上位機(jī)、下位機(jī)和接口驅(qū)動(dòng)程序。通用接口協(xié)議測(cè)試工具設(shè)計(jì)過(guò)程采用模塊化、層次化、可擴(kuò)展的設(shè)計(jì)理念,構(gòu)建了靈活開(kāi)放的技術(shù)體系架構(gòu)。當(dāng)后期新增測(cè)試對(duì)象時(shí),只需制作新接口模塊適配單元和編制新的協(xié)議,編寫(xiě)狀態(tài)機(jī)操作代碼,就可完成新接口的測(cè)試。工具系統(tǒng)架構(gòu)如圖1所示。

        圖1 工具系統(tǒng)架構(gòu)

        1.1 上位機(jī)設(shè)計(jì)

        上位機(jī)的運(yùn)行環(huán)境為Window7,運(yùn)行框架為.net FrameWork 4.0,采用C#語(yǔ)言開(kāi)發(fā)。上位機(jī)技術(shù)框架的選擇基于兩點(diǎn):一是Windows 7包含.NET Framework4.0托管代碼編程模型,上位機(jī)的運(yùn)行無(wú)需安裝其他Windows組件;二是C#是一種面向?qū)ο蟮恼Z(yǔ)言,可以用來(lái)構(gòu)建在.NET Framework上運(yùn)行的各種應(yīng)用程序。它與Windows軟件(Win32 DLL)交互,可以通過(guò)一個(gè)“互操作”的過(guò)程來(lái)實(shí)現(xiàn)。

        上位機(jī)總體分為5個(gè)部分——界面管理模塊、用例驅(qū)動(dòng)器、載荷生成器、協(xié)議解析器和結(jié)果分析器,模塊關(guān)系如圖2所示。

        圖2 上位機(jī)模塊關(guān)系

        上位機(jī)各模塊工作以用例驅(qū)動(dòng)器為核心。用例驅(qū)動(dòng)器、協(xié)議解析器、結(jié)果分析器三個(gè)核心模塊使用了可擴(kuò)展標(biāo)記語(yǔ)言(XML)描述其存儲(chǔ)結(jié)構(gòu)??蓴U(kuò)展標(biāo)記語(yǔ)言(XML)具有可擴(kuò)展性、結(jié)構(gòu)化和靈活性,同時(shí)具備定義嚴(yán)格、語(yǔ)法明確、表示方便等特點(diǎn)[2],使得XML語(yǔ)言非常適合用來(lái)描述三個(gè)核心模塊。用XML語(yǔ)言描述和組織測(cè)試用例,用例驅(qū)動(dòng)器讀取用例文件驅(qū)動(dòng)測(cè)試流程運(yùn)行,能夠使測(cè)試數(shù)據(jù)、測(cè)試流程、接口協(xié)議相分離,有利于測(cè)試數(shù)據(jù)的維護(hù)與重用。

        界面管理模塊主要以圖形化的界面提供給用戶使用,包括接口協(xié)議編輯、用例編輯、載荷數(shù)據(jù)管理和測(cè)試結(jié)果顯示等功能。

        載荷生成器用于生成流程中使用的載荷,載荷根據(jù)指定的協(xié)議模板填充到測(cè)試數(shù)據(jù)指定位置。載荷生成有兩種方式:一是由用戶定義生成規(guī)則(隨機(jī)或是重復(fù));二是直接導(dǎo)入測(cè)試數(shù)據(jù)文件。載荷支持4種格式:二進(jìn)制、十六進(jìn)制、八進(jìn)制、BCD碼。

        1.2 接口驅(qū)動(dòng)程序設(shè)計(jì)

        上位機(jī)和下位機(jī)的通信依賴于接口驅(qū)動(dòng)程序。接口驅(qū)動(dòng)程序使用C++語(yǔ)言編寫(xiě),編譯生成動(dòng)態(tài)鏈接庫(kù)提供給上位機(jī)調(diào)用。動(dòng)態(tài)鏈接庫(kù)負(fù)責(zé)上位機(jī)和下位機(jī)通信專(zhuān)有協(xié)議數(shù)據(jù)解析,包括5個(gè)接口——設(shè)備卡檢測(cè)、設(shè)備卡打開(kāi)、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、設(shè)備卡關(guān)閉。

        1.3 下位機(jī)設(shè)計(jì)

        下位機(jī)是通用多接口協(xié)議的測(cè)試設(shè)備,包括零槽、機(jī)箱和接口協(xié)議測(cè)試卡。設(shè)計(jì)框圖如圖3所示。

        圖3 下位機(jī)總體設(shè)計(jì)

        零槽和接口協(xié)議測(cè)試卡通過(guò)機(jī)箱背板的CPCI接口進(jìn)行通信。零槽為主控制板,搭載Windows7操作系統(tǒng)和控制軟件。機(jī)箱為設(shè)備供電,并提供分別與零槽和接口協(xié)議測(cè)試卡通信連接的CPCI接口。接口協(xié)議測(cè)試卡提供被測(cè)設(shè)備電源進(jìn)行協(xié)議通信、數(shù)據(jù)處理和控制軟件進(jìn)行交互。

        零槽包括第一PXI總線[3]模塊、主控模塊、USB接口模塊和以太網(wǎng)接口模塊。第一PXI總線模塊通過(guò)CPCI接口與機(jī)箱背板連接;主控模塊通過(guò)印刷電路與第一PXI總線模塊、USB接口模塊和以太網(wǎng)接口模塊的輸入輸出端相連,主控模塊采用Windows7操作系統(tǒng),安裝控制軟件;USB接口模塊通過(guò)USB口與外部設(shè)備連接;以太網(wǎng)模塊接口模塊通過(guò)以太網(wǎng)口實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn),實(shí)現(xiàn)10/100/1 000 Mb/s自適應(yīng)。

        接口協(xié)議測(cè)試卡包括第二PXI總線模塊、數(shù)據(jù)處理與接口控制模塊、接口模塊和電源模塊。第二PXI總線模塊通過(guò)CPCI接口與機(jī)箱背板連接;數(shù)據(jù)處理與接口控制模塊包括接口配置單元和數(shù)據(jù)處理單元,接口配置單元和數(shù)據(jù)處理單元通過(guò)印刷電路與接口模塊相連;接口配置單元設(shè)置當(dāng)前測(cè)試所需接口類(lèi)型和通信速率,數(shù)據(jù)處理單元將數(shù)據(jù)進(jìn)行臨時(shí)存儲(chǔ),然后封裝處理后發(fā)送,確保正常通信;接口模塊包括異步串行接口單元、同步串行接口單元、IO控制接口單元、總線接口單元、顯示屏接口單元、自定義鍵盤(pán)接口單元、音頻接口單元和基帶接口單元;接口模塊的一端通過(guò)定制線纜與被測(cè)設(shè)備連接,另一端通過(guò)印刷電路與數(shù)據(jù)處理與接口控制模塊連接;電源模塊通過(guò)印刷電路與CPIO接口連接,將機(jī)箱電源轉(zhuǎn)換為+5 V、+12 V、5 V、-10 V、-12 V五種電源,由定制線纜連接至被測(cè)設(shè)備[4]。

        2 關(guān)鍵技術(shù)實(shí)現(xiàn)

        2.1 接口協(xié)議模板實(shí)現(xiàn)

        接口協(xié)議模板使用XML語(yǔ)言描述,用戶在界面管理模塊實(shí)現(xiàn)自定義。接口協(xié)議模板定義如圖4所示。

        圖4 接口協(xié)議模板

        標(biāo)簽 1:<ProtocolTemplet></ProtocolTemplet> 模板開(kāi)始和結(jié)束標(biāo)記。

        name表示模板名稱。

        tstart=”1”表示載荷的開(kāi)始位置(開(kāi)始字節(jié)),tend=”0”表示載荷的結(jié)束位置(結(jié)束字節(jié))。

        標(biāo)簽2:<P></P>關(guān)鍵字定義協(xié)議的組成。

        length用十進(jìn)制表示長(zhǎng)度,以字節(jié)為單位。Length是必須定義項(xiàng),如果不具備,那么必須包含MaxLength和MinLength的定義。

        type表示類(lèi)型,必須定義。Type有三種類(lèi)型:FixValue(固定值)、CalcValue(計(jì)算值)和InputValue(輸入值)。

        name表示名稱,必須定義,且不重復(fù)。

        inputtype表示輸入類(lèi)型。當(dāng)type=”InputValue”時(shí),定義輸入項(xiàng)類(lèi)型。

        Inputtype有三個(gè)取值:LongInput(長(zhǎng)文本)、ShortInput(短文本)和FileInput(文件導(dǎo)入)。

        rule表示計(jì)算值規(guī)則,當(dāng)type=”CalcValue” 時(shí),必須定義rule。

        rule有3種取值:FrameCount(計(jì)算幀長(zhǎng))、DataCount(計(jì)算target目標(biāo)長(zhǎng)度)和CRC(使用動(dòng)態(tài)鏈接庫(kù)計(jì)算target目標(biāo)校驗(yàn)碼)。

        當(dāng) type=”CalcValue”、rule=”CRC” 時(shí),DllName=”動(dòng)態(tài)鏈接庫(kù)路徑”,F(xiàn)uncName=”函數(shù)名稱”。

        target目標(biāo)標(biāo)簽只針對(duì)rule為DataCount/CRC時(shí)生效。

        target為CRC時(shí),可以計(jì)算一個(gè)區(qū)間的CRC,用target=”name3-name4”表示。

        2.2 測(cè)試用例實(shí)現(xiàn)

        測(cè)試用例主要包含用例基本信息配置、狀態(tài)機(jī)節(jié)點(diǎn)、配置協(xié)議和狀態(tài)機(jī)配置4個(gè)主要部分。測(cè)試用例配置示意圖如圖5所示。

        測(cè)試用例設(shè)計(jì)時(shí),每一個(gè)狀態(tài)節(jié)點(diǎn)均包含一個(gè)狀態(tài)機(jī)。設(shè)計(jì)三要素為——事件、轉(zhuǎn)換狀態(tài)和操作。本設(shè)計(jì)中定義見(jiàn)表1。

        圖5 測(cè)試用例配置

        表1 狀態(tài)機(jī)設(shè)計(jì)要素定義

        狀態(tài)機(jī)支持的函數(shù)定義參見(jiàn)表2。

        所有狀態(tài)機(jī)完成定義后,形成最終的測(cè)試用例。每一測(cè)試用例使用XML格式的文件存儲(chǔ),便于后續(xù)修改。

        2.3 結(jié)果分析器模板實(shí)現(xiàn)

        結(jié)果分析器模板使用XML語(yǔ)言描述,用于自動(dòng)解析有特殊含義的載荷,方便結(jié)果顯示,易于閱讀。結(jié)果分析器模板定義如圖6所示。

        標(biāo)簽說(shuō)明:

        標(biāo) 簽 1:<ResultDictionary></ResultDictionary>結(jié)果分析模板的開(kāi)始和結(jié)束標(biāo)記。

        標(biāo)簽2:<Rule></Rule>字典規(guī)則,用于判斷當(dāng)前接收數(shù)據(jù)所匹配的規(guī)則,并獲取對(duì)應(yīng)規(guī)則下的值。

        Condition匹配當(dāng)前規(guī)則的條件,如果子節(jié)點(diǎn)含有Conditions,則不響應(yīng)此條件。值類(lèi)型OP表示取包含專(zhuān)有協(xié)議的數(shù)據(jù)包,IP表示取專(zhuān)有協(xié)議的載荷。

        表2 狀態(tài)機(jī)函數(shù)定義

        圖6 結(jié)果分析器模板

        Result匹配當(dāng)前規(guī)則且當(dāng)前規(guī)則的子節(jié)點(diǎn)規(guī)則均未匹配,則將其作為接收數(shù)據(jù)所匹配的結(jié)果。

        標(biāo)簽3:<param></param>:是<Rule>子節(jié)點(diǎn),表示規(guī)則結(jié)果的參數(shù)。結(jié)果中含有{0},則對(duì)應(yīng)替換第一個(gè)param子節(jié)點(diǎn),以此類(lèi)推。

        value表示當(dāng)前參數(shù)對(duì)應(yīng)的值。

        Constants表示對(duì)value值進(jìn)行常數(shù)匹配轉(zhuǎn)換。

        標(biāo) 簽 4:<Conditions></Conditions> 是 <Rule>子節(jié)點(diǎn),表示當(dāng)前規(guī)則的條件,與Rule的condition屬性多選一,優(yōu)先級(jí)策略是后一個(gè)Conditions優(yōu)先級(jí)大于前一個(gè)Conditions,大于Rule的condition屬性優(yōu)先級(jí)。

        Mer表示規(guī)則判斷條件,值為OR則子屬性的condition之間成立按照或條件匹配,值為AND則子屬性的condition之間成立按照且條件匹配。

        標(biāo)簽5:<Condition></Condition>是<Conditions>子節(jié)點(diǎn)。

        exp表示當(dāng)前節(jié)點(diǎn)的規(guī)則。

        標(biāo)簽 6:<Constants></Constants> 是字典結(jié)果中定義的常量,通過(guò)指定key替換常量值。

        name常量集合名:定義當(dāng)前常量集合的名稱,便于字典結(jié)果直接引用。

        標(biāo)簽 7:<Constant></Constant> 是 <Constants> 子節(jié)點(diǎn),定義常量集合下的一個(gè)常量name-value的映射。

        Name為常量名,常量關(guān)鍵值為key。

        value為常量對(duì)應(yīng)的值。

        2.4 接口驅(qū)動(dòng)程序設(shè)計(jì)實(shí)現(xiàn)

        接口驅(qū)動(dòng)程序包含5個(gè)接口,使用靜態(tài)方式調(diào)用。

        (1)端口查詢:通過(guò)端口號(hào)查詢?cè)O(shè)備在線情況。

        接 口 函 數(shù):public static extern intLdxc_DeviceFind(UInt16 DeviceNumber)

        參數(shù)說(shuō)明:DeviceNumber為設(shè)備端口號(hào)。

        (2)設(shè)備打開(kāi):初始化打開(kāi)板卡端口對(duì)應(yīng)的設(shè)備。

        接口函數(shù):public static extern int Ldxc_DeviceInit(uint index,ref uint device)

        參數(shù)說(shuō)明:index為設(shè)備端口號(hào);device為獲取設(shè)備連接詳情實(shí)體對(duì)象。

        (3)設(shè)備編號(hào):通過(guò)端口號(hào)查詢?cè)O(shè)備編號(hào)。

        接 口 函 數(shù):public static extern int Ldxc_DeviceID(uint device,byte[]buffer)

        參數(shù)說(shuō)明:device為查詢目標(biāo)設(shè)備;buffer為存儲(chǔ)設(shè)備編號(hào)字節(jié)數(shù)組。

        (4)設(shè)備關(guān)閉:通過(guò)端口號(hào)查詢?cè)O(shè)備信息。

        接口函數(shù):public static extern int Ldxc_DeviceQuit(uint device)

        參數(shù)說(shuō)明:device為關(guān)閉目標(biāo)設(shè)備。

        (5)數(shù)據(jù)讀?。鹤x取指定目標(biāo)的數(shù)據(jù)。

        接口函數(shù):public static extern int Ldxc_read(uint device,byte[] buffer,ref int len)

        參數(shù)說(shuō)明:device為讀取目標(biāo)設(shè)備;buffer為讀取內(nèi)容;len為數(shù)據(jù)長(zhǎng)度。

        (6)數(shù)據(jù)發(fā)送:向指定目標(biāo)發(fā)送數(shù)據(jù)。

        接口函數(shù):public static extern int Ldxc_write(uint device,byte[] buffer,int len)

        參數(shù)說(shuō)明:device為發(fā)送目標(biāo)設(shè)備;buffer為發(fā)送內(nèi)容;len為發(fā)送長(zhǎng)度。

        3 結(jié) 語(yǔ)

        嵌入式系統(tǒng)現(xiàn)有接口測(cè)試方法存在測(cè)試數(shù)據(jù)不易模擬和分析、硬件接口形態(tài)各異、多數(shù)測(cè)試需“一測(cè)一換”等問(wèn)題,嚴(yán)重影響測(cè)試效率和準(zhǔn)確性。因此,從上位機(jī)和下位機(jī)兩個(gè)方面設(shè)計(jì)實(shí)現(xiàn)了通用多接口協(xié)議測(cè)試工具。本測(cè)試工具軟件系統(tǒng)設(shè)計(jì)使用XML可標(biāo)記擴(kuò)展語(yǔ)言描述和存儲(chǔ)“用例驅(qū)動(dòng)器”“協(xié)議解析器”“結(jié)果解析器”三個(gè)核心模塊,能夠使測(cè)試數(shù)據(jù)、測(cè)試流程、接口協(xié)議相分離;硬件方面使用PXI總線易擴(kuò)展、熱插拔、高可靠性的特性進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了對(duì)E1、K、RS232C、RS422、USB3.0、以太網(wǎng)接口等多接口的集成,同時(shí)預(yù)留了CPCI-E卡便于后期新增接口類(lèi)型。該測(cè)試工具不僅能大幅提高接口測(cè)試測(cè)試效率,簡(jiǎn)化測(cè)試環(huán)境,且具備通用型和擴(kuò)展性。

        今后可考慮擴(kuò)充接口協(xié)議模型,增強(qiáng)其適應(yīng)性,并將測(cè)試工具和測(cè)試管理過(guò)程相結(jié)合,把簡(jiǎn)單的測(cè)試結(jié)果輸出文件轉(zhuǎn)換為符合測(cè)試規(guī)范的測(cè)試報(bào)告文檔集。

        猜你喜歡
        測(cè)試工具狀態(tài)機(jī)測(cè)試用例
        邊緣智力兒童及其智力測(cè)試工具的研究進(jìn)展
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
        Http并發(fā)連接測(cè)試工具
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        福祿克推出先進(jìn)的連接式測(cè)試工具系統(tǒng)
        基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
        基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
        軟件回歸測(cè)試用例選取方法研究
        日本中文字幕人妻精品| 亚洲av成人一区二区三区在线观看| 亚洲欧美日韩国产一区| 日本一区二区三区看片| 日韩中文字幕素人水野一区| 中文字幕一区日韩精品| 99re6热在线精品视频播放6| 久久久国产精品粉嫩av| 日本免费一区二区三区在线播放| av永久天堂一区二区三区| 中文在线天堂网www| 91久久精品国产性色tv| 亚洲精品一区二区高清| 在线成人爽a毛片免费软件| 欧美日韩综合网在线观看| 国产一区二区黑丝美女| 国产91清纯白嫩初高中在线观看 | 日批视频免费在线观看| 长腿丝袜在线观看国产| 久久99精品久久久大学生| 欧美日韩国产一区二区三区不卡 | 久久久久亚洲精品天堂| 国产高清天干天天视频| 国产自拍精品在线免费观看| 狠狠躁夜夜躁人人爽天天古典| 无码专区中文字幕DVD| 午夜少妇高潮免费视频| 国产乱人伦av在线麻豆a| 日韩成人极品在线内射3p蜜臀| www.五月激情| 中文字幕乱码亚洲三区| 48久久国产精品性色aⅴ人妻| 国产亚洲欧美在线| av网站韩日在线观看免费| 国产av熟女一区二区三区| 久久久久久久性潮| 挑战亚洲美女视频网站| 国产自拍视频在线观看网站| 国产乱色精品成人免费视频| 无码熟妇人妻AV不卡| 国产av在线观看一区二区三区|