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