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

基于CAN總線的自動化測試系統

2024-07-30 00:00:00胡海華季金強錢正華
汽車電器 2024年7期

收稿日期:2024-05-21

*基金項目:江蘇省科技計劃項目(BE2023074)。

作者簡介

胡海華(1980—),男,高級工程師,碩士,主要從事新能源整車及零部件等方面的研究工作。

【摘 要】為提高車輛功能測試的效率與可靠性,設計一種基于CAN總線的自動化測試系統,期望實現測試用例構建與管理、自動化測試、實時數據采集、自動報告生成等功能,并通過試驗充分驗證系統的可行性。

【關鍵詞】CAN總線;自動化測試;數據采集;測試管理

中圖分類號:U463.7 文獻標識碼:A 文章編號:1003-8639( 2024 )07-0067-04

Automated Testing System Based on CAN Bus*

HU Haihua,JI Jinqiang,QIAN Zhenghua

(Asiastar Motor Coach Co.,Ltd.,Yangzhou 225116,China)

【Abstract】To improve the efficiency and reliability of vehicle functional testing,a CAN bus based automated testing system is designed,aiming to achieve functions such as test case construction and management,automated testing,real-time data collection,and automatic report generation. The feasibility of the system is fully verified through experiments.

【Key words】CAN bus;automated testing;data collection;test management

控制器局域網絡(Controller Area Network,CAN)總線是一種重要的串行通信協議,廣泛應用于車輛的電子控制單元ECU之間的信息傳遞。通過CAN總線,多個ECU可以通過單一的通道高效地交換信息,極大地提高了車輛的控制效率和可靠性。然而,隨著汽車功能的復雜化,傳統的車輛功能測試面臨諸多挑戰。測試人員通常需要依據測試大綱和具體功能,模擬測試環境,采集并分析數據波形,最終由人工編制測試報告,這一過程不僅耗時而且易于出錯。在這種背景下,設計一種基于CAN總線的自動化測試系統顯得尤為重要。本系統設計了一套自定義的語法結構,支持用戶在Execl文件中進行測試用例的編制和管理。系統實現測試用例的語法解析、測試過程的自動化、實時數據采集和自動報告生成功能。同時系統提供了良好的用戶交互界面,簡化操作。本系統避免了過多的人為干預,顯著提高測試的準確性和效率,降低了人為誤判等風險。

1 系統的設計和實現

1.1 系統的架構和功能

綜合考慮系統的功能性和實用性需求,構建其整體結構方案,系統結構圖如圖1所示。

語法結構是系統的核心基礎,本系統設計了4大類語法結構,以指導測試用例的編制和測試系統的執行。

測試用例管理負責編制和管理測試用例。操作人員需提前在Excel模板中依照規定的格式和語法將功能測試大綱轉換為語法版測試用例,同時,工作表中設計了測試用例庫,便于對可復用的測試用例進行維護。

自動化測試軟件是系統的核心執行部分,操作人員可以在界面進行系統配置、文件導入、測試用例選擇等。當測試開始后,軟件會自動根據測試用例進行語法解析、數據采集和邏輯判斷,并實時顯示測試進度和結果。在測試完成后自動進行報告生成。

1.2 測試語法結構

在自動化測試系統中,一套能滿足各種測試用例設計需求的語法結構是非常重要的,這些語法必須能夠支持從基礎數據讀寫到高級邏輯判斷,并且能實現復雜邏輯、多變條件以及循環嵌套的測試步驟,這樣才能確保測試流程的完整性和深度。本系統基于模塊化和可擴展性原則,設計了14種語法結構,具體如下:①基礎語法:read、assert、sendmsg、capture、stopcapture、end;②判斷語法:if/elif/else;③循環語法:while、break;④輔助語法:alert、wait、creatnum、write、math。部分語法結構說明如表1所示。

1.3 測試用例管理

本系統的測試用例管理采用Execl文件進行管理,分為4個工作表。

1)TestCase:根據測試大綱編寫的測試步驟。

2)InitStep:測試用例的初始化步驟。

3)ClearupStep:測試結束時的清理步驟。

4)CustomStep:用戶自定義的步驟。

在TestCase工作表中,可以通過標簽調用其他3個工作表中的內容,從而實現測試用例庫的建立與調用,測試用例庫的調用方案如圖2所示。

1.4 測試軟件功能介紹

