999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VS的智能駕駛軟件測試系統(tǒng)的設(shè)計與實現(xiàn)

2021-09-24 08:32:19曲延羽鄧琬云熊鐸程林智桂冉毅德
汽車與駕駛維修(維修版) 2021年9期

曲延羽 鄧琬云 熊鐸程 林智桂 冉毅德

關(guān)鍵詞:軟件測試;軟件開發(fā);邏輯驗證

0 引言

隨著智能駕駛技術(shù)的快速發(fā)展,目前智能駕駛輔助系統(tǒng)產(chǎn)品已占了汽車市場的一席之地并快速迭代[1]。為了保證智能駕駛輔助系統(tǒng)軟件的質(zhì)量及安全性能,相應(yīng)需求的軟件測試成為軟件開發(fā)過程中必不可少的一部分[2]。

不同平臺開發(fā)的軟件代碼,測試模式也不盡相同。目前,常見的開發(fā)模式是基于Matlab 數(shù)字軟件平臺搭建Simulink模型開發(fā),或基于Microsoft Visual Studio(VS)編譯環(huán)境使用C++ 語言進(jìn)行編程開發(fā)。對于Simulink 開發(fā)的模型,可以在Matlab 平臺上完成單元模塊的部分測試和仿真驗證[3] ;但對于C++ 語言編程開發(fā)的軟件,需要通過借助不同工具進(jìn)行測試和仿真驗證。

智能駕駛輔助系統(tǒng)軟件代碼具有嚴(yán)密的邏輯性,需要完善的測試手段對各源代碼模塊進(jìn)行充分驗證,最大限度地提高軟件性能。單一的單元測試不能滿足對控制模塊內(nèi)部邏輯結(jié)構(gòu)的完整測試。而集成測試需采用黑盒模型且過程較長,這種驗證過程耗費大量的時間,會降低開發(fā)與測試效率。

因此,針對C++ 語言編程的智能駕駛輔助系統(tǒng)軟件,本文提出了一種基于VS 編譯環(huán)境,以模塊作為測試單元,對模塊邏輯功能進(jìn)行測試的方法。本方法結(jié)合白盒測試與黑盒測試的方式對模塊的算法進(jìn)行測試與驗證,快速精準(zhǔn)定位到源代碼中的問題代碼和邏輯漏洞,提高了代碼開發(fā)與測試效率。

1 智能駕駛軟件測試系統(tǒng)設(shè)計原理及架構(gòu)

1.1 智能駕駛軟件測試系統(tǒng)設(shè)計原理

智能駕駛軟件測試系統(tǒng)的設(shè)計原理,是使用數(shù)據(jù)文件或?qū)嵻嚁?shù)據(jù)的輸入信號,形成輸入?yún)?shù),在測試驅(qū)動程序中建立讀取測試數(shù)據(jù)與選取測試模塊的接口。再通過確定讀取的測試數(shù)據(jù)及選取的測試模塊,將相應(yīng)的輸入?yún)?shù)傳入測試驅(qū)動程序,測試驅(qū)動程序調(diào)用相應(yīng)的待測模塊工作函數(shù)執(zhí)行測試程序。待執(zhí)行測試程序結(jié)束后,將測試結(jié)果輸出,并在測試結(jié)果模塊中,將預(yù)期輸出結(jié)果與實際輸出結(jié)果進(jìn)行比較。之后,系統(tǒng)對不符合預(yù)期結(jié)果的部分進(jìn)行標(biāo)記,提示開發(fā)人員對不符合預(yù)期結(jié)果的部分進(jìn)行檢查或修正(圖1)。

1.2 智能駕駛軟件測試系統(tǒng)設(shè)計架構(gòu)

智能駕駛軟件測試系統(tǒng)架構(gòu)主要由測試數(shù)據(jù)存儲、測試執(zhí)行程序和輸出結(jié)果處理三大功能模塊組成(圖2)。待測模塊代表具有相對獨立且邏輯結(jié)構(gòu)完整的源代碼模塊,其中小模塊1、小模塊2 等代表具有不同邏輯判斷的模塊。整個測試執(zhí)行過程維持待測模塊源代碼“黑盒”狀態(tài),確保待測模塊與測試執(zhí)行程序模塊間的相對獨立性。這樣既保證了測試的可執(zhí)行性,又保證源代碼的安全性。智能駕駛軟件測試系統(tǒng)的主要功能模塊如下。

1.2.1 測試數(shù)據(jù)存儲模塊

