本文介紹如何對各種控制器內的嵌入式軟件做自動化測試,并推薦一款支持對嵌入式軟件進行全面自動化測試的工具。該工具支持CAN通信測試、LIN通信測試、以太網通信測試、各類傳感器仿真測試,支持對基于MCU、SOC、DSP、FPGA等開發設計的各類嵌入式系統進行自動化測試,能夠全面覆蓋嵌入式系統的各種時序邏輯和業務功能。目前該工具支持申請免費試用(請在文章的末尾查看如何申請試用)。
控制器(包括ECU和域控制器)的嵌入式系統一般具有多路輸入和輸出接口,如IO信號接口、模擬信號接口、I2C通信接口、SPI通信接口、CAN通信接口、以太網通信接口、無線通信接口等,控制器內部需要實時響應這些接口并執行各種復雜的時序邏輯。如何對這樣的嵌入式系統進行充分測試呢?如何覆蓋各種正常和異常的測試場景呢?
宏控UTP協同自動化測試系統(以下簡稱UTP測試系統)是一款通用的自動化測試系統,支持全仿真和部分仿真環境測試, 支持SIL和HIL測試,支持對總線通信、信號檢測、傳感器仿真、無線通信、人機交互等各方面進行自動化仿真和測試。同時UTP測試系統支持用戶自定義各種時序邏輯,支持各種復雜時序的自動化測試,支持異常注入;UTP測試系統還提供全流程的自動化測試管理功能,支持對整個測試工作進行全面的測試管理。

UTP測試系統的功能:
支持接口總線通信測試:支持各種總線通信測試,如:CAN、LIN、FlexRay、CANFD通信,RS232/RS485/RS422通信,以太網通信(TCP/UDP協議、DoIP協議、SOME/IP協議、DDS協議等),I2C通信,SPI通信等。
?
支持無線通信仿真測試:支持多種無線通信的仿真測試,如4G/5G、藍牙、WIFI、GPS、北斗等。不需要依賴真實的無線環境,通過仿真實現對業務的全面自動化測試,支持各種異常場景的仿真。
? ? ? ? ?
支持信號仿真與測試:支持各種IO信號、PWM信號、模擬信號的測試,支持自動傳感器信號仿真測試,支持自動檢測和判定被測系統輸出的各種信號。
? ? ? ? ?
支持UI顯示識別與測試:支持各種嵌入式系統UI(如屏幕和數碼管等)的顯示進行識別、檢測和自動判定,支持對各種桌面軟件和嵌入式軟件的GUI進行測試(如Qt軟件測試)。
下面以某電機控制器中電機控制模塊的自動化測試方案為例,分析如何使用宏控UTP測試系統對被嵌入式系統建立自動化測試環境。
(1)被測系統組成

電機控制模塊是電機控制器的核心模塊, 電機控制模塊通過CAN接口同整車控制器(VCU)和電池管理系統(BMS)通信,接收VCU發來的目標轉速、扭矩的控制信息,通過PWM信號控制電機運動,實時采集和處理各種傳感器信號(如轉速、扭矩、溫度等),并將當前的轉速等信息發給整車控制器(VCU)。
(2)被測系統的一個典型工作時序
① 電機控制模塊通過CAN接口接收整車控制器發送的轉速和扭矩信號
② 電機控制模塊向IGBT輸出PWM電機控制信號
③ 電機控制模塊檢測電流、電壓、轉速、扭矩和溫度等信號
④ 電機控制模塊將當前的轉速和扭矩通過CAN接口發送給整車控制器
(3)搭建自動化仿真環境
下圖宏控UTP測試系統為被測電機控制模塊提供全仿真測試環境。

? ? ? ? ?
如上圖所示,UTP測試系統建立了電機控制模塊全仿真的自動化測試環境,用戶在UTP協同測試平臺上可對被測電機控制模塊進行各種時序和控制邏輯的測試,對各種正常和異常場景進行全面驗證。
UTP測試系統通過各種自動化測試機器人來實現不同的仿真和檢測功能, 這些自動化測試機器人包括:
① 整車控制器仿真機器人:自動仿真整車控制器同電機控制模塊進行CAN通信
② 電池管理系統仿真機器人:自動仿真電池管理系統同電機控制模塊進行CAN通信
③ PWM信號檢測機器人:自動檢測電機控制模塊發出的PWM控制信號
④ 電流信號仿真機器人:自動仿真電機反饋的電流信號
⑤ 電源信號仿真機器人:自動仿真電機反饋的電壓信號
⑥ 轉速信號仿真機器人:自動仿真電機反饋的轉速信號
⑦ 扭矩信號仿真機器人:自動仿真電機反饋的扭矩信號
⑧ 溫度信號仿真機器人:自動仿真電機反饋的溫度信號
? ? ? ? ?
(4)設計自動化仿真測試時序
可以在UTP系統上編寫各種測試時序邏輯,UTP系統將按時序邏輯調度測試機器人進行協同執行,實現對被測電機控制模塊的全面自動化測試。下面是在UTP系統上創建的自動化測試用例(對應上面工作時序的一個測試時序邏輯)。
? ? ? ? ?

