作者 |李偉 上??匕舶踩珳y評中心安全測評部總監(jiān)
來源 | 鑒源實驗室
01 ECU軟件和通用軟件性能測試的區(qū)別
通用軟件進行性能測試時通常會通過壓力測試、負載測試、穩(wěn)定性測試、疲勞強度測試、用戶并發(fā)訪問測試等等方法來了解當前軟件系統(tǒng)的各項性能指標數(shù)據,并在這些測試過程中發(fā)現(xiàn)并修復系統(tǒng)存在的問題,或者優(yōu)化系統(tǒng)運行效率等。
通用軟件和ECU軟件使用場景的不同產生的需求不同,從而出現(xiàn)了性能測試的差異和側重點的不同。
首先系統(tǒng)運行場景的不同,通用軟件一般直接面向客戶使用,如果是提供在線web服務的系統(tǒng),面向的客戶群體有時候會是一個龐大數(shù)量。車載ECU一般不會面向最終用戶,ECU的數(shù)據輸入和輸出對象一般是其他ECU或者系統(tǒng)TSP后臺,以Tbox為例,車內通訊對象有網關、娛樂主機等,外部通訊對象是TSP后臺,以及單個用戶的手機藍牙或者WiFi。
除使用場景和服務對象的不同外,性能需求也不一樣。通用軟件對于系統(tǒng)的在線并發(fā)處理,同時在線用戶數(shù)等性能有較高的要求。車載ECU不會有多個最終用戶的并發(fā)使用情況,所有信息通訊交互對象都是有限定的,從功能安全和產品需求設計出發(fā),性能需求集中在系統(tǒng)長時間運行穩(wěn)定性,以及各種場景下內存溢出和泄漏測試。
02 Tbox的性能測試項
在進行tbox性能測試項設計時,我們常用的做法是先進行使用場景的梳理,在梳理場景過程中,對數(shù)據流和邏輯的控制流相結合按照不同業(yè)務進行細分析,對這些過程中發(fā)現(xiàn)的瓶頸處設計性能測試項進行驗證。
以Tbox為中心形成的車內子系統(tǒng)中,CAN總線上的通訊數(shù)據是明確固定的,意思是CAN總線上主動向TBOX發(fā)送的各種信號是明確的,tbox被動響應的或主動向網絡發(fā)送的信號也是明確的,這部分信號在項目的早期就被確定下來,在項目研發(fā)過程中會有輕微的調整,tbox對這部分數(shù)據的處理是依靠自身的CAN通訊芯片,這部分的設計已經非常成熟,設計師選型會留有充分的余量,這部分的性能測試通常會放在硬件部分跟CAN網絡和診斷測試在項目早期一起完成,系統(tǒng)級的性能測試一般不會考慮這部分內容。
Tbox和各子系統(tǒng)的通訊如下圖所示,子系統(tǒng)間的通訊通常有從車端至云端,從TSP端至車端,周期性和觸發(fā)型等幾個部分。在這些通訊過程中,除了云端的TSP平臺,車端還會跟Internet上的各種網絡服務有通訊,主要是給娛樂主機提供各種定制化的服務,但是這些服務不會主動從云端向車端發(fā)起。

