一知押、什么是嵌入式測試
嵌入式軟件測試的概念似乎沒那么大眾,很多人從字面上理解鹃骂,可能會以為這是個硬件測試台盯,那么嵌入式測試實際上是什么呢?
根據(jù)IEEE(國際電機工程師協(xié)會)的定義畏线,嵌入式系統(tǒng)是“控制静盅、監(jiān)視或者輔助裝置、機器和設(shè)備運行的裝置的簡稱”寝殴。而嵌入式測試就是為保證嵌入式系統(tǒng)質(zhì)量所做的測試蒿叠。
嵌入式系統(tǒng)在人類生活中發(fā)揮著重要的作用明垢,包括飛行控制器這樣的控制系統(tǒng),以及洗衣機這樣的家用電器栈虚。日前袖外,嵌入式系統(tǒng)中軟件的比重越來越大史隆,也越來越復(fù)雜魂务,保證嵌入式軟件的可靠性正面臨嚴峻的挑戰(zhàn)。
大多數(shù)軟件測試方法都可以直接或間接地用于嵌入式軟件的測試泌射,但是由于操作系統(tǒng)的實時和嵌入式特性粘姜,嵌入式軟件測試也面臨一些特殊的問題。嵌入式軟件具有實時性熔酷、內(nèi)存空間有限孤紧、I/O通道少,而且要求功耗低拒秘、高可靠性号显,和硬件關(guān)聯(lián)性強等特點,因此嵌入式軟件的測試與一般商用軟件的測試有較大的區(qū)別躺酒,選好嵌入式測試工具也就尤為重要押蚤。
二、嵌入式測試工具推薦
一般指與目標機的硬件環(huán)境集成羹应,也可以和仿真環(huán)境集成揽碘,這時需要做相應(yīng)的硬件兼容性測試。但到了系統(tǒng)測試园匹、配置項測試或確認測試雳刺,一般就會在目標機環(huán)境下執(zhí)行,這時和一般商用軟件的測試有較大的差別裸违。
由于嵌入式系統(tǒng)的實時性掖桦,其測試應(yīng)充分考慮系統(tǒng)實時響應(yīng)的問題,其響應(yīng)時間一般要求在毫秒級別供汛,其對應(yīng)的負載測試少不了枪汪。而且,對于數(shù)據(jù)傳輸?shù)臏y試也要認真對待紊馏。
而嵌入式軟件測試工具料饥,開源工具比較少,多數(shù)是商業(yè)工具朱监。今天我們就介紹比較常用的或好用的嵌入式軟件測試工具岸啡,主要有:
~ UTP協(xié)同自動化測試平臺
~ Klocwork
UTP協(xié)同自動化測試平臺
? UTP協(xié)同自動化測試平臺是一款國產(chǎn)化黑盒測試工具,可以做配置項測試和系統(tǒng)測試赫编,包括測試資源管理巡蘸、測試需管理奋隶、環(huán)境描述、接口協(xié)議定義悦荒、用例設(shè)計唯欣、實時數(shù)據(jù)監(jiān)控搬味、測試任務(wù)管理,測試報表留存等功能萍聊。
?UTP協(xié)同自動化測試平臺的嵌入式測試主要通過協(xié)同調(diào)度各種測試機器人為各個輸入接口創(chuàng)造各種輸入寿桨,經(jīng)被測系統(tǒng)處理后,檢查各個輸出接口的輸出是否滿足預(yù)期亭螟,來實現(xiàn)對嵌入式系統(tǒng)內(nèi)部功能的全面測試骑歹。并且整個測試過程的時序邏輯可以在UTP系統(tǒng)的平臺頁面上進行創(chuàng)建, 方便實現(xiàn)符合業(yè)務(wù)測試要求的各種邏輯和時序陵刹。
UTP系統(tǒng)的嵌入式測試支持對嵌入式系統(tǒng)有多種接口(如RS232串口,CAN接口衰琐,Ethnet接口,Wifi接口狸剃,SPI接口钞馁,I2C等)匿刮,也可能帶有實體按鍵和顯示屏的被測系統(tǒng)的測試。
如上圖所示训措,用戶在UTP協(xié)同測試平臺編寫測試用例/腳本绩鸣, UTP平臺根據(jù)腳本的邏輯命令協(xié)同調(diào)度各個測試機器人執(zhí)行,測試機器人通過各種接口同被測系統(tǒng)進行輸入和輸出交互呀闻。
官網(wǎng)地址:
Klocwork
Klocwork是一款支持百萬行甚至千萬行以上的C/C++/Java/JS/C#代碼質(zhì)量靜態(tài)檢測工具捡多。
利用領(lǐng)先的深度數(shù)據(jù)流分析技術(shù),靜態(tài)地跨類钓瞭、跨文件地查找軟件運行時缺陷、錯誤和安全漏洞堤结,并準確定位錯誤發(fā)生的代碼堆棧路徑。
Klocwork支持自動化掃描1000多種代碼缺陷竞穷,包括空指針瘾带、資源及內(nèi)存泄漏、未捕獲的異常朴恳、除零等,全面檢測代碼質(zhì)量問題
Klocwork提供全面的安全規(guī)則掃描能力于颖,支持CWE, OWASP, CERT, PCI DSS, DISA STIG, 和ISO/IEC TS 17961等標準森渐,深度數(shù)據(jù)流分析能力強冒晰、準確率高、漏報率低
支持常用的IDE壶运,如Eclipse, Visual Studio, IntelilJ Idea等,并與CI/CD工具和集成、B/S+C/S部署方式
Klocwork支持靜態(tài)檢測軟件應(yīng)用的安全漏洞秫逝,包括SQL注入询枚、被污染的數(shù)據(jù)、緩存溢出刷后、弱代碼實現(xiàn)及其它多種常見應(yīng)用安全漏洞
官網(wǎng)地址: