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