也許你陌生,但在智能物聯網時代,人們會越來越關注嵌入式軟件測試。
說起嵌入式軟件測試,我們先快速了解一下嵌入式軟件自身的特點。嵌入式軟件具有實時性、內存空間有限、I/O通道少,而且要求功耗低、高可靠性,對成本也比較敏感,和硬件關聯性強等特點。因此,嵌入式軟件的測試與一般商用軟件的測試有較大的區別。
嵌入式軟件開發和運行的環境完全不一樣,是分開的,開發在Windows/Mac OS桌面客戶端(宿主機環境)上進行,而運行的環境是在目標機環境上,即一般是基于Linux/Android內核開發的嵌入式操作系統或像RT-thread那樣的實時操作系統,支持ARM CPU、 MCU 和 藍牙芯片等低功耗的關鍵硬件。
嵌入式軟件的單元測試一般在宿主機環境下進行,只是在個別情況下(如目標機編譯器可能有缺陷)會要求在目標機環境下進行,所以在單元測試上,嵌入式軟件和一般商用軟件的之間差別比較小。不過,嵌入式軟件的單元測試對代碼的質量要求比較高,一般要求達到MC/DC覆蓋率。
嵌入式軟件的集成測試,一般指與目標機的硬件環境集成,也可以和仿真環境集成,這時需要做相應的硬件兼容性測試。但到了系統測試、配置項測試或確認測試,一般就會在目標機環境下執行,這時和一般商用軟件的測試有較大的差別。
由于嵌入式系統的實時性,其測試應充分考慮系統實時響應的問題,其響應時間一般要求在毫秒級別,其對應的負載測試少不了。在對目標機進行測試時,一般需要對在宿主機上編譯通過的代碼進行插樁處理。
這樣可以在目標機執行程序的時候,將插樁時預測好的數據返回到宿主機上進行分析,因此,宿主機和目標機之間的數據傳輸也要認真對待。
除此之外,我們需要制定符合系統需求的可靠性級別和安全級別,進行相應的可靠性測試和安全性測試。嵌入式軟件測試工具,開源工具比較少,多數是商業工具,而且往往成套,覆蓋系統功能、性能分析和安全性測試。
今天,我們就介紹比較常用的或好用的嵌入式軟件測試工具,主要有:
ETest Studio
Klocwork
Hitex TESSY
Squish
Trinity DT10
VectorCAST
ETest Studio
一款國產化黑盒測試工具,可以做配置項測試和系統測試,包括測試資源管理、環境描述、接口協議定義、用例設計、實時數據監控、測試任務管理等功能。
主要特點有:
提供各類控制總線和儀器接口API,可由開發人員集成各類通用接口板卡和用戶自定義的接口板卡。支持的I/O類型包括:RS232/422/485、1553B、CAN、TCP、UDP、AD、DA、DI、DO、ARINC429等,并可靈活擴展;
支持對待測系統及其外圍環境、接口情況等進行可視化仿真建模設計,如提供Matlab/Simulink集成接口,可實現現有仿真模型的開發和利用,支持仿真模型實時代碼的生成和運行;
提供接口協議描述語言(DPD語言)及其編輯編譯環境;
可通過表格、儀表、曲線圖、狀態燈等虛擬儀表實時監測接口數據;
可按二進制、十進制、十六進制監測輸入與輸出的原始報文并查詢過濾;
測試腳本支持時序測試和多任務實時測試,具有可自動生成滿足不同組合覆蓋要求測試數據的功能;
提供實時內核模塊,可實現高可靠性強實時測試,響應時間<=1ms,同步傳送和抖動時間小于10us。上位機和下位機分別采用Windows和實時操作系統。
官網地址: http://www.kiyun.com/Show/fangzhen/cid/14/id/145.html
Klocwork
Klocwork是一款支持百萬行甚至千萬行以上的C/C++/Java/JS/C#代碼質量靜態檢測工具。
利用領先的深度數據流分析技術,靜態地跨類、跨文件地查找軟件運行時缺陷、錯誤和安全漏洞,并準確定位錯誤發生的代碼堆棧路徑。
Klocwork支持自動化掃描1000多種代碼缺陷,包括空指針、資源及內存泄漏、未捕獲的異常、除零等,全面檢測代碼質量問題
Klocwork提供全面的安全規則掃描能力,支持CWE, OWASP, CERT, PCI DSS, DISA STIG, 和ISO/IEC TS 17961等標準,深度數據流分析能力強、準確率高、漏報率低
支持常用的IDE,如Eclipse, Visual Studio, IntelilJ Idea等,并與CI/CD工具和集成、B/S+C/S部署方式
Klocwork支持靜態檢測軟件應用的安全漏洞,包括SQL注入、被污染的數據、緩存溢出、弱代碼實現及其它多種常見應用安全漏洞
Hitex TESSY
Tessy 源自戴姆勒- 奔馳公司的軟件技術實驗室,由德國Hitex 公司負責全球銷售及技術支持服務,是一款專門針對基于C/C++開發的嵌入式軟件進行單元/ 集成測試的工具。
Tessy 也可以滿足各類標準( 如ISO26262、IEC61508、EN 50128/50129 等)對測試的需求,而工具自身也通過了TUV 的認證,證明該軟件是安全可靠的。 主要功能有:
自動生成測試環境、一鍵執行及評估結果
便捷的測試用例設計方式,如集成了分類樹編輯器CTE,支持導入導出多種格式的測試用例
通過分析源文件自動識別函數及相關接口,在接口發生變更時,支持通過簡便的操作進行測試數據復用,實現高度自動化的回歸測試
提供分支覆蓋、MC/DC、多條件覆蓋MCC等多種覆蓋度分析。
還提供其它一些工具,如:
Static code anlaysis
Test case specification
Working with standards
Analyzer
Hardware-in-the-loop test
Rapita Verification Suite (RVS)
RVS是一套面向嵌入式軟件的測試工具集,支持MC/DC覆蓋率分析,滿足DO-178C和ISO 26262認證要求。
其中RapiTest具有易于編寫和易于審查但功能豐富的測試格式,以及創建多線程測試和測試代碼元素(如泛型和私有類型)的能力(無需編寫源代碼)。
單元、集成和系統測試的生成和執行 - RapiTest
結構性代碼覆蓋率分析 - RapiCover
執行時間分析 - RapiTime
調度分析 - RapiTask
Squish
Froglogic公司的Squish是廣受歡迎的跨平臺、多技術融合的GUI 測試工具,尤其是對如下應用提供專業和全面的支持:Qt、Java GUIs、Web、Linux、Windows、IOS和android等。
Squish支持BDD、數據驅動、 分布式批量測試和視覺驗證等,識別自定義的控件或2D/3D圖像,支持多種腳本語言:Python、Perl、JavaScript、Ruby和Tcl,平臺有兩大產品:
Squish:自動化GUI測試
Squish CoCo:代碼覆蓋率分析
官網地址:https://www.froglogic.com/squish/
DT10
DT10(Dynamic Test Tool DT10 )是一款支持C/C++, C#, Java等多種語言的軟件灰盒測試和系統動態跟蹤調試工具,利用領先的自動化代碼插裝和數據采集技術,支持對軟件系統的復雜的、偶發的缺陷的回溯調試、性能測試、CPU負載分析、變量監控、邏輯分析、內存使用分析、硬件監測和分析,及覆蓋率分析等灰盒測試場景。
DT10由硬件設備Dynamic Tracer和PC端軟件兩個主要部分組成,軟件部分負責源碼插裝、數據處理和結果分析等,硬件部分復雜接口、信號采集和數據通訊。 。強大的缺陷回溯定位能力、
支持跟蹤和檢測軟件執行過程中的路徑、變量和各種中間狀態
支持監測和分析系統運行過程中的硬件狀態并和軟件狀態同步分析
支持長達一個月的長時間不間斷測試,實時動態更新的覆蓋率分析
性能測試功能可以細化任意代碼模塊,并精確到ns
不依賴于被測系統的CPU和OS類型
支持串口、以太網口、異步總線、GPIO, SPI, SD卡和CAN總線等豐富的接口類型
VectorCAST
VectorCAST是適用于嵌入式軟件應用的高可靠性和高安全性軟件的自動化動態測試工具鏈,適用于單元測試、集成測試、覆蓋率分析、回歸測試、靜態分析、系統測試和質量分析等軟件測試所涉及的各個環節。
支持C/C++和Ada語言,內建多種智能的自動化測試用例生成算法,符合多種行業認證的標準,如DO-178B/C, ISO 26262, ASPICE, IEC 61508, En 50128, IEC 62304, IEC 60880等。
原文標題:這幾款嵌入式軟件測試工具,好用到起飛~
文章出處:【微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
審核百家號:湯梓紅
-
測試
+關注
關注
8文章
5314瀏覽量
126701 -
物聯網
+關注
關注
2909文章
44691瀏覽量
373836 -
軟件
+關注
關注
69文章
4955瀏覽量
87581
原文標題:這幾款嵌入式軟件測試工具,好用到起飛~
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論