汽車制造商最新EEA架構已基于高性能計算平臺HPC和區域控制器Zone ECU開發,同時規劃通過云端協同計算和生態引入來提升整車智能化能力,并支撐車云一體化軟件平臺部署。車或云端服務設計與開發、組合與編排均需要結合開發環境進行快速集成驗證,而不應局限采用傳統“V”模型HIL測試或實車路試這種非常滯后的方法?;谥虚g件的SOA技術實現軟件與硬件解耦、應用與通信解耦,伴隨CI/CT與DevOps的引入來加速軟件迭代,結合開發環境構建SIL測試為“軟件工廠”各階段質量保障提供快速反饋。服務器版本CANoe4SW SE為分布式軟件開發、“黑盒”軟件交付提供基礎驗證平臺,有利支撐后續App Store中軟件的質量。
圖1:隨著車云一體化的“軟件工廠”
CI/CT、DevOps流程與SOA測試
過往分布式架構中諸多ECU算法將服務化整合到HPC和Zone ECU,跨地區和部門團隊的協同必須采用敏捷的流程,才能安全、穩定、快捷、高效地完成復雜SOA軟件交付。通常SOA服務測試包括:SOA服務接口測試、SOA業務邏輯測試、SOA壓力測試和SOA性能測試等,除性能測試需在HIL環境驗證外其它測試內容均可在SIL環境中測試驗證。無論SOA的SIL或HIL,均需工具能夠同時支持SOME/IP、MQTT和DDS等車載中間件的協議的仿真、測試和分析,包括數據庫定義或修改功能;同時必須有SIL和HIL的自動化腳本庫,否則CI/CT和DevOps只是“徒有其名”。伴隨車云一體化和OTA系統的搭建,基于成熟IT配置環境在開發驗證流程中完全可以實現持續集成、持續測試、持續交付,滿足敏捷或DevOps流程實現SOA測試驗證與交付。相關工具必須支持高度耦合SOA開發環境并支持在結合IT環境中的自動化,如部署在基于Linux的PC或Docker運行、VS/VSC的開發調試、基于YAML的配置等。
圖2:軟件生命周期中持續迭代過程構成DevOps反饋
汽車行業DevOps測試平臺:
CANoe4SW Server Edition
結合敏捷開發理念,順勢而為開展DevOps流程,在服務器或云集群環境下持續測試軟件系統,達到質效平衡。服務器版本CANoe4SW SE(CANoe4SW Server Edition)通過腳本控制復用CANoe或CANoe4SW測試工程滿足自動化仿真、診斷和測試,或在沒有CANoe情況下通過YAML配置實現DevOps流程中的自動化測試。開放和靈活的DevOps平臺支持部署在各類虛擬環境中,包括Dockers Container和Virtual Machines,操作系統支持:Windows 10/11、Windows Server 2019、Linux Ubuntu 18.04/20.04/22.04和AlmaLinux 8.6等,具有與自研方案互聯擴展、耦合動力學與場景仿真工具、高度支持CI/CT/CD自動化流程、云化擴展等功能。
圖3:CANoe產品體系中CANoe4SW SE的應用
CANoe4SW SE提供前端命令行操控、REST API監控、后端支持YAML配置實現服務器或云端自動并發執行,配合Vector開源的SIL Kit可實現車端和云端SOA軟件虛擬集成,同時結合平臺開放的接口MATLAB/Simulink、FMI/FMU和FDX可構建復雜SIL測試系統,自動化測試設計使用vTESTstudio實現。開放接口和自動化腳本執行均支持Linux配置環境,從而更好滿足服務器或云端驗證SOA應用軟件,同時搭配AUTOSAR Classic軟件虛擬化工具vVIRTUALtarget SE可滿足MCU端軟件的虛擬集成測試。
CANoe4SW Server Edition
命令行工具集
>
AUTOSAR Preprocessor:通過命令行或調用.yaml配置實現SIL測試環境在配置階段需要多個AUTOSAR Extract(SYS-E)合并為System Description (SYS-D)的功能;
>
CANoe4ServerControl:控制CANoe4SW SE執行工具,包括instance的開啟和關閉、對應instance工程的啟動與停止,以及instance運行狀態的查詢;
>
canoe4sw-se:實現environment-make或CANoe/CANoe4SW導出的*.rtcfg的執行,支持自動和手動兩種模式;
>
environment-make:解析*.yaml文件并編譯SUT運行的配置環境工程;
>
sil-adapter-builder:將binding在SiLkit的軟件接口描述文件創建為C++或Python應用程序的SiL Adapter;
>
test-unit-make:編譯vTESTstudio創建自動化腳本為*.vtuexe,能被canoe4sw-se加載執行;
>
wlogdump:前端顯示或寫入系統運行過程中的日志信息。
圖4:前端命令行操控實現軟件集成測試
基于YAML配置DevOps中的測試
過往在CI/CT測試中使用Jenkins調度控制CANoe及其工程配置通過COM組件實現,配置過程依賴CANoe的license才能實現CANoe4SW SE需要的配置。在實際SOA軟件開發過程中,DevOps開發配置工程師更多使用簡潔強大的YAML來寫配置文件,CANoe4SW SE仿真環境可直接基于YAML配置實現,在Visual Studio Code中配置對應Schema可實現對應描述文件的配置,支持自動補全和校驗功能,YAML配置語法規則詳見CANoe4SW SE的Help手冊。
圖5:使用VSC配置YAML文件
結合YAML配置的實現DevOps流程如下:
>
創建仿真環境需要的*.yaml文件:在配置中加載數據庫(如*.arxml)、數據源(如*.vcdl)、應用程序(CAPL、C#或Python),配置不同應用場景的配置切換;
>
通過environment-make將配置文件轉換為可執行的工程文件;
$ environmaent-make
>
通過test-unit-make將vTESTstudio創建的自動化腳本加載到上一步生成的配置工程中,如下將MyTests.vtuexe加載到Default.venvironment對應配置中;
$ test-unit-make MyTests.vtuexe --environment Default.venvironment
>
通過canoe4sw-se在CANoe4SW SE環境中執行工程和測試腳本,如下執行MyTests.vtuexe中的所有測試用例。
$canoe4sw-seDefault.venvironment --test-unit MyTests.vtestunit --show-progress tree-element
CANoe Make支持跨平臺的工程創建,能夠在Linux平臺上執行vTESTstduio創建的自動化腳本。CANoe4SW SE當前版本已支持Linux系統中的功能如:Ethernet/CAN FD/CAN/LIN總線仿真、執行vTESTstudio自動化腳本、耦合外部應用的FDX/FMI接口、XCP等。在Ubuntu Server環境中只需拷貝*.tar.gz創建安裝路徑提取安裝即可。使用Docker容器技術也可執行CANoe4SW SE的instance,通過Dockerfile配置和創建Container Image,在Docker環境支持響應式部署和擴展、資源開銷低,當然系統支持云部署。
# Create Default.venvironment?based on one?venvironment.yaml for Linux
$environment-make. --arch Linux64
# Compile the test unit MyTests.vtuexe for the previously created Default.venvironment
$test-unit-makeMyTests.vtuexe --environment Default.venvironment
# Execution of all test cases of the test unit?MyTests.vtuexe for the Default.venvironment
$?canoe4sw-se?Default.venvironment --test-unit MyTests.vtestunit --show-progress tree-element
圖6:集成測試在CI環境中滿足跨平臺部署
開源SIL Kit庫賦能SOA等軟件系統的SIL集成
車云SOA系統和嵌入式軟件模塊集成時,無論軟件系統或軟件模塊之間的交互是總線、I/O或軟件接口,開源免費的“分布式軟總線”庫SIL Kit(源碼與說明文檔詳見:https://github.com/vectorgrp/sil-kit)支持SUT能夠在應用軟件或報文層面實現集成,且支持跨平臺,使得SIL測試與HIL使用相同的環境實現。結合完整的SIL測試腳本設計工具vTESTstudio、測試執行平臺CANoe4SW SE、SUT虛擬化工具、車輛動力學和場景模型DYNA4,可實現SOA開環或閉環的測試。SOA應用中的軟件系統、虛擬控制器,以及云端監控應用或采集數據皆可通過SIL Kit集成交互。
圖7:開源免費的SIL Kit賦能汽車行業SIL
更多信息
CANoe4SW SE提供CI Team License(CITL)和CI Agent Count License(CIACL)兩種授權模式,滿足多團隊協同持續集成測試和大規模系統并發測試等復雜應用場景。
-
SIL
+關注
關注
0文章
9瀏覽量
2551 -
devops
+關注
關注
0文章
116瀏覽量
12037
發布評論請先 登錄
相關推薦
評論