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

基于struct結構的接口測試數據解析軟件設計與實現

2018-10-13 07:58:18劉暉虎
現代計算機 2018年23期
關鍵詞:結構

劉暉虎

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

0 引言

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

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

1 協議描述方法

根據C語言的規定,“結構”是一種構造類型,它由若干個“成員”組成,每個成員是一個基本數據類型或者是一個構造類型。定義一個結構的一般形式為:

struct結構名

{

//成員列表

};

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

類型說明符成員名;

成員名的命名應符合標識符的書寫規定。以下是一個結構定義的例子:

struct student

{

char name[20];

int age;

};

在這個結構定義中,結構名為student,該結構由2個成員組成。第一個成員為name,類型為字符數組;第二個成員為age,類型為整型。

下面是某型軟件接口通信協議中一個普通數據幀格式示例:

表1 接口協議格式示例

采用struct結構描述該數據幀協議格式如下:(注:為方便測試人員理解,標識符命名應支持中文)

struct數據幀

{

byte起始標志位; //固定為0x7E

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

byte彈位號; //1號彈位:0x11,2號彈位:0x22,3 號彈位:0x33,

4號彈位:0x44,5號彈位:0x55,6號彈位:0x66

byte彈動延遲信息_高字節;

byte彈動延遲信息_中字節;

byte彈動延遲信息_低字節;

short校驗位;

byte結束標志位; //固定為0x7E

};

2 軟件設計實現

接口數據解析流程主要分為以下幾個階段,如圖1所示:

(1)編寫并導入協議描述文件

(2)設置參數,包括接口數據字長、協議字節順序、接口數據字節順序

(3)輸入待解析報文

(4)選擇協議格式名稱

(5)輸出報文解析結果列表

具體的實現過程為:

(1)編寫并導入協議文件

將被測軟件的接口通信協議按照struct結構要求編寫協議描述文件,每1個報文格式對應1個struct結構體,且結構體名稱即為報文名稱,文件保存為.h文件形式。

圖1 接口數據解析軟件工作流程

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

協議文件準備好后,便可作為配置文件,在接口數據解析軟件界面進行導入。接口數據解析軟件應具備語法驗證功能,對導入的協議文件中struct結構體源代碼進行語法檢查,并報告錯誤。

(2)設置協議字節順序、設置接口數據字節順序、設置接口數據字長

考慮到在不同運行環境下,計算機字長是不同的,因此接口數據解析軟件應能夠設置接口數據字長(單字節、2字節、4字節等)。當接口數據字長設置為多字節時,還應考慮協議描述文件中每個字的高低字節順序,以及接口數據的高低字節順序。具體如圖2所示。

圖2 參數設置界面

(3)數據解析

導入協議描述文件并設置好相應參數后,測試人員便可以將接口測試工具接收到的報文數據輸入接口數據解析軟件中,并選定協議列表中某一個報文名稱,接口數據解析軟件按照協議描述文件中定義的struct結構自動對報文數據進行解析,并以列表形式顯示各字段的取值,供測試人員開展下一步的數據驗證工作。如圖3所示:

圖3 數據解析結果顯示界面

3 結語

接口數據解析軟件已成功應用于多個型號的軟件測試中,將測試人員開展接口測試時的主要精力從解析接口通信報文工作中解放出來,投入到接口測試設計、結果驗證中,有效地提高了測試效率;

同時,將接口數據解析模塊封裝為Windows動態鏈接庫,應用于1553B總線自動化測試工具、串口調試工具等接口測試工具中,幫助測試人員快速解析其關注的接口數據,給出解析結果供后端開展自動化結果驗證、全流程自動化測試等。

猜你喜歡
結構
DNA結構的發現
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
循環結構謹防“死循環”
論《日出》的結構
縱向結構
縱向結構
我國社會結構的重建
人間(2015年21期)2015-03-11 15:23:21
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
主站蜘蛛池模板: 日本免费a视频| 一级毛片免费观看不卡视频| 无码aaa视频| 91毛片网| 中国国产A一级毛片| 中文字幕自拍偷拍| 久久天天躁狠狠躁夜夜2020一 | 中文字幕无码制服中字| 无码高潮喷水在线观看| 99精品视频播放| 黄色网页在线播放| 日本免费精品| 色综合激情网| 亚洲无限乱码| 国产精品第一区| 欧美有码在线| 亚洲欧美人成电影在线观看| 中文字幕亚洲乱码熟女1区2区| 2021国产精品自产拍在线| 五月激情综合网| 亚洲欧洲日本在线| 中文成人无码国产亚洲| 国产欧美日韩综合一区在线播放| 亚洲综合天堂网| 乱人伦99久久| 色色中文字幕| 波多野结衣中文字幕一区二区| 欧美中文字幕一区二区三区| 亚洲天堂精品在线| 婷婷在线网站| Jizz国产色系免费| 日韩A∨精品日韩精品无码| 在线播放国产一区| 欧美激情,国产精品| 黄色网址手机国内免费在线观看| 亚洲成人高清在线观看| 精品一区二区久久久久网站| 自偷自拍三级全三级视频| 国产精品人成在线播放| 中文字幕乱码二三区免费| 男女男免费视频网站国产| 人妻无码中文字幕一区二区三区| 成人噜噜噜视频在线观看| 日韩无码黄色| 啦啦啦网站在线观看a毛片| 国产乱子伦精品视频| 精品一区二区三区中文字幕| 九九热在线视频| 国产毛片不卡| 亚洲人成人伊人成综合网无码| 东京热高清无码精品| 成人午夜亚洲影视在线观看| 久久久久久尹人网香蕉| 91小视频在线| 亚洲 日韩 激情 无码 中出| 国产农村1级毛片| 婷婷六月综合网| 天堂av高清一区二区三区| 成人精品免费视频| 九月婷婷亚洲综合在线| 91精品国产综合久久不国产大片| 久久大香香蕉国产免费网站| 97无码免费人妻超级碰碰碰| 99在线观看国产| 午夜啪啪网| 国产区免费精品视频| 污视频日本| jizz国产视频| 亚洲免费黄色网| 国产女同自拍视频| 色婷婷狠狠干| 欧美中文字幕在线二区| 9cao视频精品| 免费在线一区| 97久久精品人人| 人妻少妇乱子伦精品无码专区毛片| 1769国产精品视频免费观看| 亚洲AV一二三区无码AV蜜桃| 日韩在线观看网站| 免费毛片全部不收费的| 亚洲成人高清在线观看| 无码高潮喷水在线观看|