想要產(chǎn)品質(zhì)量高,嵌入式接口測(cè)試這關(guān)怎么過(guò)?
接口測(cè)試是軟件測(cè)試中的一項(xiàng)重要工作,它涉及到系統(tǒng)與系統(tǒng)之間的交互點(diǎn)。接口可以是外部接口,也可以是內(nèi)部接口,包括上層服務(wù)與下層服務(wù)接口以及同級(jí)接口。在接口測(cè)試中,我們需要確保接口能夠按照預(yù)期的方式進(jìn)行通信和交互,并且能夠正確處理輸入和輸出數(shù)據(jù)。
01
什么是接口測(cè)試?
所謂接口,是指同一個(gè)系統(tǒng)中模塊與模塊間的數(shù)據(jù)傳遞接口、前后端交互、跨系統(tǒng)跨平臺(tái)跨數(shù)據(jù)庫(kù)的對(duì)接。而接口測(cè)試,則是通過(guò)接口的不同情況下的輸入、去對(duì)比輸出,看看是否滿足接口規(guī)范所規(guī)定的功能、安全以及性能方面的要求。
為什么要做接口測(cè)試?
1)相比系統(tǒng)測(cè)試,更早介入測(cè)試,提高效率;2)可以發(fā)現(xiàn)前段測(cè)試不了的問(wèn)題,提高版本質(zhì)量;3)接口標(biāo)準(zhǔn)化了,更容易實(shí)現(xiàn)自動(dòng)化和持續(xù)集成,降低測(cè)試成本。

02
接口測(cè)試的分類
1.按接口類型分
?API接口測(cè)試:對(duì)被測(cè)軟件提供的API接口函數(shù)進(jìn)行測(cè)試;
?協(xié)議接口測(cè)試:對(duì)被測(cè)軟件接口數(shù)據(jù)和控制進(jìn)行測(cè)試;
? ?①物理層協(xié)議測(cè)試:信號(hào)
? ?②鏈路、傳輸層協(xié)議測(cè)試:數(shù)據(jù)
? ?③會(huì)話、應(yīng)用層協(xié)議測(cè)試:文本
?數(shù)據(jù)庫(kù)接口測(cè)試:SQL語(yǔ)句的測(cè)試、存儲(chǔ)過(guò)程的測(cè)試;
?硬件接口測(cè)試:對(duì)軟件與硬件的數(shù)據(jù)和控制進(jìn)行測(cè)試。
2.按測(cè)試的種類分
?接口功能測(cè)試:接口的基本能力的測(cè)試,接口數(shù)據(jù)/接口業(yè)務(wù)邏輯測(cè)試;
?接口性能測(cè)試:響應(yīng)時(shí)間、吞吐量、并發(fā)數(shù)等的測(cè)試;
?接口安全性測(cè)試:關(guān)鍵操作的安全性、敏感信息加密、接口防惡意攻擊等方面的測(cè)試;
?接口穩(wěn)定性測(cè)試:長(zhǎng)時(shí)間運(yùn)行接口是否能夠穩(wěn)定可靠的提供服務(wù)。

03
嵌入式軟件接口測(cè)試
1.什么是嵌入式系統(tǒng)
嵌入式即嵌入式系統(tǒng),IEEE(美國(guó)電氣和電子工程師協(xié)會(huì))對(duì)其定義是用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置。
嵌入式系統(tǒng)是嵌入式計(jì)算機(jī)系統(tǒng)+執(zhí)行裝置(外圍裝置),軟件和硬件的綜合體。由嵌入式微處理器、存儲(chǔ)器通用設(shè)備接口(A/D、D/A、RS232、Ethernet、USB等)和軟件(系統(tǒng)軟件+應(yīng)用軟件)組成。2.嵌入式軟件測(cè)試與非嵌入式軟件測(cè)試的比較1)嵌入式軟件測(cè)試一般接口、協(xié)議種類多,不通用、不常見;2)與底層和硬件聯(lián)系緊密,面向信號(hào)和數(shù)據(jù)(十六進(jìn)制),理解比較困難;3)很大比例是安全關(guān)鍵軟件,關(guān)系到生命安全和國(guó)家安全,要求非常嚴(yán)格;4)一般來(lái)說(shuō)上比非嵌入式軟件測(cè)試更困難一些。

