近几年,汽车行业不时朝着软件定义汽车开展,更多的个性和配置关键经过软件成功,这些软件可以极速、轻松的启动远程更新。
一辆车上的代码量到达数以千万计,但是在车辆网联、智能驾驶、用户体验方面还仅仅是初级阶段,这其中每项翻新都须要复杂的软件来撑持。
确保开发人员领有更好的工具、流程和结构来高效地创立、测试和更新软件,这是整个行业的首要义务。
答案在于继续集成和继续部署 (CI/CD),但平台必需具有足够弱小的云原生开发和编译环境,以实理想时、环球协作并执行严厉、宽泛的测试汽车运行。
随着软件将车辆的安保性、温馨性和便利性优化到新的水平,开发人员如今须要比传统系统更现代、更弱小的软件开发环境。
过去,软件开发遵照僵化、缓慢的瀑布方法,并经常使用高度扩散的工具链。开发将阅历团圆的阶段,每个阶段都在下一个阶段开局之前成功。许多开发环节是手动的,从工具链的一个局部到下一个局部的切换也是如此。以这种方法一版软件须要六到八个月的时期的开发时期。
如今,汽车畛域的软件越来越从配件中形象进去,开发人员无时机应用这种架构转变,他们可以经常使用矫捷和DevOps 方法按自己的时期表来更新软件,并且不受配件更改或其余物理更新的影响。这种方法提供了史无前例的速度、可裁减性、质量和安保水平。
在继续集成 (CI) 中,构建软件的上班是智能化的,软件消费的一切步骤都蕴含在 CI 链中,由于一个局部的输入成为下一个局部的输入。继续部署 (CD) 是在现场智能部署新版本软件。CI/CD 以及延续测试 (CT) 如今可以在汽车中启动,但测试新的初级运行程序在汽车行业提出了一个共同的疑问,由于测试须要在物理车辆上或在实验台上启动复杂的模拟测试。
理想的方法是经过基于云的集中式平台消弭开发和测试环节中的瓶颈,使开发人员能够在位于环球任何测试中心的关系测试台上执行任何测试。这些测试可以将软件在环 (SIL)、配件在环 (HIL) 甚至车辆在环 (VIL) 置于更实在的测试中。这种方法准许经常使用环球资源来应答当今最严厉的应战所需的规模。
当开发人员每天编写数百万行代码时,传统的开发、测试、集成和部署软件的方法是无法继续的。对HIL测试的需求象征着,由于在CI时期代码更改曾经集成到软件中,CI系统必需在物理上位于HIL上班台的旁边。这种方法有许多缺陷:
1.单个构建或许须要数小时,而它须要在几分钟或更短的时期内成功。这是影响上市速度和质量的一个严重瓶颈,由于更长的构建通常会造成执行智能化测试的时期更少。当构建时期过长时,它会消耗贵重的时期,这些时期可以更好地用于额外的测试或配置开发。
2.假设没有普遍接受的软件方法,影子 IT 无法防止地会产生,这象征着开发人员有时会经常使用自己青睐的工具。这不只会形功效率低下,而且还或许成为安保风险,由于 IT 不足对开发环节的可见性。当开发人员经常使用不同的工具集时,他们更难与客户或彼此协作。
3.为同一软件名目奉献的CI链曾经散布谢环球各地的多个技术中心,每个中心都有自己的HIL测试台。假设没有规范的方法,企业就无法在云中启动开发,也无法成功环球规范化所带来的分歧性和可重复性。
4.随着多个团队甚至供应商为当今的移动软件产品做出奉献,集成点的参与推进了质量、交付和时期疑问的参与。最佳通常是尽早且经常地集成代码,但传统方法在开发环节中创立了不灵敏的闸,造成在下一个兼并门之前无法测试的疑问。这会造成整个名目产生不用要的延误。
由于车辆是生命安保系统,汽车公司常年以来不时驳回以需求为中心的方法来设计和测试它们。他们依据一系列的要求来验证系统,以确保安保和法律方面的思索获取了适当的处置,理想上,行业的ISO 26262配置安保规范造成了须要测试配置的每一个需求。简而言之,制作商必需证实他们的处置打算在第一天就合乎规格,并且在颁布后的每次更新中,他们必需确保一切昨天能用的物品当天依然能用。
在过去的 10 年里,汽车行业运行中的软件需求数量已从数百增长到数万。其中许多要求必需经常使用运转在与车辆相反的电子控制单元 (ECU) 配件上的嵌入式软件启动测试。测试还必需实时执行,以确保照应时期是可预测的,这象征着每个测试平均须要几分钟。最关键的是,软件通常散布在多个 ECU、传感器和其余设备上,并且由不同公司的等同散布的团队开发。
这些起因造成公司在多个地点经常使用多个CI链,都有自己的HIL测试平台,并且都为同一个名目做出奉献。
更好的方法是为每个程序创立一个繁多的、一致的工具链。这个工具链应该是基于云的,并且可以在环球范围内经常使用。而且应该有一种机制来极速和轻松地部署新的工具链。
基于云的工具链具有可伸缩性,可以确保CI构建时期不会成为瓶颈,这一点很关键,由于瓶颈会紧缩可用的测试时期,并或许造成软件提早颁布。
经常使用基于云的方法,开发是顺畅的,由于代码更新在开发团队之间共享,因此每团体都在同一页面上了解名目标形态。这可以提高智能化、远程缺点扫除、极速反应、明白的团队调配和明白的产品一切权。
经常使用基于云的CI象征着开发团队创立的新代码可以智能集成到代码库中,而经常使用OTA更新的基于云的CD可以确保成功构建的代码智能部署到测试或消费环境中,无论它们在哪里。假设处置切当,云方法还可以在整个环节中构建安保性,包括劫难复原。而且,托管在云中的集中式基础设备准许经常使用繁多的治理视图来检查一切这些高度安保和弹性的CI链。
此外,灵敏性准许开发人员在开发周期的前期改良产品。开发人员可以在前一年定义需求,对它们启动测试,从而构建更凑近消费者希冀的系统,而不是当天选择消费者在几年内想要什么。
而后,他们可以在未来几年依据须要部署 OTA 软件更新,从而下降保修老本并确保软件继续满足消费者的希冀。
在汽车工业中,为了确保软件在各种驾驶条件下都能反常上班,试驾或许须要数十万英里。
仿真程序使软件供应商能够下降老本,同时提供灵敏性和可重复性。此外,经过模拟可以在复杂处置打算的开发环节中测试代码片段或组件,而不是期待整个产品成功而后启动测试,而后前往并启动修复,重复测试和修复。
借助仿真技术,结合 SIL 或 HIL,可以测试和验证日常构建。并且多线程 SIL 或 HIL 可以同时启动多个测试而不是顺序启动,这也节俭了时期并提高了效率。
SIL 测试齐全在软件生成的建模环境中启动。SIL 测试的好处是不须要不凡配件(简直可以在任何笔记本电脑或其余计算平台上启动),并且最适宜在早期阶段测试设计。
在HIL测试中,系统会模拟车辆和ECU的环境输入,使其误以为与实在车辆相连。HIL上班台蕴含所无关系的车辆组件。模拟器向实践的摄像机和雷达系统提供输入信号,而后向被测系统发送信号,以检查系统能否对输入信号作出正确照应。
例如,测试脚本可以创立一个场景,在这个场景中,一辆在雨中以60km/h的速度绕着弯道行驶的汽车在路上遇到一个未知的物体,或许一辆迎面驶来的汽车在中线上急转弯。衔接在HIL实验台上的摄像机和雷达将图像发送到ECU,被测系统必需实时处置这些数据,并选择采取何种执行。
模拟还准许测试人员极速测试稀有或潜在风险的用例。通常为了尝试重现特定的驾驶条件或部件疑问,不得不驾驶数百公里。模拟准许按需测试,经过从新模拟特意具有应战性的场景来显示不同版本的软件如何对相反的输入做出反响。
基于放开规范和矫捷软件开发准则的环球集成云原生架构消弭了传统瓶颈,并为汽车行业开发先进软件的公司带来了关键好处。这些包括 :
基于云的、环球可用的体系结构可以谢环球任何中央远程控制测试平台。这参与了可裁减性和灵敏性。
智能化可以将构建时期缩短多达 80%。公司可以经过基于容器的架构和代码兼并的方法来消弭瓶颈。他们可以仅重建和测试更改的局部,从而将部署速度提高 60%。
当多个协作同伴实时测试彼此的代码时,开发人员都可以在协作同伴提交代码的同一天启动集成、测试和疑问修复。其结果是为 OEM 提供极速、高质量、低风险的复杂软件配置,在老本效益、保养和前期迭代上也具有显著好处。
与远程SIL/ HIL测试平台的完选集成可以提高产质量量,由于开发人员可以在任何中央启动测试,并且并前启动有限的测试。
整个团队可以片面了解一切软件开发链的最新形态,无论程序大小、复杂性或修正的内容。CI最佳通常可以获取实施和支持,并且可以在提早识别出疑问。这也极大地简化了安保战略的执行。