? ? ? ? ?
使用宏控UTP協同自動化測試系統可以編寫各種測試時序,所編寫的測試邏輯可以自動化執行,方便地實現對各種異常和正常場景進行全覆蓋測試。
UTP自動化測試系統由UTP測試平臺和測試機器人盒子(內部包含各種自動化測試機器人)組成,下面介紹UTP系統的具體使用方法。
(1)啟動并登錄測試機器人盒子
測試機器人盒子里運行了多種測試機器人(比如CAN測試機器人、以太網測試機器人、IO信號測試機器人等), 這些測試機器人將通過硬件模塊連接被測嵌入式系統。


(2)登錄UTP測試平臺
輸入賬號和密碼登錄UTP平臺, 支持多人同時登錄使用。

(3)創建測試項目
輸入項目名稱、被測對象名稱和項目描述信息,點擊創建項目,支持創建多個測試項目(對應不同的產品項目)。此處以車身控制器的測試為例創建項目。
? ? ? ? ?


(4)配置項目使用的測試機器人
根據實際項目使用需要,配置一種或多種測試機器人,下圖配置了CAN通信測試機器人、IO信號測試機器人、PWM信號測試機器人、模擬信號測試機器人。


(5)設計自動化測試用例
用戶可以設計各種時序邏輯和業務場景的測試用例,不需要編寫代碼,支持用圖形化積木式創建各種測試用例,支持用戶設計任意多個測試用例:

所設計的用例自動產生測試步驟,下圖是上面測試時序對應的測試步驟:

(6)執行測試集
支持選擇一組測試用例創建測試集,支持通過測試集一鍵執行所選擇的多個測試用例,用于自動化的回歸測試。下圖中創建了兩個測試集,可以分別執行一鍵自動化回歸測試。

(7)查看測試報告
UTP測試系統自動生成測試報告,支持導出測試報表(Word文件格式),報告包含所執行的用例統計信息和各用例執行的詳細結果,如下圖的示例測試報告中自動標出失敗的用例對應的步驟和失敗原因,方便快速定位問題。

? ? ??
支持靈活選配各種測試功能
以下功能支持根據項目實際需求進行選配:
總線測試功能:CAN、LIN、FlexRay、CANFD、RS232、RS485、RS422、以太網、I2C、SPI等
信號測試功能:IO信號、PWM信號、模擬信號
無線測試功能:4G/5G、藍牙、WiFi、導航(GPS、北斗)
UI測試功能:各種軟件UI、嵌入式系統UI
無需編程,支持各種復雜場景的測試
支持圖形化設計各種測試用例,不需要進行C/C++等語言編程
支持快速設計各種復雜時序邏輯,支持異常注入,支持場景仿真
提供全流程自動化測試管理
統一管理各種測試文檔、測試腳本、測試工具;
支持產品追溯矩陣、支持測試需求、測試用例、測試結果管理
支持團隊共享各種測試資源
支持快速搭建各種自動化測試環境
支持各種嵌入式系統測試、總線通信測試、信號仿真測試
支持硬件在環(HIL)和軟件在環(SIL)測試
支持搭建半實物半仿真環境和全仿真測試環境
支持產品快速迭代,持續保障產品可靠
支持建立完備的自動化測試用例,對產品各種功能、性能、可靠性進行全面測試
產品變更時進行自動化回歸測試,持續保障被測產品的可靠穩定
提高測試效率,降低測試成本
統一管理各種測試文檔、測試腳本、測試工具;
人工需要測試幾周的工作,自動化測試幾個小時就能完成
手工難以測試的功能,自動化可以輕松測試
??????? 宏控UTP測試系統的詳細介紹資料可登錄公司官網查看:
????????????? 公司官網:https://www.macrosoftsys.com
UTP在線版(免費體驗):https://www.antestin.com (在電腦端登錄)
? ? ? ? ?
您也可加入下面自動化測試交流群進行討論和交流相關自動化測試技術:

? ? ? ? ?
宏控UTP自動化測試系統現在支持免費申請試用:
? ? ? ? ?
宏控UTP自動化測試套裝(試用版),包括試用的軟件和硬件,支持總線通信測試,信號仿真測試,無線通信仿真等自動化模塊,支持對各種ECU和域控制器進行測試。
該試用套裝包括:
(一)接口總線通信自動化測試
支持CAN、LIN、RS232/485/422, 以太網、I2C、SPI等總線
支持各種標準通信協議和自定義協議的測試
兼容CANoe協議文件格式(dbc文件)
支持各種業務通信、診斷、仿真等功能
(二)自動化信號仿真和信號檢測
支持IO信號、PWM信號、模擬信號的測試
支持多路信號的輸入和輸出
支持各種傳感器的仿真測試
(三)自動化無線通信測試
支持4G/5G、藍牙、導航信號的仿真測試
支持仿真各種異常通信場景
支持OTA升級測試
(四)自動化仿真測試
支持仿真各種實際環境參數,如溫度、壓力、高度、轉速等
支持靈活配置仿真參數
支持對信號、時序、算法、場景等仿真
試用申請:請加下面微信,并備注“UTP嵌入式測試套裝試用申請”

宏控軟件是一家面向各行業軟件和硬件產品提供專業自動化測試工具和解決方案的公司,提供各種自動化測試工具,包括嵌入式軟件測試、總線通信測試、無線通信測試、桌面軟件測試等,幫助客戶建立自動化測試環境,發現產品中深層次問題,提高產品可靠性,降低產品研發和測試成本。
更多的介紹信息可以訪問公司官網:https://www.macrosoftsys.com