国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2018-10-13 07:58劉暉虎
現(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ù)解析軟件便能自動完成數(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)識符的書寫規(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)識符命名應(yīng)支持中文)

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

{

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

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

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

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

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

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

byte彈動延遲信息_低字節(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)自動對報(bào)文數(shù)據(jù)進(jìn)行解析,并以列表形式顯示各字段的取值,供測試人員開展下一步的數(shù)據(jù)驗(yàn)證工作。如圖3所示:

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

3 結(jié)語

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

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

猜你喜歡
測試人員字節(jié)報(bào)文
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
以太網(wǎng)QoS技術(shù)研究及實(shí)踐
No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
論職務(wù)犯罪偵查中測謊技術(shù)的應(yīng)用與完善*
淺析反駁類報(bào)文要點(diǎn)
No.10 “字節(jié)跳動手機(jī)”要來了?
淺析軟件測試中的心理學(xué)應(yīng)用
綠植防輻射只是個(gè)傳說,是真的嗎?
1588v2中的PTP報(bào)文格式及應(yīng)用
人類進(jìn)入“澤它時(shí)代”
栾川县| 长沙市| 赞皇县| 伊金霍洛旗| 韩城市| 临高县| 平陆县| 嘉善县| 永福县| 隆昌县| 芮城县| 万载县| 长顺县| 镇安县| 天气| 红桥区| 鄂尔多斯市| 繁昌县| 赣州市| 清徐县| 贞丰县| 高雄市| 英德市| 辽阳县| 定西市| 四川省| 闸北区| 德昌县| 出国| 襄城县| 米泉市| 济宁市| 吴忠市| 池州市| 金塔县| 隆化县| 凤凰县| 桓仁| 瓦房店市| 宁晋县| 南皮县|