作者 |汽车ECU开发
近几年,汽车行业一直朝着软件定义汽车发展,更多的特性和功能主要通过软件实现,这些软件可以快速、轻松的进行远程更新。
当前一辆车上的代码量达到数以千万计,但是在车辆网联、自动驾驶、用户体验方面还仅仅是初级阶段,这其中每项创新都需要复杂的软件来支撑。
确保开发人员拥有更好的工具、流程和结构来高效地创建、测试和更新软件,这是整个行业的首要任务。
答案在于持续集成和持续部署 (CI/CD),但平台必须具有足够强大的云原生开发和编译环境,以实现实时、全球协作并执行严格、广泛的测试汽车应用。
一个更好的方法
随着软件将车辆的安全性、舒适性和便利性提升到新的水平,开发人员现在需要比传统系统更现代、更强大的软件开发环境。
过去,软件开发遵循僵化、缓慢的瀑布方法,并使用高度分散的工具链。开发将经历离散的阶段,每个阶段都在下一个阶段开始之前完成。许多开发过程是手动的,从工具链的一个部分到下一个部分的切换也是如此。以这种方法一版软件需要六到八个月的时间的开发时间。
如今,汽车领域的软件越来越从硬件中抽象出来,开发人员有机会利用这种架构转变,他们可以使用敏捷和DevOps 方法按自己的时间表来更新软件,并且不受硬件更改或其他物理更新的影响。这种方法提供了前所未有的速度、可扩展性、质量和安全水平。
在持续集成 (CI) 中,构建软件的工作是自动化的,软件生产的所有步骤都包含在 CI 链中,因为一个部分的输出成为下一个部分的输入。持续部署 (CD) 是在现场自动部署新版本软件。CI/CD 以及连续测试 (CT) 现在可以在汽车中进行,但测试新的高级应用程序在汽车行业提出了一个独特的问题,因为测试需要在物理车辆上或在试验台上进行复杂的模拟测试。
理想的方法是通过基于云的集中式平台消除开发和测试过程中的瓶颈,使开发人员能够在位于世界任何测试中心的相关测试台上执行任何测试。这些测试可以将软件在环 (SIL)、硬件在环 (HIL) 甚至车辆在环 (VIL) 置于更真实的测试中。这种方法允许使用全球资源来应对当今最严峻的挑战所需的规模。
传统方法的问题
当开发人员每天编写数百万行代码时,传统的开发、测试、集成和部署软件的方法是不可持续的。对HIL测试的需求意味着,由于在CI期间代码更改已经集成到软件中,CI系统必须在物理上位于HIL工作台的旁边。这种方法有许多缺点:
1.单个构建可能需要数小时,而它需要在几分钟或更短的时间内完成。这是影响上市速度和质量的一个重大瓶颈,因为更长的构建通常会导致执行自动化测试的时间更少。当构建时间过长时,它会消耗宝贵的时间,这些时间可以更好地用于额外的测试或功能开发。
2.如果没有普遍接受的软件方法,影子 IT 不可避免地会出现,这意味着开发人员有时会使用自己喜欢的工具。这不仅会造成效率低下,而且还可能成为安全风险,因为 IT 缺乏对开发过程的可见性。当开发人员使用不同的工具集时,他们更难与客户或彼此协作。
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。
举报邮箱:3220065589@qq.com,如涉及版权问题,请联系。
网友评论