自動化測試軟件實現過程是由操作人員先進行系統配置,包括對CAN設備、通道、DBC文件等內容進行配置。然后,導入測試用例文件,成功導入文件后,根據需要選擇測試條目,調整測試條目執行順序。當開始測試后,軟件將根據語法結構逐行解析,并進行數據采集、處理、判斷等,測試過程中會將單條測試步驟的詳情按順序更新在界面上,當執行完單個測試條目后,將當前測試條目的測試結果更新在界面上。當執行完所有的測試條目后,軟件會自行進行報告生成,內容包括測試概況、詳細測試條目、執行時間和數據曲線分析等,為進一步分析提供了詳實的數據支持。自動化測試軟件實現流程圖如圖3所示。

1.4.1 測試用例加載與顯示邏輯

操作人員通過導入按鍵打開文件對話框,并選擇一個包含測試用例的Excel文件。導入測試文件后,軟件會解析文件工作表中的測試條目,讀取特定的行列以構建測試用例的層次結構,在界面上通過樹狀結構進行顯示,對于樹的根節點和子節點,動態添加了復選框,用于供操作人員進行選擇。軟件中為每個復選框綁定了一個事件處理函數,當復選框的狀態改變時,這個函數負責同步更新父節點或子節點的選中狀態,允許用戶通過選中一個頂級用例自動選擇所有相關的子用例,或者通過取消選擇頂級用例來取消所有子用例,可以簡化操作過程。在操作人員選定測試用例后,軟件收集所有被選中的測試節點,用于后續加載測試步驟使用。測試用例加載與顯示基本流程圖如圖4所示。

1.4.2 測試執行實現邏輯

測試開始后,軟件會根據上述選中的測試節點,重新讀取測試用例文件中的測試步驟,通過字典結構將測試步驟構建成層級結構,同時,通過多線程不斷監聽CAN通道以接收消息,采用PyQt的信號和槽機制處理接收到的數據和其他異步事件,提高了系統的響應能力和實時性。

在測試用例解析方面,主要是根據不同的語法結構,制定不同的解析方案,并執行具體的測試步驟邏輯。所有測試步驟結果實時更新,并在執行完畢每條測試步驟后,將結果顯示在界面上,包括所執行的測試步驟、當前步驟執行時間及具體結果等關鍵信息。

HWwo++ALhIni4rRflY2o5Q==針對判斷語句解析,軟件會先檢查if條件是否成立。如果條件為真,軟件則執行if語句塊內的相關操作。若條件為假,并且存在elif語句,軟件會依次檢查每個elif語句的條件。如果這些條件也不滿足,軟件最終將執行else語句塊(如果存在),以處理未滿足任何先前條件的情況。if語句邏輯實現流程圖如圖5所示。

針對循環語句解析,特別是復雜的循環嵌套結構,系統采用遞歸方法進行處理。解析到以while為起始的測試步驟時,系統會創建一個字典來記錄循環邏輯及其嵌套步驟,并將這個字典存儲在列表中,以跟蹤測試執行流程。這個列表充當堆棧,管理嵌套的測試步驟。當一個循環或條件結構被另一個循環包圍時,它會被添加到堆棧中的字典里。軟件會評估每個while循環的條件,若條件成立,則執行循環體內包含的所有步驟,包括進一步的嵌套循環或條件語句。循環體的執行通過遞歸調用實現,允許系統深入每一層嵌套并執行其中的所有步驟。

2 試驗驗證

測試系統軟件布局如圖6所示,主要包括:界面配置功能區、操作功能區、日志顯示區、測試用例執行顯示區等。

2.1 測試用例導入驗證

圖7為基于某款車型策略文件編制的測試用例Excel文件。

在導入測試用例文件后,界面上可以成功加載出所有的功能、ID和名稱,通過復選框可以勾選所需的測試用例。圖8為測試用例加載顯示界面。

2.2 測試語法解析驗證

當自動化測試啟動后,所有正在執行的測試步驟會在界面的左側欄目中顯示,而右側欄目則展示當前的測試條目,綠色背景的測試條目為測試通過,紅色背景表示測試失敗,黃色表示正在執行,人為跳過或其他測試異常的測試條目也用黃色背景標識,測試過程的界面如圖9所示。

在測試執行中,如果識別到alert語句,軟件會彈出一個提示框顯示必要的信息,圖10為alert語句提示框。

圖11為判斷語句if條件為真的執行過程,可以看出:當if條件滿足后,執行了一次內部的read語句,執行完內部read語句后會跳出if判斷體,執行assert語句。

圖12為循環執行的過程,可以看出當while條件成立,會執行while內部的wait語句,并會持續循環條件判斷,直到while條件不成立。

