0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CI/CT与DevOps流程下的SIL测试平台

Vector维克多 来源:Vector维克多 作者:Vector维克多 2022-10-28 16:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

汽车制造商最新EEA架构已基于高性能计算平台HPC和区域控制器Zone ECU开发,同时规划通过云端协同计算和生态引入来提升整车智能化能力,并支撑车云一体化软件平台部署。车或云端服务设计与开发、组合与编排均需要结合开发环境进行快速集成验证,而不应局限采用传统“V”模型HIL测试或实车路试这种非常滞后的方法。基于中间件的SOA技术实现软件与硬件解耦、应用与通信解耦,伴随CI/CT与DevOps的引入来加速软件迭代,结合开发环境构建SIL测试为“软件工厂”各阶段质量保障提供快速反馈。服务器版本CANoe4SW SE为分布式软件开发、“黑盒”软件交付提供基础验证平台,有利支撑后续App Store中软件的质量。

9371436e-5122-11ed-a3b6-dac502259ad0.jpg

图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的配置等。

93896728-5122-11ed-a3b6-dac502259ad0.jpg

图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自动化流程、云化扩展等功能。

93a08cd2-5122-11ed-a3b6-dac502259ad0.jpg

图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:前端显示或写入系统运行过程中的日志信息。

93c5553a-5122-11ed-a3b6-dac502259ad0.jpg

图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手册。

93e5c3e2-5122-11ed-a3b6-dac502259ad0.jpg

图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-make MyTests.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

943d27cc-5122-11ed-a3b6-dac502259ad0.jpg

图6:集成测试在CI环境中满足跨平台部署

开源SIL Kit库赋能SOA等软件系统的SIL集成

车云SOA系统和嵌入式软件模块集成时,无论软件系统或软件模块之间的交互是总线、I/O或软件接口,开源免费的“分布式软总线”库SIL Kit支持SUT能够在应用软件或报文层面实现集成,且支持跨平台,使得SIL测试与HIL使用相同的环境实现。结合完整的SIL测试脚本设计工具vTESTstudio、测试执行平台CANoe4SW SE、SUT虚拟化工具、车辆动力学和场景模型DYNA4,可实现SOA开环或闭环的测试。SOA应用中的软件系统、虚拟控制器,以及云端监控应用或采集数据皆可通过SIL Kit集成交互。

947bd6fc-5122-11ed-a3b6-dac502259ad0.jpg

图7:开源免费的SIL Kit赋能汽车行业SIL

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    189

    文章

    3018

    浏览量

    237599
  • 控制器
    +关注

    关注

    114

    文章

    17638

    浏览量

    190256
  • 服务器
    +关注

    关注

    13

    文章

    10094

    浏览量

    90883

原文标题:CI/CT与DevOps流程下的SIL测试平台

