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