作者 |汽車ECU開發(fā)

近幾年,汽車行業(yè)一直朝著軟件定義汽車發(fā)展,更多的特性和功能主要通過軟件實現(xiàn),這些軟件可以快速、輕松的進(jìn)行遠(yuǎn)程更新。

當(dāng)前一輛車上的代碼量達(dá)到數(shù)以千萬計,但是在車輛網(wǎng)聯(lián)、自動駕駛、用戶體驗方面還僅僅是初級階段,這其中每項創(chuàng)新都需要復(fù)雜的軟件來支撐。

確保開發(fā)人員擁有更好的工具、流程和結(jié)構(gòu)來高效地創(chuàng)建、測試和更新軟件,這是整個行業(yè)的首要任務(wù)。

答案在于持續(xù)集成和持續(xù)部署 (CI/CD),但平臺必須具有足夠強(qiáng)大的云原生開發(fā)和編譯環(huán)境,以實現(xiàn)實時、全球協(xié)作并執(zhí)行嚴(yán)格、廣泛的測試汽車應(yīng)用。

一個更好的方法

隨著軟件將車輛的安全性、舒適性和便利性提升到新的水平,開發(fā)人員現(xiàn)在需要比傳統(tǒng)系統(tǒng)更現(xiàn)代、更強(qiáng)大的軟件開發(fā)環(huán)境。

過去,軟件開發(fā)遵循僵化、緩慢的瀑布方法,并使用高度分散的工具鏈。開發(fā)將經(jīng)歷離散的階段,每個階段都在下一個階段開始之前完成。許多開發(fā)過程是手動的,從工具鏈的一個部分到下一個部分的切換也是如此。以這種方法一版軟件需要六到八個月的時間的開發(fā)時間。

如今,汽車領(lǐng)域的軟件越來越從硬件中抽象出來,開發(fā)人員有機(jī)會利用這種架構(gòu)轉(zhuǎn)變,他們可以使用敏捷和DevOps 方法按自己的時間表來更新軟件,并且不受硬件更改或其他物理更新的影響。這種方法提供了前所未有的速度、可擴(kuò)展性、質(zhì)量和安全水平。

在持續(xù)集成 (CI) 中,構(gòu)建軟件的工作是自動化的,軟件生產(chǎn)的所有步驟都包含在 CI 鏈中,因為一個部分的輸出成為下一個部分的輸入。持續(xù)部署 (CD) 是在現(xiàn)場自動部署新版本軟件。CI/CD 以及連續(xù)測試 (CT) 現(xiàn)在可以在汽車中進(jìn)行,但測試新的高級應(yīng)用程序在汽車行業(yè)提出了一個獨特的問題,因為測試需要在物理車輛上或在試驗臺上進(jìn)行復(fù)雜的模擬測試。

理想的方法是通過基于云的集中式平臺消除開發(fā)和測試過程中的瓶頸,使開發(fā)人員能夠在位于世界任何測試中心的相關(guān)測試臺上執(zhí)行任何測試。這些測試可以將軟件在環(huán) (SIL)、硬件在環(huán) (HIL) 甚至車輛在環(huán) (VIL) 置于更真實的測試中。這種方法允許使用全球資源來應(yīng)對當(dāng)今最嚴(yán)峻的挑戰(zhàn)所需的規(guī)模。

傳統(tǒng)方法的問題

當(dāng)開發(fā)人員每天編寫數(shù)百萬行代碼時,傳統(tǒng)的開發(fā)、測試、集成和部署軟件的方法是不可持續(xù)的。對HIL測試的需求意味著,由于在CI期間代碼更改已經(jīng)集成到軟件中,CI系統(tǒng)必須在物理上位于HIL工作臺的旁邊。這種方法有許多缺點:

1.單個構(gòu)建可能需要數(shù)小時,而它需要在幾分鐘或更短的時間內(nèi)完成。這是影響上市速度和質(zhì)量的一個重大瓶頸,因為更長的構(gòu)建通常會導(dǎo)致執(zhí)行自動化測試的時間更少。當(dāng)構(gòu)建時間過長時,它會消耗寶貴的時間,這些時間可以更好地用于額外的測試或功能開發(fā)。

2.如果沒有普遍接受的軟件方法,影子 IT 不可避免地會出現(xiàn),這意味著開發(fā)人員有時會使用自己喜歡的工具。這不僅會造成效率低下,而且還可能成為安全風(fēng)險,因為 IT 缺乏對開發(fā)過程的可見性。當(dāng)開發(fā)人員使用不同的工具集時,他們更難與客戶或彼此協(xié)作。

免責(zé)聲明:本文僅代表文章作者的個人觀點,與本站無關(guān)。其原創(chuàng)性、真實性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容文字的真實性、完整性和原創(chuàng)性本站不作任何保證或承諾,請讀者僅作參考,并自行核實相關(guān)內(nèi)容。

舉報郵箱:3220065589@qq.com,如涉及版權(quán)問題,請聯(lián)系。