中圖分類號:U463.6 文獻標(biāo)識碼:A 文章編號:1003-8639(2025)10-0154-03
【Abstract】An OTA automated test bench based on pressure testing is established,consisting of hardware components such as CANoe,network test bench,laptop and automotive controller.The automated test scripts are implemented via Airtest and Python, enabling automated OTA testing for automotive components.
【Key words】OTA;stress test;test bench
0 引言
隨著智能化、網(wǎng)聯(lián)化技術(shù)的發(fā)展,車輛控制器的遠程升級(Over-the-Air,OTA)需求越來越多,導(dǎo)致測試任務(wù)周期延長,進而降低測試效率,最終影響車企的整車開發(fā)進度。尤其針對汽車零部件的OTA壓力測試,成百上千次的測試對測試技術(shù)要求更高。為提升測試效率,滿足汽車軟件升級的要求,同時降低軟件測試成本,行業(yè)對自動化測試技術(shù)的要求也越來越高。本文將重點介紹基于壓力測試的OTA自動化測試臺架的設(shè)計及驗證,以提高零部件OTA測試的效率與可靠性。
1 OTA臺架介紹
基于壓力測試的OTA自動化臺架的硬件系統(tǒng)由CANoe設(shè)備、網(wǎng)絡(luò)試驗臺架、工控機、車載多媒體主機MP5、遠程信息處理器(TelematicsBox,T-Box)等控制器組成。
通過測試工具Airtest完成測試場景的模擬和操作錄制,利用編程語言Python編寫自動化測試腳本,實現(xiàn)汽車零部件OTA自動化刷新測試。
壓力測試軟件以Airtest為核心搭建OTA測試基本框架,通過用戶界面(UserInterface,UI)圖像識別技術(shù)精準定位車機端操作元素,并通過安卓調(diào)試橋(AndroidDebugBridge,ADB)接口模擬發(fā)送觸摸、滑動等交互操作指令,從而實現(xiàn)汽車零部件OTA測試自動化運行,完全替代技術(shù)員手動頻繁點擊顯示屏的重復(fù)操作,支持多控制器的OTA連續(xù)壓力測試。
2 OTA臺架設(shè)計方案
2.1 整體架構(gòu)設(shè)計
測試人員通過OTA平臺下發(fā)配置升級任務(wù),壓力測試管理平臺接收任務(wù)后負責(zé)測試任務(wù)發(fā)布,進而完成OTA自動化測試。壓力測試管理平臺包含項目管理、測試任務(wù)、測試腳本等模塊,可對OTA測試全流程(任務(wù)創(chuàng)建、執(zhí)行、結(jié)果回收)起到管控作用。壓力測試軟件基于Airtest,具有UI自動化、ADB、日志分析、文件傳輸?shù)裙δ?。OTA測試終端通過USB、以太網(wǎng)等接口連接外部設(shè)備,并與壓力測試管理平臺、被測系統(tǒng)進行交互,為OTA自動化測試提供支撐。
2.2 測試腳本架構(gòu)及流程
整體流程如圖1所示,其中主進程主要負責(zé)將車機信息上報至PC端程序,并實現(xiàn)信息實時顯示。測試腳本由一個主進程和一個子進程組成,子進程為測試腳本的Airtest連接管理模塊,負責(zé)從車機端獲取序列號及車機狀態(tài),以及建立車機與測試腳本之間的雙向數(shù)據(jù)交互。
主進程、子進程通過管道通信。主進程執(zhí)行時間主要與壓力測試次數(shù)(次數(shù)越多執(zhí)行時間越長)、軟件包大小(包體越大傳輸與刷新耗時越長)有關(guān),如:MP5執(zhí)行一次大約需要 15~20min ,子進程執(zhí)行時間一般在5s以內(nèi)。
圖1整體流程圖

圖2壓力測試流程圖

