吳明林 余家運 盧曉婷 程登
【摘? 要】為了保證OTA功能可滿足法規(guī)、功能性、穩(wěn)定性、信息安全等要求,本文提出一種OTA自動化測試方法,能保障OTA功能的穩(wěn)定性。
【關(guān)鍵詞】自動化測試;OTA;新能源汽車
中圖分類號:U469.72? ? 文獻(xiàn)標(biāo)志碼:A? ? 文章編號:1003-8639( 2023 )08-0011-03
OTA Scheme and Automated Test Method for New Energy Vehicles
WU Ming-lin,YU Jia-yun,LU Xiao-ting,CHENG Deng
(SAIC GM Wuling Automobile Co.,Ltd.,Guangxi Laboratory of New Energy Automobile,
Guangxi Key Laboratory of Automobile Four New Features,Liuzhou 545007,China)
【Abstract】In order to ensure that OTA functions can meet the requirements of regulations,functionality,stability,information security,etc.,this paper proposes an OTA Test automation method to ensure the stability of OTA functions.
【Key words】automated testing;OTA;new energy vehicle
1? 前言
近年來,借著引入特斯拉這一條大鯰魚的風(fēng),各大車企尤其是國內(nèi)的一眾“新勢力品牌”(蔚來、小鵬、理想等)在新能源汽車領(lǐng)域(純電、插電混動、增程式)相當(dāng)活躍,展現(xiàn)出百家爭鳴的態(tài)勢,新裝備、新技術(shù)、新概念層出不窮。由于通信、電子信息、計算機技術(shù)的高速發(fā)展和普及,以及“三電”(電機、電池、電控)技術(shù)的突破,各家車企都迫切地想把自家最新的裝備放在新打造的新能源車型平臺上,汽車行業(yè)將迎來全新的變革。
由于汽車的電子控制單元增多,且基于“軟件定義汽車”的設(shè)計概念,汽車軟件隨之也越來越復(fù)雜,代碼數(shù)量急劇增加,加大了軟件缺陷的發(fā)生概率。當(dāng)一輛車的某個控制單元由于軟件bug導(dǎo)致車輛出現(xiàn)故障碼乃至于該模塊宕機,部分功能無法使用,依靠線下店召回的傳統(tǒng)模式已不能滿足快速響應(yīng)的需求。傳統(tǒng)的車輛召回活動和當(dāng)前的4S店線下服務(wù)刷寫升級活動都將會耗費巨量的成本。借鑒于手機行業(yè)中手機系統(tǒng)OTA的經(jīng)驗和模式,以及汽車智能網(wǎng)聯(lián)化的提升,汽車遠(yuǎn)程升級(OTA)技術(shù)得以迅速發(fā)展。車輛通過OTA技術(shù)可以快速更新軟件算法和程序性能,彌補信息安漏洞,實現(xiàn)汽車自身迭代升級。
隨著通信、電子和計算機技術(shù)的進(jìn)步,汽車行業(yè)快速向智能化、網(wǎng)聯(lián)化、電動化的方向發(fā)展,基于“軟件定義汽車”開發(fā)思想和進(jìn)一步構(gòu)成汽車智能座艙的大趨勢,車載電子控制單元(ECU)在整車系統(tǒng)中逐漸增多,越來越多的新能源車型會搭載OTA功能乃至于將OTA功能當(dāng)作標(biāo)準(zhǔn)配置。為了保證OTA功能可滿足法規(guī)、功能性、穩(wěn)定性、信息安全等要求,OTA測試方法的重要性不言而喻。
此外,汽車OTA技術(shù)當(dāng)然不可能僅用于車載ECU軟件bug的修復(fù),也不應(yīng)該只用于此。各車企致力于打造以智能網(wǎng)聯(lián)車輛、智能座艙為核心,車友社區(qū)(4S店、車聯(lián)網(wǎng)APP、定期體驗活動等事件和項目)為輔的用戶生態(tài)環(huán)境。而OTA技術(shù)的引入,將助力車企用戶生態(tài)環(huán)境的搭建。另一方面,推出支撐駕駛輔助及低級別自動駕駛的智能網(wǎng)聯(lián)汽車,通過已經(jīng)建立好的OTA體系,不斷優(yōu)化輔助駕駛的算法和能力,逐步向高級別推進(jìn),車聯(lián)網(wǎng)TSP服務(wù)平臺(Telematics Service Provider,TSP)也可通過OTA渠道收集并處理更多與輔助駕駛相關(guān)的大數(shù)據(jù),為后續(xù)開發(fā)提供依據(jù)。給用戶提供一臺可以逐漸升級進(jìn)化的汽車是車機將OTA技術(shù)在汽車上應(yīng)用的美好愿景。OTA技術(shù)在汽車上應(yīng)用的先行者特斯拉的應(yīng)用案例:①發(fā)布牛年賀歲版OTA更新升級,此次更新中新增抖音、QQ音樂歌詞顯示功能、語音識別功能優(yōu)化以及開放了高級車載娛樂服務(wù)包的訂閱功能,其中高級車載娛樂包訂閱月費為9.99元;②2400元升級座椅加熱;③針對Model3長續(xù)航全輪驅(qū)動版車型推出了加速提升包服務(wù),售價為1.41萬元,升級后車輛百公里加速能力可以從4.6s提升到4.1s。新勢力蔚來提供的智能駕駛輔助升級包NIO Pilot“精選包”,售價15000元,包含視覺融合全自動泊車系統(tǒng)(S-APA with Fusion)、道路自動保持(LKA)、后側(cè)來車預(yù)警(CTA-R)、來車預(yù)警-主動制動(CTA-B)、動態(tài)儀表界面及車道自動模擬(ALS)、遠(yuǎn)近光自動控制(AHB)等駕駛輔助功能。上述的兩個案例也屬于汽車軟件可售及升級運營的范圍,是通過OTA遠(yuǎn)程升級技術(shù)給車輛開啟增值的內(nèi)容。
2? 汽車OTA系統(tǒng)架構(gòu)
整車OTA系統(tǒng)架構(gòu)通常由服務(wù)器端、云端和車輛終端組成,如圖1所示。而車輛終端主要由OTA主控節(jié)點、OTA從節(jié)點以及不同的功能域或ECU組成。車輛端與OTA云端之間,使用HTTPS進(jìn)行通信,保證傳輸通道安全性。車輛端根據(jù)不同EE架構(gòu)使用不同的傳輸協(xié)議,通常有CAN、車載以太網(wǎng)等。
云服務(wù)器端和車輛客戶端采用一對多的方式,云服務(wù)器端為部署在數(shù)據(jù)中心的私有云服務(wù)平臺,借助于公有云的CDN(內(nèi)容分發(fā)技術(shù))來實現(xiàn)位于不同區(qū)域的不同車輛同時升級。
根據(jù)車內(nèi)EE架構(gòu)的區(qū)別,OTA系統(tǒng)車端的方案架構(gòu)可以有以下4種不同的架構(gòu),如圖2所示。傳統(tǒng)網(wǎng)關(guān)架構(gòu)即為分布式架構(gòu),各個ECU間的通信由網(wǎng)關(guān)路由轉(zhuǎn)發(fā)交互報文,嵌入式ECU的升級刷寫由具備刷寫能力的master節(jié)點通過標(biāo)準(zhǔn)的應(yīng)用層協(xié)議(如ISO 14229協(xié)議)執(zhí)行;診斷網(wǎng)關(guān)架構(gòu),具備帶診斷刷寫能力的網(wǎng)關(guān),嵌入式的ECU可以由診斷網(wǎng)關(guān)直接進(jìn)行刷寫;智能網(wǎng)關(guān)和域控制器的架構(gòu)則由具備更強大功能、更強算力的模塊進(jìn)行差分還原、診斷刷寫,域控制器更是將車上不同功能的域區(qū)分開來,域控制器作為次主控節(jié)點,對域內(nèi)的ECU進(jìn)行升級刷寫。
3? OTA升級流程
OTA升級流程包含:升級包上傳→車輛ECU版本信息獲取→車輛信息匹配→升級策略創(chuàng)建→升級任務(wù)發(fā)布→升級任務(wù)推送。功能測試通過的軟件升級包,由正式服務(wù)器管理人員在服務(wù)器端部署ECU的軟件包,建立升級任務(wù),通過車端主控節(jié)點與服務(wù)器端通信,匹配和下載目標(biāo)升級文件,實現(xiàn)待升級目標(biāo)ECU的軟件升級、安裝過程。升級流程可參見圖3,升級任務(wù)創(chuàng)建流程可參見圖4。
4? 自動化測試工具
根據(jù)上述OTA升級流程,針對OTA穩(wěn)定性壓力測試,最基礎(chǔ)的要求即為ECU可在基礎(chǔ)版本和目標(biāo)版本之間往復(fù)刷新。升級任務(wù)和升級策略創(chuàng)建的主要信息涉及車輛標(biāo)識碼(通常是VIN)、ECU當(dāng)前版本、ECU目標(biāo)升級版本、升級條件。壓力測試通常需要達(dá)到數(shù)百次,考慮到OTA下載升級包的網(wǎng)絡(luò)環(huán)境相對不穩(wěn)定和次數(shù)過多而時間有限的問題,使用自動化測試腳本(基于python)配合車輛ECU臺架進(jìn)行壓力測試是比較好的方式。
以下提出一種基于python和Selenium自動化工具,調(diào)用瀏覽器發(fā)起網(wǎng)頁訪問請求,進(jìn)入OTA后臺模擬OTA任務(wù)部署。自動化測試工具執(zhí)行流程參考圖5。
Selenium自動化工具包括Selenium IDE和Selenium WebDriver;Selenium IDE為嵌入到瀏覽器的插件,用于在chrome上錄制和回放Selenium腳本,將錄制好的腳本轉(zhuǎn)換成各種Selenium WebDriver支持的程序語言。
Selenium WebDriver用于操作瀏覽器的一套API,支持各類型瀏覽器及跨操作系統(tǒng),WebDriver為諸多語言提供完備的用于實現(xiàn)Web自動化測試的第三方庫。
首先創(chuàng)建python測試腳本文件,自定義測試屬性,配置變量,包含升級的ECU類型、目標(biāo)版本,以及應(yīng)回退的基礎(chǔ)版本、升級條件及相應(yīng)的條件閾值;接著創(chuàng)建測試對象文件,主要用來存儲測試的目標(biāo)對象車輛VIN,通常為表格形式,文件存儲路徑可自定義,測試腳本讀取的對象文件路徑支持可配置的,一般可將測試對象文件與腳本文件存放在同一根目錄下;然后在腳本文件中設(shè)置循環(huán)結(jié)束次數(shù),視為測試結(jié)束標(biāo)志;最后腳本可拉取OTA后臺升級任務(wù)測試結(jié)果,自動化出具測試報告。
上述提到的自動化測試工具,基于python和Selenium自動化工具,調(diào)用瀏覽器發(fā)起網(wǎng)頁訪問請求,進(jìn)入OTA后臺,模擬OTA任務(wù)部署。以下介紹自動化腳本工具的環(huán)境配置步驟。
1)安裝python開發(fā)環(huán)境和Selenium工具。
2)在安裝完畢python環(huán)境的基礎(chǔ)上,安裝WebDriver瀏覽器驅(qū)動,一般如使用chrome,則需要選擇chromedriver。
3)環(huán)境搭建完畢后,創(chuàng)建python腳本文件,通過代碼實現(xiàn),利用WebDriver定位元素特性,自動化點擊Web頁面元素,模擬手動人工部署OTA任務(wù)。
4)配置python腳本文件,自定義測試屬性、配置變量,包含升級的ECU類型、目標(biāo)版本,以及應(yīng)回退的基礎(chǔ)版本、升級條件及相應(yīng)的條件閾值。具體流程如下:①從Selenium包導(dǎo)入WebDriver使用Selenium WebDriver的方法;②選用一個WebDriver驅(qū)動實例,如chromedriver,使用Selenium包提供的接口去調(diào)用Selenium命令來跟瀏覽器交互;③使用driver.get()訪問具體的OTA后臺;driver.implicitly_wait()可配置的設(shè)置超時時間;④一般Selenium WebDriver提供多種方法來定位和操作Web后臺元素,代碼據(jù)此點擊Web元素模擬手動部署OTA任務(wù);⑤通過send_keys()方法自動化模擬手動輸入相關(guān)內(nèi)容;⑥通過driver.quit()關(guān)閉瀏覽器,結(jié)束本次自動化測試流程。
5)利用代碼搭建自動化腳本測試工具,在步驟4)過程中,根據(jù)實際OTA后臺以及OTA流程的現(xiàn)狀,通過代碼優(yōu)化,來實現(xiàn)多ECU節(jié)點、多條件以及多車輛的自動化OTA測試工具。
5? 總結(jié)
整車OTA功能是實現(xiàn)智能網(wǎng)聯(lián)汽車快速迭代升級的前提條件,是電動汽車未來發(fā)展的必然趨勢。本文分析電動汽車OTA系統(tǒng)架構(gòu)的組成和基本的升級流程,提出一種自動化測試方法,并對自動化腳本環(huán)境搭建和執(zhí)行流程進(jìn)行描述。完整的測試流程,目的是驗證整車升級過的可行性、安全性和可靠性。期望能對相關(guān)測試人員具有一定的指導(dǎo)意義。
參考文獻(xiàn):
[1] 龐宇達(dá),黎飛,黃祖朋,等. 電動汽車FOTA技術(shù)原理與測試方法研究[J]. 時代汽車,2021(6):83-84.
[2] 姜楠,姜姍姍,韓小鵬. 汽車在線升級系統(tǒng)(OTA)開發(fā)淺析[J]. 時代汽車,2021(21):11-12.
[3] 李志濤. FOTA功能測試的研究與分析[J]. 汽車電器,2020(7):21-24.
[4] 劉佳熙,丁鋒. 面向未來汽車電子電氣架構(gòu)的域控制器平臺[J]. 中國集成電路,2019,28(9):82-87.
(編輯? 凌? 波)
作者簡介
吳明林(1997—),男,助理工程師,主要從事汽車軟件遠(yuǎn)程升級OTA相關(guān)工作。