測試數(shù)據(jù)存儲模塊存儲讀取的輸入?yún)?shù)與預(yù)期結(jié)果變量數(shù)據(jù)信息,可接收實車采集數(shù)據(jù)與模擬數(shù)據(jù)兩種數(shù)據(jù)模式。這些數(shù)據(jù)傳輸?shù)綔y試執(zhí)行程序模塊,作為模擬運行的輸入?yún)?shù)。

1.2.2 測試執(zhí)行程序模塊

測試執(zhí)行程序調(diào)用待測模塊工作函數(shù),對輸入信號進(jìn)行循環(huán)讀取執(zhí)行,模擬多幀連續(xù)運行模式,再將每次讀取運行后的輸出結(jié)果變量傳輸給結(jié)果處理模塊。除了待測模塊固定的測試值外,可以依據(jù)功能需求將模塊類成員變量的測試值同時輸出。整個測試執(zhí)行過程不涉及開發(fā)模塊內(nèi)部源代碼的改動,既保證測試的可執(zhí)行性,又保證源代碼的安全性。

1.2.3 數(shù)據(jù)結(jié)果處理模塊

測試得到的運算輸出變量(測試值)逐幀存儲到結(jié)果處理模塊,并與測試數(shù)據(jù)存儲模塊的預(yù)期輸出變量(期望值)進(jìn)行逐一比對,將測試值與期望值的比對結(jié)果作為源代碼測試驗證的最終結(jié)果。

2 智能駕駛軟件測試系統(tǒng)策略

智能駕駛軟件測試系統(tǒng)策略如下:編寫測試用例數(shù)據(jù)文件,讀取測試用例數(shù)據(jù)文件的輸入信號,對待測試模塊進(jìn)行測試。測試系統(tǒng)根據(jù)每幀的模塊輸出信號、中間值信號與數(shù)據(jù)文件的期望值之間產(chǎn)生的差異,對當(dāng)前幀的計時器信號進(jìn)行標(biāo)記。

測試人員通過計時器信號的標(biāo)記進(jìn)行定位查找,找出導(dǎo)致測試失敗的輸出信號與中間值信號。然后通過觀察測試值與期望值之間的差異,再梳理待測模塊中包含導(dǎo)致測試時報的輸出信號與中間值信號的部分代碼邏輯,縮小搜索代碼邏輯漏洞的范圍,快速定位待測試模塊問題,提高更正代碼的效率(圖3)。

3 智能駕駛軟件測試系統(tǒng)的應(yīng)用

本次測試采用符合LKA 按鍵邏輯功能規(guī)范的實車測試數(shù)據(jù)真實信號,作為測試數(shù)據(jù)文件的輸入信號與期望值信號。LKA按鍵是是車道保持功能的物理開關(guān)被按下時,從CAN 總線傳過來的信號。通過選擇測試用例,將實車測試數(shù)據(jù)文件導(dǎo)入測試系統(tǒng)中,點擊開始測試,則對LKA 按鍵邏輯模塊進(jìn)行邏輯測試。

整個測試結(jié)果如圖4 所示,其中,紅色點線為輸入數(shù)據(jù)(LKA按鍵狀態(tài)),藍(lán)色點線與黑色點線,分別表示LKA 功能狀態(tài)是否激活的預(yù)期輸出變量信號和測試輸出變量信號。除此之外,在測試結(jié)束后,可輸出數(shù)據(jù)測試報告(圖5)。

圖5 中標(biāo)出了LKA 按鍵幀數(shù)及功能狀態(tài)在2.00 ~ 2.26 s 的相關(guān)數(shù)據(jù)。可以看出,在2.00 s 時,LKA 開關(guān)按鍵被按下,持續(xù)時間為0.14 s,大于0.10 s(0.10 s 為功能開啟的時間范圍最小值),LKA 功能狀態(tài)信號從0 跳變至1,LKA 功能狀態(tài)激活;3.52 s 時,LKA 開關(guān)按鍵被按下的持續(xù)時間為2.14 s,小于3.00 s(3.00 s 為功能開啟的時間范圍最大值),LKA 功能狀態(tài)信號從1 跳變至0,LKA 功能狀態(tài)關(guān)閉;7.62 ~ 8.04 s 時,LKA 開關(guān)按鍵按下,持續(xù)時間為0.42 s,因此,隨著按鍵抬起,LKA 功能狀態(tài)激活;9.44 s 時,LKA 開關(guān)按鍵被按下,12.94 s 時LKA 開關(guān)按鍵抬起,持續(xù)時間為3.50 s(大于3.00 s),LKA 功能不會被關(guān)閉,仍保持激活狀態(tài)。