從車端上報至TSP端的通訊,周期性上報數(shù)據通常包括:大數(shù)據、新能源國標或地標上報等。觸發(fā)型上報數(shù)據通常包括:各種報警信息、娛樂系統(tǒng)互聯(lián)網服務。
從TSP端至車端的通訊,一般只包含觸發(fā)型數(shù)據,不會從TSP端向車端主動發(fā)起周期性的通訊請求,通常包括:車況的查詢與上報、遠程控制車輛等。
經過分析我們可以看到,在這個子系統(tǒng)中,場景比較簡單,消費子系統(tǒng)資源的最終用戶是單一的,不存在通用軟件類似大量用戶并發(fā)訪問的情況,我們對系統(tǒng)的性能要求主要集中在穩(wěn)定性,和一定負載下的長時間疲勞測試中。通常的性能測試設計主要集中在以下幾個方面:
車端網絡上傳下載速率測試,對tbox整體的上傳和下載的最大速率進行測試,確定是否存在車端上傳下載在網絡速率上的瓶頸。
車端和云端網絡通訊長時間的穩(wěn)定性測試,一般測試24小時以上,測試車端和云端的通訊是否存在丟包,網絡抖動等情況。
系統(tǒng)內存溢出和泄漏測試,通過對系統(tǒng)增加一定的負載,長時間運行并對系統(tǒng)資源使用情況進行監(jiān)控,確認是否存在系統(tǒng)資源異常消耗的事件存在。
03 Tbox性能測試工具
Tbox系統(tǒng)運行軟件一般是在各種Linux環(huán)境之上,如Ubuntu、CentOS、Android等,所以各種性能測試的開源工具是比較多的,我們列舉常用的一些跟大家分享。
Speedtest,無論是Linux還是windows環(huán)境下,speedtest都是非常好用的網絡帶寬測試工具,可以測試出當前網絡連接Internet的上傳和下載最大速率,平均速率,網絡延遲等參數(shù),在針對車端上網性能的測試項時我們一般都會用到這款工具。
Iperf,是一款已經存在了很多年的著名網絡測試工具,應用非常廣泛,可以設置參數(shù)對TCP、UDP等協(xié)議進行性能測試,獲得網絡帶寬、MTU/MSS,網絡丟包,延遲等數(shù)據。我們在測試長時間的網絡穩(wěn)定性時會用到這款工具。
Monit,是Linux上最靈活、功能最強大的監(jiān)視工具之一,已經存在了很多年,支持各種參數(shù)的自定義設置和報警閾值設置,還提供一個輕量化的web服務,方便用戶通過瀏覽器來監(jiān)視系統(tǒng)資源情況。我們在進行長時間內存泄漏探測時,會用到這款工具。
目前各種性能測試的小工具是非常多的,實際的使用中首先是根據測試設計的需要來進行選取,其次對工具的測試精確度,易操作性,成本等進行考慮,最終確認適合項目產品測試的最佳工具。
04 總 結
車載ECU的性能測試跟傳統(tǒng)的通用軟件,特別是提供web服務的互聯(lián)網軟件系統(tǒng)有非常大的區(qū)別,并發(fā)測試不再是tbox測試的重點,TBOX的運行穩(wěn)定性和探測內存泄漏溢出成為了首要測試目標。車載的其他ECU也存在類似的情況,我們需要通過系統(tǒng)的ECU設計使用場景分析,基于數(shù)據和控制流對功能模塊全面覆蓋細分類考慮,來具體情況具體對待。
審核編輯黃宇
-
測試
+關注
關注
8文章
5687瀏覽量
128764 -
ecu
+關注
關注
14文章
933瀏覽量
55757 -
TBOX
+關注
關注
0文章
17瀏覽量
8449
發(fā)布評論請先 登錄
嵌入式開發(fā)入門指南:從零開始學習嵌入式
嵌入式軟件行業(yè)增長驅動因素
如何成為一名嵌入式軟件工程師?
嵌入式軟件單元測試的必要性、核心方法及工具深度解析
嵌入式軟件測試技術深度研究報告
嵌入式機器學習的應用特性與軟件開發(fā)環(huán)境

如何提高嵌入式代碼質量?
嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)與AI結合應用
嵌入式系統(tǒng)開發(fā)與硬件的關系 嵌入式系統(tǒng)開發(fā)常見問題解決
什么是嵌入式?一文讀懂嵌入式主板
【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+ Hypervisor應用場景調研
嵌入式主板是什么意思?嵌入式主板全面解析
EsDA,一站式嵌入式軟件

嵌入式系統(tǒng)的未來趨勢有哪些?
嵌入式軟件開發(fā)與AI整合

評論