文章出处:【微信号:VectorChina,微信公众号:Vector维克多】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CI/CT自动化测试解决方案

    北汇信息可以提供Jenkins、Gitlab Runner CI和自研平台等的CI/CT整体解决方案,通过CI/
    的头像 发表于 11-12 16:01 1196次阅读
    <b class='flag-5'>CI</b>/<b class='flag-5'>CT</b>自动化<b class='flag-5'>测试</b>解决方案

    北汇信息汽车电子CI/CT平台案例三则

    北汇信息具备十多年测试行业业务积累,CI/CT自动化测试解决方案已在各大OEM和Tier 1落地,分享三则实际案例。
    的头像 发表于 10-24 15:06 276次阅读
    北汇信息汽车电子<b class='flag-5'>CI</b>/<b class='flag-5'>CT</b><b class='flag-5'>平台</b>案例三则

    AI赋能标准化流程:智能汽车软件CI/CT最佳实践新范式

    在智能汽车软件研发中,标准化流程是保障质量与合规的基石。ASPICE与ISO26262等标准要求开发团队在功能安全与过程成熟度之间保持平衡,但随着车载软件复杂度持续增加,传统CI/CT流程
    的头像 发表于 10-15 10:01 749次阅读
    AI赋能标准化<b class='flag-5'>流程</b>:智能汽车软件<b class='flag-5'>CI</b>/<b class='flag-5'>CT</b>最佳实践新范式

    LambdaTest推出全球首个AI智能体测试平台

    体逐渐融入开发者的工作流程,该平台将革新企业在对话流程、意图识别、语气一致性、复杂推理等多重维度中对AI智能体进行测试与验证的方式。
    的头像 发表于 08-26 17:37 711次阅读

    CT-4028-O/CT-4027-N铁氧体隔离器

    、空间紧凑的PCB板级集成场景,如5G毫米波基站、卫星通信终端等。其紧凑设计可轻松嵌入微波电路,实现高效的信号隔离与传输。CT-4027-N(N型接口):针对高功率、频繁插拔的测试环境优化,如外场雷达
    发表于 08-12 09:43

    老文章新视角:从静态测试CI/CT生态的进化

    的生态系统,而以PiL/HiL为核心的持续测试CT)是这一生态的底层支柱。这一进化不仅需要工具供应商的开放协作,更需要主机厂与Tier1重构研发流程,将CI/
    的头像 发表于 05-26 10:50 1455次阅读
    老文章新视角:从静态<b class='flag-5'>测试</b>到<b class='flag-5'>CI</b>/<b class='flag-5'>CT</b>生态的进化

    Jenkins和Docker自动化CI/CD全流程

    要想做到一个高效的CI/CD流程,需要有能力整合DevOps工具链及多环境适配,并且设计之初以自动化为原则,如一键部署、一键升级。
    的头像 发表于 05-14 11:50 717次阅读
    Jenkins和Docker自动化<b class='flag-5'>CI</b>/CD全<b class='flag-5'>流程</b>

    伺服电机测试流程分析

    伺服电机的测试流程是确保电机正常工作的关键步骤。以下是对伺服电机测试流程的详细分析。  一、初步检查与准备 1. 外观检查:首先,对伺服电机进行外观检查,确保电机完好无损,没有明显的物
    的头像 发表于 04-23 17:56 1098次阅读

    求助,关于NXP S32K3xx硬件板的SIL测试问题求解

    我们在尝试使用 恩智浦 S32K3xx 硬件板为我们的模型创建 SIL 测试框架时遇到问题。错误消息“错误:模型配置为创建 SIL 模块,所选硬件板不支持该模块。要解决此问题,请在“配置参数”对话框
    发表于 04-01 08:15

    模型测试流程实战沙盘,赋能CI/CD及SiL测试 ——TPT Workshop邀请函

    北汇信息将于4月18日在上海市闵行区虹桥镇紫秀路100号4幢3C室举办为期1天的“模型测试流程实战沙盘,赋能CI/CD及SiL测试”相关内
    的头像 发表于 03-26 15:44 512次阅读
    模型<b class='flag-5'>测试</b>全<b class='flag-5'>流程</b>实战沙盘,赋能<b class='flag-5'>CI</b>/CD及<b class='flag-5'>SiL</b><b class='flag-5'>测试</b> ——TPT Workshop邀请函

    【Android开发者必看】使用JetBrains TeamCity为Android项目构建CI/CD管道详细指南

    CI/CD】定义明确的构建、测试和部署工作流对Android应用的开发至关重要。JetBrains TeamCity是一个用于构建可靠管道的CI/CD平台,可与流行的Android开
    的头像 发表于 03-21 15:42 996次阅读
    【Android开发者必看】使用JetBrains TeamCity为Android项目构建<b class='flag-5'>CI</b>/CD管道详细指南

    斯丹麦德电子SIL干簧继电器:专为自动测试设备(ATE)设计

    可靠和持久的干簧继电器与高质量标准。符合IEC61810标准,UL认证。通用型仪表级SIL系列干簧继电器在尺寸、性能和市场可用性之间取得了良好的平衡。SIL继电器采用坚固的热固性瞎聊封装,以单列直插式封装形式提供,适用于测试测量
    发表于 03-03 13:30 0次下载

    云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台

    Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续交付(CD)软件项目。它允许开发人员在软件开发过程中自动化各种任务,如构建、测试和部署,从而提高开发效率和软件质量。
    的头像 发表于 12-29 15:43 671次阅读
    云服务器Flexus X实例,Docker集成搭建Jenkins <b class='flag-5'>CI</b>/CD<b class='flag-5'>平台</b>

    CI/CD方案:推动智能汽车开发的高效利器

    在智能化和自动驾驶技术飞速发展的背景,汽车软件开发的复杂性正以前所未有的速度增长。面对市场对效率、质量和快速迭代的高需求,传统开发模式已然捉襟见肘。作为提升开发效率和质量的核心工具,CI/CD
    的头像 发表于 12-18 10:03 1386次阅读
    <b class='flag-5'>CI</b>/CD方案:推动智能汽车开发的高效利器

    汽车软件DevOps解决方案

    经纬恒润汽车软件DevOps解决方案是专为现代汽车行业设计的一套集成化需求、开发、测试、部署、OTA与监控,旨在加速软件开发流程,提高软件质量和安全性,同时确保整个生命周期的高效性和灵活性。
    的头像 发表于 12-16 10:33 2180次阅读
    汽车软件<b class='flag-5'>DevOps</b>解决方案