近幾年,汽車行業(yè)一直朝著軟件定義汽車發(fā)展,更多的特性和功能主要通過軟件實現(xiàn),這些軟件可以快速、輕松的進行遠程更新。
當前一輛車上的代碼量達到數(shù)以千萬計,但是在車輛網(wǎng)聯(lián)、自動駕駛、用戶體驗方面還僅僅是初級階段,這其中每項創(chuàng)新都需要復(fù)雜的軟件來支撐。
確保開發(fā)人員擁有更好的工具、流程和結(jié)構(gòu)來高效地創(chuàng)建、測試和更新軟件,這是整個行業(yè)的首要任務(wù)。
答案在于持續(xù)集成和持續(xù)部署 (CI/CD),但平臺必須具有足夠強大的云原生開發(fā)和編譯環(huán)境,以實現(xiàn)實時、全球協(xié)作并執(zhí)行嚴格、廣泛的測試 汽車應(yīng)用。
1.一個更好的方法
隨著軟件將車輛的安全性、舒適性和便利性提升到新的水平,開發(fā)人員現(xiàn)在需要比傳統(tǒng)系統(tǒng)更現(xiàn)代、更強大的軟件開發(fā)環(huán)境。
過去,軟件開發(fā)遵循僵化、緩慢的瀑布方法,并使用高度分散的工具鏈。開發(fā)將經(jīng)歷離散的階段,每個階段都在下一個階段開始之前完成。許多開發(fā)過程是手動的,從工具鏈的一個部分到下一個部分的切換也是如此。以這種方法一版軟件需要六到八個月的時間的開發(fā)時間。
如今,汽車領(lǐng)域的軟件越來越從硬件中抽象出來,開發(fā)人員有機會利用這種架構(gòu)轉(zhuǎn)變,他們可以使用敏捷和DevOps 方法按自己的時間表來更新軟件,并且不受硬件更改或其他物理更新的影響。這種方法提供了前所未有的速度、可擴展性、質(zhì)量和安全水平。
在持續(xù)集成 (CI) 中,構(gòu)建軟件的工作是自動化的,軟件生產(chǎn)的所有步驟都包含在 CI 鏈中,因為一個部分的輸出成為下一個部分的輸入。持續(xù)部署 (CD) 是在現(xiàn)場自動部署新版本軟件。CI/CD 以及連續(xù)測試 (CT) 現(xiàn)在可以在汽車中進行,但測試新的高級應(yīng)用程序在汽車行業(yè)提出了一個獨特的問題,因為測試需要在物理車輛上或在試驗臺上進行復(fù)雜的模擬測試。
理想的方法是通過基于云的集中式平臺消除開發(fā)和測試過程中的瓶頸,使開發(fā)人員能夠在位于世界任何測試中心的相關(guān)測試臺上執(zhí)行任何測試。這些測試可以將軟件在環(huán) (SIL)、硬件在環(huán) (HIL) 甚至車輛在環(huán) (VIL) 置于更真實的測試中。這種方法允許使用全球資源來應(yīng)對當今最嚴峻的挑戰(zhàn)所需的規(guī)模。
02.傳統(tǒ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í)行自動化測試的時間更少。當構(gòu)建時間過長時,它會消耗寶貴的時間,這些時間可以更好地用于額外的測試或功能開發(fā)。
2.如果沒有普遍接受的軟件方法,影子 IT 不可避免地會出現(xiàn),這意味著開發(fā)人員有時會使用自己喜歡的工具。這不僅會造成效率低下,而且還可能成為安全風險,因為 IT 缺乏對開發(fā)過程的可見性。當開發(fā)人員使用不同的工具集時,他們更難與客戶或彼此協(xié)作。
3.為同一軟件項目貢獻的CI鏈已經(jīng)分布在世界各地的多個技術(shù)中心,每個中心都有自己的HIL測試臺。如果沒有標準的方法,企業(yè)就無法在云中進行開發(fā),也無法實現(xiàn)全球標準化所帶來的一致性和可重復(fù)性。
4.隨著多個團隊甚至供應(yīng)商為當今的移動軟件產(chǎn)品做出貢獻,集成點的增加推動了質(zhì)量、交付和時間問題的增加。最佳實踐是盡早且經(jīng)常地集成代碼,但傳統(tǒng)方法在開發(fā)過程中創(chuàng)建了不靈活的閘,導(dǎo)致在下一個合并門之前無法測試的問題。這會導(dǎo)致整個項目出現(xiàn)不必要的延誤。
03.云端
由于車輛是生命安全系統(tǒng),汽車公司長期以來一直采用以需求為中心的方法來設(shè)計和測試它們。他們根據(jù)一系列的要求來驗證系統(tǒng),以確保安全和法律方面的考慮得到了適當?shù)慕鉀Q,事實上,行業(yè)的ISO 26262功能安全標準導(dǎo)致了需要測試功能的每一個需求。簡而言之,制造商必須證明他們的解決方案在第一天就符合規(guī)格,并且在發(fā)布后的每次更新中,他們必須確保所有昨天能用的東西今天仍然能用。
在過去的 10 年里,汽車行業(yè)應(yīng)用中的軟件需求數(shù)量已從數(shù)百增長到數(shù)萬。其中許多要求必須使用運行在與車輛相同的電子控制單元 (ECU) 硬件上的嵌入式軟件進行測試。測試還必須實時執(zhí)行,以確保響應(yīng)時間是可預(yù)測的,這意味著每個測試平均需要幾分鐘。最重要的是,軟件通常分布在多個 ECU、傳感器和其他設(shè)備上,并且由不同公司的同等分布的團隊開發(fā)。
這些因素導(dǎo)致公司在多個地點使用多個CI鏈,都有自己的HIL測試平臺,并且都為同一個項目做出貢獻。
更好的方法是為每個程序創(chuàng)建一個單一的、統(tǒng)一的工具鏈。這個工具鏈應(yīng)該是基于云的,并且可以在全球范圍內(nèi)使用。而且應(yīng)該有一種機制來快速和輕松地部署新的工具鏈。
基于云的工具鏈具有可伸縮性,可以確保CI構(gòu)建時間不會成為瓶頸,這一點很重要,因為瓶頸會壓縮可用的測試時間,并可能導(dǎo)致軟件延遲發(fā)布。
使用基于云的方法,開發(fā)是順暢的,因為代碼更新在開發(fā)團隊之間共享,因此每個人都在同一頁面上了解項目的狀態(tài)。這可以提高自動化、遠程故障排除、快速反饋、明確的團隊分配和明確的產(chǎn)品所有權(quán)。
使用基于云的CI意味著開發(fā)團隊創(chuàng)建的新代碼可以自動集成到代碼庫中,而使用OTA更新的基于云的CD可以確保成功構(gòu)建的代碼自動部署到測試或生產(chǎn)環(huán)境中,無論它們在哪里。如果處理得當,云方法還可以在整個過程中構(gòu)建安全性,包括災(zāi)難恢復(fù)。而且,托管在云中的集中式基礎(chǔ)設(shè)施允許使用單一的管理視圖來查看所有這些高度安全和彈性的CI鏈。
此外,靈活性允許開發(fā)人員在開發(fā)周期的后期改進產(chǎn)品。開發(fā)人員可以在前一年定義需求,對它們進行測試,從而構(gòu)建更接近消費者期望的系統(tǒng),而不是今天決定消費者在幾年內(nèi)想要什么。
然后,他們可以在未來幾年根據(jù)需要部署 OTA 軟件更新,從而降低保修成本并確保軟件繼續(xù)滿足消費者的期望。
04.測試
在汽車工業(yè)中,為了確保軟件在各種駕駛條件下都能正常工作,試駕可能需要數(shù)十萬英里。
仿真程序使軟件供應(yīng)商能夠降低成本,同時提供靈活性和可重復(fù)性。此外,通過模擬可以在復(fù)雜解決方案的開發(fā)過程中測試代碼片段或組件,而不是等待整個產(chǎn)品完成然后進行測試,然后返回并進行修復(fù),重復(fù)測試和修復(fù)。
借助仿真技術(shù),結(jié)合 SIL 或 HIL,可以測試和驗證日常構(gòu)建。并且多線程 SIL 或 HIL 可以同時進行多個測試而不是順序進行,這也節(jié)省了時間并提高了效率。
SIL 測試完全在軟件生成的建模環(huán)境中進行。SIL 測試的優(yōu)點是不需要特殊硬件(幾乎可以在任何筆記本電腦或其他計算平臺上進行),并且最適合在早期階段測試設(shè)計。
在HIL測試中,系統(tǒng)會模擬車輛和ECU的環(huán)境輸入,使其誤以為與真實車輛相連。HIL工作臺包含所有相關(guān)的車輛組件。模擬器向?qū)嶋H的攝像機和雷達系統(tǒng)提供輸入信號,然后向被測系統(tǒng)發(fā)送信號,以查看系統(tǒng)是否對輸入信號作出正確響應(yīng)。
例如,測試腳本可以創(chuàng)建一個場景,在這個場景中,一輛在雨中以60km/h的速度繞著彎道行駛的汽車在路上遇到一個未知的物體,或者一輛迎面駛來的汽車在中線上急轉(zhuǎn)彎。連接在HIL試驗臺上的攝像機和雷達將圖像發(fā)送到ECU,被測系統(tǒng)必須實時處理這些數(shù)據(jù),并決定采取何種行動。
模擬還允許測試人員快速測試罕見或潛在危險的用例。通常為了嘗試重現(xiàn)特定的駕駛條件或部件問題,不得不駕駛數(shù)百公里。模擬允許按需測試,通過重新模擬特別具有挑戰(zhàn)性的場景來顯示不同版本的軟件如何對相同的輸入做出反應(yīng)。
05.基于云的CI/CD/CT的優(yōu)勢
持續(xù)測試(來源APTIV)
基于開放標準和敏捷軟件開發(fā)原則的全球集成云原生架構(gòu)消除了傳統(tǒng)瓶頸,并為汽車行業(yè)開發(fā)先進軟件的公司帶來了關(guān)鍵優(yōu)勢。這些包括 :
性能: 基于云的、全球可用的體系結(jié)構(gòu)可以在世界任何地方遠程控制測試平臺。這增加了可擴展性和靈活性。
速度:自動化可以將構(gòu)建時間縮短多達 80%。公司可以通過基于容器的架構(gòu)和代碼合并的方法來消除瓶頸。他們可以僅重建和測試更改的部分,從而將部署速度提高 60%。
聯(lián)合開發(fā):當多個合作伙伴實時測試彼此的代碼時,開發(fā)人員都可以在合作伙伴提交代碼的同一天進行集成、測試和問題修復(fù)。其結(jié)果是為 OEM 提供快速、高質(zhì)量、低風險的復(fù)雜軟件功能,在成本效益、維護和后期迭代上也具有明顯優(yōu)勢。
質(zhì)量: 與遠程SIL/ HIL測試平臺的完全集成可以提高產(chǎn)品質(zhì)量,因為開發(fā)人員可以在任何地方進行測試,并且并行進行無限的測試。
透明度:整個團隊可以全面了解所有軟件開發(fā)鏈的最新狀態(tài),無論程序大小、復(fù)雜性或修改的內(nèi)容。CI最佳實踐可以得到實施和支持,并且可以在提前識別出問題。這也極大地簡化了安全策略的執(zhí)行。
審核編輯 :李倩
-
軟件開發(fā)
+關(guān)注
關(guān)注
0文章
614瀏覽量
27370 -
汽車行業(yè)
+關(guān)注
關(guān)注
0文章
306瀏覽量
15369 -
應(yīng)用程序
+關(guān)注
關(guān)注
37文章
3271瀏覽量
57727
原文標題:汽車軟件開發(fā)的下一個階段是什么樣的?
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論