3.嵌入式軟件接口測(cè)試
1)對(duì)嵌入式軟件測(cè)試包括靜態(tài)和動(dòng)態(tài),包括基于結(jié)構(gòu)的白盒測(cè)試和基于需求規(guī)約的黑盒測(cè)試;
2)嵌入式軟件接口測(cè)試:對(duì)嵌入式軟件提供的接口按照接口需求進(jìn)行測(cè)試和驗(yàn)證;
? ? ?測(cè)試嵌入式軟件接口信息數(shù)據(jù)與控制邏輯的正確性;
? ? ?測(cè)試正常情況和異常情況(包括數(shù)據(jù)和邏輯);
? ? ?測(cè)試接口的功能性、性能、安全性和穩(wěn)定性;
3)接口測(cè)試之于嵌入式軟件測(cè)試,有的時(shí)候是測(cè)試類型和測(cè)試內(nèi)容,有的是時(shí)候是嵌入式軟件測(cè)試的一種必須的手段,或者說(shuō)唯一手段。
4.嵌入式接口測(cè)試分類
1)API接口測(cè)試:對(duì)被測(cè)軟件提供的API接口函數(shù)進(jìn)行測(cè)試;
2)總線/網(wǎng)絡(luò)接口測(cè)試:A/D、D/A、DI/DO、RS232/422/485、CAN、ARINC429、1553B、A/D、Rapid IO、……
3)數(shù)據(jù)庫(kù)接口測(cè)試:SQL語(yǔ)句的測(cè)試、存儲(chǔ)過(guò)程的測(cè)試;
4)硬件接口測(cè)試:對(duì)軟件與硬件的數(shù)據(jù)和控制進(jìn)行測(cè)試;

04
嵌入式接口測(cè)試方法
1.接口測(cè)試流程:
1)測(cè)試需求分析:分析理解協(xié)議,根據(jù)接口需求文檔設(shè)計(jì)測(cè)試項(xiàng);
2)測(cè)試設(shè)計(jì):設(shè)計(jì)測(cè)試用例和測(cè)試數(shù)據(jù);
3)測(cè)試環(huán)境搭建:構(gòu)建測(cè)試環(huán)境,與被測(cè)件進(jìn)行數(shù)據(jù)通信;
4)測(cè)試執(zhí)行:使用測(cè)試工具構(gòu)造接口數(shù)據(jù)包并發(fā)送、接收接口數(shù)據(jù)包并解析;
5)測(cè)試結(jié)果分析:分析測(cè)試數(shù)據(jù),得出測(cè)試結(jié)論,生成報(bào)告。
難點(diǎn):環(huán)境的搭建,測(cè)試的驅(qū)動(dòng)執(zhí)行。
2.接口測(cè)試策略:1)區(qū)分內(nèi)部接口與外部接口?外部接口對(duì)外提供服務(wù),重點(diǎn)測(cè)試,根據(jù)需求和業(yè)務(wù)要求開展接口功能、接口性能和接口安全性測(cè)試;?內(nèi)部接口,根據(jù)需要進(jìn)行測(cè)試,測(cè)試接口的功能和性能。2)區(qū)分接口類型:API接口、協(xié)議接口、數(shù)據(jù)庫(kù)接口、硬件接口、……?API接口:輸入/輸出參數(shù),狀態(tài)轉(zhuǎn)換;?協(xié)議接口:物理層、鏈路層/網(wǎng)絡(luò)層/傳輸層、會(huì)話層/表示層/應(yīng)用層;?數(shù)據(jù)庫(kù)接口:SQL語(yǔ)句、存儲(chǔ)過(guò)程、性能/安全性;?硬件接口:功能測(cè)試、邊界測(cè)試、安全性測(cè)試。

05
嵌入式軟件測(cè)試工具ETest
俗話說(shuō),工欲善其事必先利其器,對(duì)于嵌入式接口測(cè)試來(lái)說(shuō),有一個(gè)趁手好用的嵌入式接口測(cè)試工具就顯得尤為關(guān)鍵。凱云科技鑄劍十年,厚積薄發(fā),在國(guó)家重大戰(zhàn)略背景下,推出了具有完全自主知識(shí)產(chǎn)權(quán)的測(cè)試系統(tǒng)集成開發(fā)環(huán)境ETest。
1.ETest是什么?
ETest是一款軟件開發(fā)環(huán)境,支持圖形化和代碼兩種開發(fā)方式,主要應(yīng)用于嵌入式系統(tǒng)測(cè)試工裝(測(cè)試設(shè)備)研發(fā)與部署。該產(chǎn)品是由凱云科技率先在行業(yè)內(nèi)推出的國(guó)產(chǎn)自主可控半實(shí)物仿真測(cè)試開發(fā)平臺(tái),有效打破了國(guó)內(nèi)該領(lǐng)域長(zhǎng)期由進(jìn)口軟件LabVIEW、dSPACE等產(chǎn)品壟斷的格局。