2.3 自動報告生成驗證

當自動化測試軟件完成測試后,會自動生成PDF格式報告,會將測試結果進行匯總統計,并通過圖表的方式進行生成,如圖13所示。

測試中所有執行的步驟、時間及結果都會用表格的形式進行生成,當測試用例中有capture語句時,會開始進行數據采集,當執行到stopcapture語句時,會停止數據采集,報告中會將采集的CAN信號通過曲線圖的方式插入到相應的位置中,如圖14所示。

3 結束語

本文針對目前車輛測試行業內出現的效率低、人為誤判等問題,提出了一種自動化測試解決方案,本系統實現了通過Execl文件進行測試用例管理,設計了一套實用性較強的語法結構,可以覆蓋廣泛的測試用例和場景,同時系統軟件也實現了測試用例解析、實時數據采集、自動化測試、自動生成報告等功能,大幅提高了測試的準確性和效率,并且經過測試可以滿足實際需求。

參考文獻:

[1] 劉瑤秋,季金強,趙苗苗,等. 整車CAN總線數據測試系統的研究[J]. 客車技術與研究,2020,42(6):36-39.

[2] 金虎. 自動化軟件測試技術研究[D]. 成都:四川大學,2006.

[3] 張弘. 基于CAN總線的信號采集與處理模塊研究[D]. 南京:南京航空航天大學,2007.

[4] 黃勝龍. 汽車發動機ECU的自動化HIL仿真測試平臺的研究與實現[D]. 長春:吉林大學,2013.

[5] 黃建軍,李宥謀,劉婧,等. 基于Python語言的自動化測試系統的設計與實現[J]. 現代電子技術,2017,40(4):39-43.

(編輯 凌 波)

主站蜘蛛池模板: 在线免费不卡视频| 国产成人夜色91| 最新日韩AV网址在线观看| 精品久久人人爽人人玩人人妻| 狠狠色丁香婷婷综合| 男人天堂伊人网| 日本国产一区在线观看| 一级毛片在线播放免费观看| 无码一区18禁| 无码人中文字幕| 日韩无码视频播放| 91人人妻人人做人人爽男同| 欧洲熟妇精品视频| 一级毛片免费观看久| 亚洲天堂免费在线视频| 99热这里都是国产精品| 综合色区亚洲熟妇在线| 国产在线视频欧美亚综合| 欧美在线伊人| 国产日韩精品欧美一区喷| 在线观看热码亚洲av每日更新| 日本www在线视频| 亚洲视频一区在线| 欧美爱爱网| 中文字幕在线欧美| 国产精品露脸视频| 99热国产这里只有精品9九| 毛片一区二区在线看| 久久semm亚洲国产| 毛片最新网址| 天天综合网色| 中国成人在线视频| 重口调教一区二区视频| 国产综合网站| 国产精品福利在线观看无码卡| www亚洲精品| 欧美一区二区三区国产精品| 日韩欧美中文在线| 久久永久精品免费视频| 亚洲人成网站观看在线观看| 亚洲精品午夜天堂网页| 欧美亚洲一二三区| 欧美 国产 人人视频| 天天做天天爱夜夜爽毛片毛片| 久久精品波多野结衣| 一级片免费网站| 精品国产网| 国产精品高清国产三级囯产AV| 国产人成在线视频| 性做久久久久久久免费看| 日韩精品高清自在线| 丝袜亚洲综合| 波多野结衣第一页| 美女被操黄色视频网站| 中文字幕av一区二区三区欲色| 白浆免费视频国产精品视频 | 一区二区三区国产精品视频| 午夜无码一区二区三区在线app| 1级黄色毛片| 日韩欧美高清视频| 国产亚洲精| 亚洲精品成人7777在线观看| 国产精品欧美日本韩免费一区二区三区不卡| 国产小视频a在线观看| 亚洲欧洲日韩综合| 永久天堂网Av| 福利国产微拍广场一区视频在线| 国产噜噜噜| 在线国产你懂的| 国产高潮视频在线观看| 国产手机在线观看| 中文字幕久久波多野结衣 | 区国产精品搜索视频| 久久香蕉国产线看精品| 丁香六月激情综合| 久久无码av一区二区三区| 亚洲成人精品久久| 亚洲精品日产AⅤ| A级毛片无码久久精品免费| 国产精品夜夜嗨视频免费视频| 精品人妻一区二区三区蜜桃AⅤ| 色悠久久综合|