從圖4 可以看出,在2.14 s、5.68 s 和8.04 s,LKA 功能狀態(tài)信號期望值與測試值的信號跳變狀態(tài)完全一致,表明此測試系統(tǒng)對LKA 按鍵模塊邏輯條件的測試結(jié)果符合測試用例中提出的預(yù)期結(jié)果,模塊代碼邏輯符合預(yù)期設(shè)計,測試成功。另外,通過利用實車采集信號作為輸入信號進(jìn)行模塊邏輯測試,還可應(yīng)用于測試用例外其他多種真實輸入場景模塊代碼的測試驗證手段。

本測試系統(tǒng)應(yīng)用場景不僅應(yīng)用于實車信號,通過智能駕駛軟件測試系統(tǒng)驗證修改軟件算法,縮減集成及上車驗證時間;還可以更多應(yīng)用于符合功能規(guī)范設(shè)計的測試用例信號,在軟件集成前期使用此方法來驗證軟件算法的邏輯性是否符合功能規(guī)范。

4 結(jié)束語

綜上所述,對于C++ 語言編程開發(fā)的智能駕駛系統(tǒng)軟件測試方法,具有同一編譯環(huán)境不需要移植源代碼的優(yōu)勢,可使部分模塊測試參與到代碼開發(fā)過程中,實現(xiàn)源代碼的部分自測自驗,提高開發(fā)效率。通過與智能駕駛軟件測試系統(tǒng)的設(shè)計用例與實車測試數(shù)據(jù)對比說明,此測試系統(tǒng)能夠有效自檢模塊源代碼的邏輯結(jié)構(gòu),可以作為輔助開發(fā)人員更高效開發(fā)源代碼的手段。通過每幀預(yù)期結(jié)果與運算結(jié)果對應(yīng)比較,可以實現(xiàn)智能駕駛軟件算法的驗證,解決查找源代碼問題時效慢的問題。

主站蜘蛛池模板: 国产精品网址在线观看你懂的| 99精品视频九九精品| 福利在线不卡| 99精品一区二区免费视频| 2020最新国产精品视频| 真实国产乱子伦视频| 香蕉久久国产精品免| 国产网站免费看| 国产亚洲精品精品精品| 亚洲精品国产首次亮相| 亚洲AV成人一区国产精品| 人妻丰满熟妇αv无码| 好吊色妇女免费视频免费| 国产无人区一区二区三区 | 色播五月婷婷| 免费国产一级 片内射老| 免费国产黄线在线观看| 一本色道久久88亚洲综合| 嫩草国产在线| 玩两个丰满老熟女久久网| 免费不卡在线观看av| 亚洲浓毛av| 伊人成人在线| 婷婷综合缴情亚洲五月伊| 91九色国产在线| 一区二区三区四区在线| 久久综合成人| 久久中文电影| 亚洲一级毛片在线播放| 18黑白丝水手服自慰喷水网站| 91破解版在线亚洲| 亚洲熟女中文字幕男人总站| 无码精品一区二区久久久| 欧美日韩北条麻妃一区二区| 欧美笫一页| a国产精品| 日本道中文字幕久久一区| 国产午夜福利亚洲第一| 亚洲中文无码h在线观看 | 午夜精品影院| 久久这里只有精品国产99| 亚洲男人天堂网址| 日韩精品无码一级毛片免费| 综合亚洲网| 亚洲成综合人影院在院播放| 香蕉99国内自产自拍视频| 国产一区二区三区精品欧美日韩| 欧美一级大片在线观看| 嫩草在线视频| 天天躁日日躁狠狠躁中文字幕| 制服丝袜国产精品| 亚洲国产一成久久精品国产成人综合| 天堂在线www网亚洲| 亚洲精选高清无码| 免费人成视网站在线不卡| 午夜毛片免费观看视频 | 亚洲最黄视频| AV无码一区二区三区四区| 久久香蕉国产线看观看式| 精品欧美一区二区三区久久久| 色精品视频| 人妻中文字幕无码久久一区| 国产99久久亚洲综合精品西瓜tv| 久久国产拍爱| 日韩视频福利| 成人午夜久久| 国产va在线观看免费| 国产精品 欧美激情 在线播放| 99热这里只有免费国产精品| 欧美亚洲日韩中文| 国产视频资源在线观看| 精品撒尿视频一区二区三区| 亚洲婷婷丁香| 亚洲国产精品日韩欧美一区| 激情综合婷婷丁香五月尤物| 欧美色综合网站| 666精品国产精品亚洲| 欧美在线三级| 曰韩免费无码AV一区二区| 日本爱爱精品一区二区| 久久动漫精品| 91视频精品|