2、ETest有哪些核心功能?
?提供涵蓋測(cè)試資源管理、測(cè)試環(huán)境描述、接口協(xié)議定義、測(cè)試用例設(shè)計(jì)、測(cè)試執(zhí)行監(jiān)控、測(cè)試任務(wù)管理等功能為一體的測(cè)試軟件集成開發(fā)環(huán)境;
?提供各類控制總線和儀器接口API,包括:RS232/422/485、1553B、CAN、TCP、UDP、AD、DA、DI、DO、ARINC429等,可靈活擴(kuò)展;
?支持對(duì)待測(cè)系統(tǒng)及其外圍環(huán)境、接口情況等進(jìn)行可視化仿真建模設(shè)計(jì);
?提供接口協(xié)議描述語(yǔ)言(DPD語(yǔ)言)及編輯編譯環(huán)境;
?可通過(guò)表格、儀表、曲線圖、狀態(tài)燈等虛擬儀表實(shí)時(shí)監(jiān)測(cè)接口數(shù)據(jù);
?可按二進(jìn)制、十進(jìn)制、十六進(jìn)制監(jiān)測(cè)輸入與輸出的原始報(bào)文并查詢過(guò)濾;
?提供靈活快捷的測(cè)試用例腳本編輯與開發(fā)環(huán)境;
?測(cè)試腳本支持時(shí)序測(cè)試和多任務(wù)實(shí)時(shí)測(cè)試;
?具有可自動(dòng)生成滿足不同組合覆蓋要求測(cè)試數(shù)據(jù)的功能;
?實(shí)時(shí)記錄加時(shí)間戳的測(cè)試數(shù)據(jù),并支持測(cè)試數(shù)據(jù)的管理與統(tǒng)計(jì)分析;
?提供Simulink、同元MWorks等集成接口,可實(shí)現(xiàn)仿真模型的開發(fā)和運(yùn)行,支持仿真模型實(shí)時(shí)代碼的生成和運(yùn)行;
?提供實(shí)時(shí)內(nèi)核模塊,支持高可靠性強(qiáng)實(shí)時(shí)測(cè)試,響應(yīng)時(shí)間<=1ms,同步傳送和抖動(dòng)時(shí)間小于10us;
?平臺(tái)上位機(jī)支持Linux、Windows、麒麟及統(tǒng)信等操作系統(tǒng);下位機(jī)支持VxWorks、RTLinux及國(guó)產(chǎn)操作系統(tǒng);
?支持打包獨(dú)立可執(zhí)行應(yīng)用程序、支持分布式部署以及單機(jī)使用。

▲ ETest系統(tǒng)架構(gòu)圖
3、ETest執(zhí)行流程
1)測(cè)試環(huán)境搭建
可視化配置測(cè)試環(huán)境和通信協(xié)議


2)測(cè)試設(shè)計(jì)(測(cè)試腳本編輯)
多種方式的程序設(shè)計(jì)

支持接入多種第三方程序

3)測(cè)試設(shè)計(jì)(可視化界面設(shè)計(jì))
具有可視化控件的選擇面板,通過(guò)拖拽綁定,簡(jiǎn)單易用。

4)測(cè)試執(zhí)行
測(cè)試環(huán)境一次配置,多次運(yùn)行;標(biāo)準(zhǔn)IO控制中心可綜合顯示各類信息;監(jiān)視窗體與實(shí)時(shí)數(shù)據(jù)的報(bào)警條件設(shè)置與報(bào)警提示;測(cè)試結(jié)果的收集與分析。

5)測(cè)試數(shù)據(jù)分析與記錄
多種格式的數(shù)據(jù)記錄;歷史測(cè)試數(shù)據(jù)的管理;測(cè)試場(chǎng)景的自動(dòng)回放;測(cè)試報(bào)告模板的編輯與管理;測(cè)試報(bào)告的自動(dòng)生成。