壓力測試流程如圖2所示,以下以某車型的MP5升級為例,對OTA壓力測試執(zhí)行主要過程(含初始化、升級、校驗等環(huán)節(jié))進行詳細描述。
2.2.1壓力測試腳本運行前準備1)OTA平臺添加車輛VIN碼、配置信息等。2)壓力測試管理平臺上傳待測件軟件包。3)壓力測試管理平臺查看待測件軟件版本,配置升級、降級任務(wù)。4)升級、降級任務(wù)發(fā)布。5)啟動車機電源,待T-Box輪詢結(jié)束。6)手動3~5次對車機進行刷寫,確認0TA升級臺架功能正常。7)通過USB連接PC與車機,啟動PC端壓力測試軟件。8)點擊車機設(shè)置,找到關(guān)于本機,觸發(fā)開發(fā)者模式,打開車機ADB調(diào)試模式。9)在壓力測試軟件中刷新ADB接口,待MP5成功顯示在壓力測試軟件界面。
2.2.2設(shè)置壓力測試次數(shù) N 1)調(diào)用“touch”指令,使MP5界面置位。2)調(diào)用“swipe”指令/使用POCO控件,使界面滑動至OTA升級界面。3)調(diào)用“touch”指令,啟動OTA升級。4)待任務(wù)下載完成,調(diào)用“touch”指令,點擊立即安裝。5)待安裝完成,調(diào)用“touch”指令,確認升級完成。6)調(diào)用“sleep”指令,等待車機。7)調(diào)用“while”循環(huán),返回步驟2),完成升級等待過程及 N 次壓力測試,壓力測試次數(shù) N 根據(jù)零部件可靠性需求設(shè)定(常規(guī)為300~500次)。8)待完成 N 次循環(huán),導(dǎo)出OTA測試報告,導(dǎo)出CAN報文、T-Box報文。
3OTA臺架設(shè)計驗證
以HVAC空調(diào)主動升級測試腳本(臺架)實現(xiàn)為例,詳述腳本功能實現(xiàn)全過程。
3.1 連接管理
① 運行ADB連接工具adbopen小程序,刷新ADB模式; ② 將車機ADB狀態(tài)調(diào)為開啟; ③ 啟動Airtest,通過USB數(shù)據(jù)線連接車機,刷新ADB,待車機上線。
3.2壓力參數(shù)配置
通過在腳本中植人“while”循環(huán)邏輯,實現(xiàn) N 次刷新測試,具體循環(huán)結(jié)構(gòu)如圖3所示;通過設(shè)置RQ值(循環(huán)測試次數(shù)變量)改變壓力測試的次數(shù),參數(shù)設(shè)置界面如圖4所示。
3.3 自動化控制
車機界面投影在Airtest軟件界面中,通過Airtest輔助窗口中的“touch”指令,可以截取功能按鈕的圖像坐標(biāo),并觸發(fā)對應(yīng)按鈕操作,從而實現(xiàn)對車機的控制。
借助繼電器硬件及操作程序?qū)崿F(xiàn)整車上下電的自動化控制,具體流程如下。
在腳本運行前,先配置第二操作界面,具體配置為:
dev2=connect_device(\"Windows://?title_re=SS.*\")
在需要切電的步驟前,啟動dev2。通過截圖指令獲取第二操作界面狀態(tài),判斷是否需要進行上下電操作。如果需要,對單片機進行串口通信。單片機的GPIO口會輸出高低電平,以控制繼電器的通斷,從而實現(xiàn)BCM對整車上下電的自動化控制。具體控制原理如圖5所示。
3.4軟件下載安裝
軟件包下載過程:若出現(xiàn)“下載失敗”“聯(lián)系售后”等失敗界面,通過if語句記錄故障信息,執(zhí)行程序置位后重新啟動升級流程。
圖3腳本“while”循環(huán)
圖4設(shè)置RQ值
圖5繼電器控制切電原理圖
圖6測試報告界面

軟件包安裝過程:檢測是否出現(xiàn)安裝失敗狀態(tài),若檢測到“安裝失敗”“聯(lián)系售后”等界面,采用以上相同的故障處理邏輯。
3.5 測試報告生成
生成報告主要運用Airtest庫中的LogToHtml函數(shù)。此函數(shù)可將測試過程中的日志Log自動生成為一個可視化的HTML文件,方便測試人員檢查測試過程中存在的問題。測試報告如圖6所示。
4總結(jié)
為實現(xiàn)基于壓力測試的控制器及OTA系統(tǒng)升級臺架測試,本文設(shè)計了基于Airtest的OTA壓力測試自動化方案。該方案涵蓋軟件系統(tǒng)和硬件系統(tǒng)的設(shè)計與開發(fā),并成功搭建了完整的測試臺架。通過自動化測試方案,不僅確保了基于壓力測試的OTA自動化臺架測試的充分性,還顯著提高了零部件OTA的測試效率。
參考文獻
[1]宋曉曉.基于CANoe的車載以太網(wǎng)網(wǎng)關(guān)路由測試技術(shù)應(yīng)用[J].汽車實用技術(shù),2024,49(24):30-34.
[2]吳明林,余家運,盧曉婷,等.新能源汽車OTA方案及自動化測試方法[J].汽車電器,2023(8):11-13.
[3]楊金升,張可晨,唐新宇.CANoe開發(fā)從入門到精通[M].北京:清華大學(xué)出版社,2019.
(編輯 楊景)