• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于struct結(jié)構(gòu)的接口測試數(shù)據(jù)解析軟件設(shè)計(jì)與實(shí)現(xiàn)

      2018-10-13 07:58:18劉暉虎
      現(xiàn)代計(jì)算機(jī) 2018年23期
      關(guān)鍵詞:測試人員字節(jié)報(bào)文

      劉暉虎

      (工業(yè)和信息化部電子第五研究所,廣州510610)

      0 引言

      接口測試是針對軟件之間接口的一種測試,主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測試的重點(diǎn)是要檢查數(shù)據(jù)的交換、傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。目前,在軟件測試過程中,測試人員通常是使用通用的接口測試工具(如串口調(diào)試助手、網(wǎng)絡(luò)調(diào)試工具等)對被測接口進(jìn)行通信數(shù)據(jù)發(fā)送與接收;在此過程中,測試人員通過人工手段對照接口協(xié)議文件的定義逐個(gè)字、字節(jié)甚至比特位去解析接口數(shù)據(jù)報(bào)文,再根據(jù)具體測試場景驗(yàn)證數(shù)據(jù)的正確性。這種人工數(shù)據(jù)解析方式工作效率偏低、易出錯(cuò),且占用了整個(gè)測試過程中大量的時(shí)間與精力,導(dǎo)致前期的接口測試設(shè)計(jì)和后期的接口測試結(jié)果驗(yàn)證工作時(shí)間不足,進(jìn)而影響整體測試效率和效果。

      基于此,提出一種基于C語言struct結(jié)構(gòu)的接口數(shù)據(jù)解析方法,主要過程是將接口通信協(xié)議中定義的各報(bào)文格式采用struct結(jié)構(gòu)進(jìn)行描述,再使用Visual C++開發(fā)相應(yīng)的接口數(shù)據(jù)解析軟件,該軟件讀取struct結(jié)構(gòu)的協(xié)議描述文件,并設(shè)置當(dāng)前測試場景下的字長、接口數(shù)據(jù)字節(jié)順序、協(xié)議描述字節(jié)順序等參數(shù),測試人員僅需提供待解析的接口數(shù)據(jù)報(bào)文,以及選擇其對應(yīng)的協(xié)議格式名稱,接口數(shù)據(jù)解析軟件便能自動(dòng)完成數(shù)據(jù)解析工作,以列表形式給出該報(bào)文各字段的取值,供測試人員開展數(shù)據(jù)驗(yàn)證工作;這種數(shù)據(jù)解析方法能夠?qū)y試人員從繁重的數(shù)據(jù)解析工作中解放出來,將更多精力投放到測試設(shè)計(jì)、測試驗(yàn)證工作中,有效地提高測試效率。

      1 協(xié)議描述方法

      根據(jù)C語言的規(guī)定,“結(jié)構(gòu)”是一種構(gòu)造類型,它由若干個(gè)“成員”組成,每個(gè)成員是一個(gè)基本數(shù)據(jù)類型或者是一個(gè)構(gòu)造類型。定義一個(gè)結(jié)構(gòu)的一般形式為:

      struct結(jié)構(gòu)名

      {

      //成員列表

      };

      成員列表由若干個(gè)成員組成,每個(gè)成員都是結(jié)構(gòu)的一個(gè)組成部分。對每個(gè)成員也必須作類型說明,其形式為:

      類型說明符成員名;

      成員名的命名應(yīng)符合標(biāo)識(shí)符的書寫規(guī)定。以下是一個(gè)結(jié)構(gòu)定義的例子:

      struct student

      {

      char name[20];

      int age;

      };

      在這個(gè)結(jié)構(gòu)定義中,結(jié)構(gòu)名為student,該結(jié)構(gòu)由2個(gè)成員組成。第一個(gè)成員為name,類型為字符數(shù)組;第二個(gè)成員為age,類型為整型。

      下面是某型軟件接口通信協(xié)議中一個(gè)普通數(shù)據(jù)幀格式示例:

      表1 接口協(xié)議格式示例

      采用struct結(jié)構(gòu)描述該數(shù)據(jù)幀協(xié)議格式如下:(注:為方便測試人員理解,標(biāo)識(shí)符命名應(yīng)支持中文)

      struct數(shù)據(jù)幀

      {

      byte起始標(biāo)志位; //固定為0x7E

      byte地址位; //取值范圍:0x60~0x6B

      byte彈位號(hào); //1號(hào)彈位:0x11,2號(hào)彈位:0x22,3 號(hào)彈位:0x33,

      4號(hào)彈位:0x44,5號(hào)彈位:0x55,6號(hào)彈位:0x66

      byte彈動(dòng)延遲信息_高字節(jié);

      byte彈動(dòng)延遲信息_中字節(jié);

      byte彈動(dòng)延遲信息_低字節(jié);

      short校驗(yàn)位;

      byte結(jié)束標(biāo)志位; //固定為0x7E

      };

      2 軟件設(shè)計(jì)實(shí)現(xiàn)

      接口數(shù)據(jù)解析流程主要分為以下幾個(gè)階段,如圖1所示:

      (1)編寫并導(dǎo)入?yún)f(xié)議描述文件

      (2)設(shè)置參數(shù),包括接口數(shù)據(jù)字長、協(xié)議字節(jié)順序、接口數(shù)據(jù)字節(jié)順序

      (3)輸入待解析報(bào)文

      (4)選擇協(xié)議格式名稱

      (5)輸出報(bào)文解析結(jié)果列表

      具體的實(shí)現(xiàn)過程為:

      (1)編寫并導(dǎo)入?yún)f(xié)議文件

      將被測軟件的接口通信協(xié)議按照struct結(jié)構(gòu)要求編寫協(xié)議描述文件,每1個(gè)報(bào)文格式對應(yīng)1個(gè)struct結(jié)構(gòu)體,且結(jié)構(gòu)體名稱即為報(bào)文名稱,文件保存為.h文件形式。

      圖1 接口數(shù)據(jù)解析軟件工作流程

      通常在被測軟件源代碼中已有用于描述接口協(xié)議的.h文件,測試人員僅需以該文件為基礎(chǔ)進(jìn)行適當(dāng)修改,例如將變量名更改為中文,添加各變量的注釋等。

      協(xié)議文件準(zhǔn)備好后,便可作為配置文件,在接口數(shù)據(jù)解析軟件界面進(jìn)行導(dǎo)入。接口數(shù)據(jù)解析軟件應(yīng)具備語法驗(yàn)證功能,對導(dǎo)入的協(xié)議文件中struct結(jié)構(gòu)體源代碼進(jìn)行語法檢查,并報(bào)告錯(cuò)誤。

      (2)設(shè)置協(xié)議字節(jié)順序、設(shè)置接口數(shù)據(jù)字節(jié)順序、設(shè)置接口數(shù)據(jù)字長

      考慮到在不同運(yùn)行環(huán)境下,計(jì)算機(jī)字長是不同的,因此接口數(shù)據(jù)解析軟件應(yīng)能夠設(shè)置接口數(shù)據(jù)字長(單字節(jié)、2字節(jié)、4字節(jié)等)。當(dāng)接口數(shù)據(jù)字長設(shè)置為多字節(jié)時(shí),還應(yīng)考慮協(xié)議描述文件中每個(gè)字的高低字節(jié)順序,以及接口數(shù)據(jù)的高低字節(jié)順序。具體如圖2所示。

      圖2 參數(shù)設(shè)置界面

      (3)數(shù)據(jù)解析

      導(dǎo)入?yún)f(xié)議描述文件并設(shè)置好相應(yīng)參數(shù)后,測試人員便可以將接口測試工具接收到的報(bào)文數(shù)據(jù)輸入接口數(shù)據(jù)解析軟件中,并選定協(xié)議列表中某一個(gè)報(bào)文名稱,接口數(shù)據(jù)解析軟件按照協(xié)議描述文件中定義的struct結(jié)構(gòu)自動(dòng)對報(bào)文數(shù)據(jù)進(jìn)行解析,并以列表形式顯示各字段的取值,供測試人員開展下一步的數(shù)據(jù)驗(yàn)證工作。如圖3所示:

      圖3 數(shù)據(jù)解析結(jié)果顯示界面

      3 結(jié)語

      接口數(shù)據(jù)解析軟件已成功應(yīng)用于多個(gè)型號(hào)的軟件測試中,將測試人員開展接口測試時(shí)的主要精力從解析接口通信報(bào)文工作中解放出來,投入到接口測試設(shè)計(jì)、結(jié)果驗(yàn)證中,有效地提高了測試效率;

      同時(shí),將接口數(shù)據(jù)解析模塊封裝為Windows動(dòng)態(tài)鏈接庫,應(yīng)用于1553B總線自動(dòng)化測試工具、串口調(diào)試工具等接口測試工具中,幫助測試人員快速解析其關(guān)注的接口數(shù)據(jù),給出解析結(jié)果供后端開展自動(dòng)化結(jié)果驗(yàn)證、全流程自動(dòng)化測試等。

      猜你喜歡
      測試人員字節(jié)報(bào)文
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      移動(dòng)應(yīng)用眾包測試人員信譽(yù)度復(fù)合計(jì)算模型研究
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      淺析反駁類報(bào)文要點(diǎn)
      中國外匯(2019年11期)2019-08-27 02:06:30
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
      高校分析測試中心測試隊(duì)伍建設(shè)方案初探
      山東化工(2018年20期)2018-04-02 16:30:53
      淺析軟件測試中的心理學(xué)應(yīng)用
      簡談MC7字節(jié)碼
      ATS與列車通信報(bào)文分析
      年辖:市辖区| 河池市| 阿荣旗| 简阳市| 梁河县| 宣城市| 略阳县| 巴林右旗| 南充市| 出国| 兴和县| 南靖县| 崇义县| 普安县| 平顺县| 鹤岗市| 都安| 福清市| 阳山县| 齐河县| 濮阳市| 万年县| 泗阳县| 娱乐| 富顺县| 凤冈县| 佛冈县| 广西| 曲水县| 普陀区| 平舆县| 庆元县| 三亚市| 大理市| 白银市| 兰坪| 慈溪市| 永康市| 南陵县| 西乌珠穆沁旗| 靖安县|