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