作者 | 李小靜
小編 | 吃不飽
往期內容里為大家簡單介紹了OTA,也對其后續(xù)的發(fā)展趨勢做了一些預測,相信大家已經對OTA有了初步了解。作為OTA系列的第二篇文章,今天向大家介紹OTA自動化測試的實現手段,并簡單介紹北匯信息的OTA自動化測試解決方案。
OTA作為整車一個重要的新特性,涉及面廣,與車內各大系統(tǒng)均有交互,復雜度高,相較于傳統(tǒng)手機OTA還需要關注車內通信等問題,因此發(fā)生問題概率較大;由于其復雜性,很多系統(tǒng)交互的問題往往又需要在系統(tǒng)級臺架和實車級測試中才能發(fā)現。完成測試用例開發(fā)后,OTA測試的關鍵就在于如何實現自動化。當前的OTA測試,大多是依靠工程師在臺架中或實車內手動完成,此種方式人力資源消耗過高,效率較低,測試覆蓋度受限。且“人在環(huán)”的方式分析過程數據往往也容易出錯,因此推動整個測試過程的自動化是勢在必行的。但OTA測試的自動化更具挑戰(zhàn),OTA測試的本質是整車功能測試的一個子類,還涉及到后臺服務器,其“交互鏈路”比常規(guī)的功能更為復雜。且由于各車型的功能邏輯差異,容易出現因為后續(xù)車型平臺的功能更新導致搭建的測試系統(tǒng)無用武之地的現象。 //
鑒于以上OTA測試的特點和難點,北匯信息在對各主流OEM的OTA流程做了深入分析后,通過提取其中的共通點,推出了較為通用化的OTA自動化測試解決方案,在此基礎上,再針對不同OTA流程的進行定制開發(fā),從而實現OTA的自動化測試。下面就給大家介紹一下我們的整體方案構成。
OTA自動化測試解決方案
通過上圖可以看到,硬件層面,測試方案由主控單元(服務器)和測試單元(測試機柜)兩部分組成,各單元間通過局域網進行控制指令和數據信息的傳遞,這樣多個測試單元可以并行地執(zhí)行各自測試,且可以在服務器端進行統(tǒng)一管理。對于每個測試單元,將由一個測試機柜提供其測試環(huán)境,而被測對象也可以是實車或者測試臺架。而在軟件層面,整個解決方案由四大部分組成,分別是用于管理全部測試單元,顯示測試結果以及和OTA服務器交互的測試管理軟件(TestCenter);測試單元內負責與測試管理軟件通信,并控制測試系統(tǒng)執(zhí)行/停止的代理軟件(CANoe Agent);用于記錄測試數據,執(zhí)行主體測試邏輯的CANoe軟件;以及用于仿真駕駛員操作的UE軟件。
可以看到,整個方案內,由CANoe軟件作為測試核心,控制單個測試單元的測試邏輯及測試環(huán)境,輔以其它控制軟件,以模擬真實駕駛員操作,實現車端OTA流程自動化;而以測試管理軟件為控制核心,控制多個測試單元并行,且通過接口實現對OTA后臺的控制,以實現云端OTA流程自動化。接下來,我們將針對各個模塊進行專門介紹。
測試機柜
北匯信息可針對需求,為客戶定制標準化的測試機柜,實現對臺架或實車的控制。機柜可內置測試工控機,程控電源,VT測試機箱,連接至OTA測試臺架后,可以為臺架供電,仿真OTA測試所需的IO信號、仿真總線信號,發(fā)送ADB控制指令,采集和記錄測試數據。
測試管理軟件
針對多測試客戶端并行的場景,北匯信息自研了測試管理軟件TestCenter,可以同時對多個測試客戶端進行管理,并提供界面展示測試過程及結果,可以很大程度上提升測試可視化程度及測試分析效率。而OTA測試往往涉及到多車型或同車型多樣車的壓力測試,非常適合通過測試管理軟件進行控制。
測試管理軟件部署在一臺專用服務器上(主控單元),而服務器與所有測試機柜中的工控機(客戶端)通過局域網進行連接,通過訪問不同的IP地址,可以方便的在服務器上對所有測試工控機下達指令,并收取測試結果和數據。通過下圖可以看到,測試管理軟件內提供了配置界面,可以方便的增加或刪除測試客戶端。測試工程的管理也是在測試管理軟件內進行的,這樣做的好處是,多個臺架內執(zhí)行的測試工程可以進行統(tǒng)一維護,方便進行版本管理。工程完成升級后,每次測試執(zhí)行時,由測試管理軟件負責下發(fā)到各個測試工控機內,并由代理軟件進行運行,極大提升了工程維護效率。此外,測試管理軟件還提供了測試結果分析展示功能。當我們對多個臺架同時進行測試時,免不了要去各個臺架分別獲取測試結果,這樣不但影響效率,也難于對于整體測試進展進行把控,而當我們使用測試管理軟件后,這些問題都會迎刃而解。首先,所有的臺架控制都在測試管理軟件內進行,無需每個臺架分別獲取結果;其次,所有的測試報告,測試數據都可以通過網絡傳遞到服務器,進行統(tǒng)一存檔和管理;最后,因為服務器可以獲取所有臺架測試結果信息,所以測試管理軟件可以在此基礎上進行大數據分析,統(tǒng)計全局的測試成功率,平均用時等OTA測試關鍵信息,并通過可視化圖表等方式,方便的展示給測試人員。
最后,測試管理軟件本身還可以針對提供的接口,定制開發(fā)與OTA后臺服務器交互控制的相關功能。比如,如果期望實現OTA流程的全自動化測試,那么任務的自動下發(fā)也是必不可少的,測試管理軟件可以在客戶提供的后臺接口上,定制開發(fā)服務器控制接口,并將其提供給測試工程,以供其調用,實現后臺相關控制功能。
代理軟件(CANoe Agent)
代理軟件作為介于測試管理軟件與測試工程之間的中間層軟件,起到了承上啟下的作用。一方面,代理軟件可以與測試管理軟件進行數據交互,接收測試管理軟件的控制指令,同時向測試管理軟件傳遞數據;另一方面,代理軟件布置在每一個客戶端上,控制測試工程的運行和停止,實現自動化測試。多數情況下,代理軟件都隱于幕后,但它的重要性卻不言而喻。北匯信息在CANoe軟件提供的COM接口的基礎上開發(fā)了當前的代理軟件CANoe Agent,可以方便的控制CANoe的啟停;也可以通過改變系統(tǒng)變量實現測試模塊的相關控制,獲取測試過程信息;除此之外,Agent還可以根據項目需要定制開發(fā)輔助功能。例如在OTA測試方案內,UE仿真模塊的控制也可以集成在Agent軟件內,一些其它的CANoe軟件難于實現的功能,也可以在Agent模塊內實現并提供調用接口。
CANoe工程
CANoe在此方案內擔任了測試主體的角色,通過在各總線上布置接口卡,可以將總線數據進行實時監(jiān)控和記錄,并可以通過仿真節(jié)點,對實車或臺架進行控制。對于OTA流程,車端數據的監(jiān)控一直是一大重點,但以往的測試手段,更多傾向于通過專門的測試用例執(zhí)行測試過程。這種手段往往只能作用于開發(fā)階段,樣本數量也有限,難于發(fā)現很多偶發(fā)系統(tǒng)交互性問題,而北匯信息在OTA流程的基礎上,開發(fā)了數據流監(jiān)測的測試方式,不僅可以監(jiān)測實時數據來分析是否存在問題,還可以直接通過回放數據的方式進行監(jiān)測,觀察整個OTA流程是否存在問題,這樣不僅可以有效利用數據,也可以通過分析更多的樣本,及時定位問題點。
UE工程
OTA里另一個重要組成部分就是人機交互部分,按照當前國內法規(guī)要求,所有OTA任務更新前,都必須經過車主同意,所以在OTA過程中,人機交互是必不可少的,而這也是OTA自動化測試的問題點之一。北匯信息采用ADB指令控制點擊屏幕來模擬這個過程,在車機打開ADB權限后,通過ADB指令,截取當前車機顯示界面,而后通過圖像識別算法找到需要點擊的位置,隨后通過ADB指令點擊屏幕坐標,以實現模擬人手點擊屏幕的過程,從而實現人機交互過程的自動化仿真。在整個解決方案的軟件架構內,各模塊之間相互獨立,通過接口實現調用,UE部分可以被靈活的集成到CANoe工程內或者集成到CANoe Agent軟件內,此外,由于使用了圖像識別算法,該模塊也可以通過適配而適用于不同的OEM的各類車型,具有較高程度的通用化。
總結
總的來說,整個OTA測試解決方案,以北匯研發(fā)的OTA測試機柜為硬件基礎,以CANoe軟件為核心測試工具,輔以北匯信息自主開發(fā)的測試管理軟件TestCenter以及Agent代理軟件,具備了OTA自動化測試的能力,并有著較高的標準化程度和較為直觀便捷的使用體驗。OTA的特殊性,其測試工作絕不僅限于開發(fā)階段,而是貫穿整個車型開發(fā)及上市以后的全生命周期。在這種情況下,如何更多更準確的發(fā)現問題,以及如何更高效的利用已有數據進行分析,就顯得尤為重要。對于北匯信息來說,開發(fā)的OTA測試解決方案,自動化是測試手段,不是測試目的;較高的自動化程度,是為了提升測試準確度和測試效率,而高可視化的測試數據管理,同樣是為了便于對問題進行更為精確的分析。近年以來,北匯信息已經與國內多家主流OEM和Tier1合作完成了OTA自動化/半自動化測試系統(tǒng)開發(fā)項目,積累了很多實踐經驗,通過不斷的迭代,進行了一系列優(yōu)化和改進。除本文介紹的OTA自動化測試系統(tǒng)解決方案,我們也提供OTA測試用例開發(fā)、自動化腳本實現、OTA Master專項測試在內的全過程的OTA測試解決方案,歡迎有意向的同仁與我們交流溝通,共同進步。
-
測試
+關注
關注
8文章
5303瀏覽量
126665
發(fā)布評論請先 登錄
相關推薦
評論