概述
CANoe的測試模塊包括Test Module和Test Unit兩大組件,并且集成了TFS測試功能集(Test Feature Set)和TSL測試服務庫(Test Service Library)來幫助用戶實現高效的自動化測試。
- TFS是CANoe擴展出來的一系列測試功能函數,包括測試報告的輸出函數等。
- TSL包含一系列的檢測函數(Check Function)、激勵函數(Stimulus Functions)、狀態報告函數(Status Report Functions)以及檢測控制函數(Check Control Functions)。TSL在TFS基本函數的基礎上,提供這些特殊函數,幫助用戶更加方便高效的組件測試用例。
架構
根據ECU的測試規范,用戶可以基于CANoe的Test Module或Test Unit、網絡控制硬件接口(如VN5640、VN1640等)、外圍硬件在環設備(如VT System)等搭建自動化測試系統。
- SUT : System Under Test 被測系統,一般是待測ECU
- remaining bus simulation : 剩余總線仿真。實際應用中SUT只是總線中的一個ECU節點,總線環境是復雜的,CANoe可以仿真除了SUT之外的總線環境,即剩余總線仿真。
-
VT System : VT system是由一系列硬件板卡組成的ECU功能測試模塊,通過連接ECU的I/O線路對ECU進行測試。
- ECU不僅僅擁有總線接口,同時也擁有許多I/O接口,用于連接傳感器和執行器。因此完整的ECU測試系統應該同時包含總線接口和I/O接口。Vector的VT System可以完整滿足用戶對ECU的功能測試需求。
- VT System包含處理器模塊、CAN/LIN模塊、負載和測量模塊、激勵模塊、VT供電模塊、ECU電源管理模塊、數字IO模塊、模擬量IO模塊、繼電器模塊和擴展模塊,通過以太網和CANoe連接。
Test Module/Test Unit 簡介
CANoe通過Test Module/Test Unit中的Test Group和Test Case實現有序的測試序列。
- Test Moule/Test Unit : 測試的執行單元
- Test Case : 測試用例,由測試步驟(Test Step)組成
- Test Group :測試分組,對Test Case分組,使測試結構更加清晰
Test Module/Test Unit 架構
Test Module和Test Unit在測試功能實現模式上基本相同,它們主要實現以下功能:
- 訪問完整的剩余總線仿真
- 訪問CAN、LIN、Ethernet、Flex Ray等總線
- 通過系統變量訪問和控制連接SUT的I/O板卡或VT System
- 通過FDX接口訪問外圍實時系統(如HIL系統和LabVIEW模塊等)
- 通過對應的接口訪問外置測量系統(如GPIB和Ethernet接口的設備)
Test Module和Test Unit的區別:
- Test Unit在Test Configuration窗口定義,用戶需要根據Vector提供的軟件vTESTstudio創建測試用例,然后將測試用例導入CANoe Test Unit運行。
- Test Module在 Test Setup for Test Modules 中定義,Test Module支持三種不同語言類型的測試模塊:CAPL、XML和.NET。用戶可以根據自己熟悉的語言和測試需求來編寫測試模塊。
XML和CAPL、.NET測試模式的主要區別:
其中XML測試模塊的特點在于它可以根據用戶設置測試參數來調用CAPL或.NET測試庫中的Test Cases,并且提供了GUI界面供用戶選擇被測用例,提高了測試的靈活性。
Test Module 工程實踐
本文以CANoe自帶的Demo為例簡介如何創建并運行CAPL Test Module和XML Test Module。
CAPL Test Module
-
首先,在CANoe主界面中選擇Test→Test Setup,打開Test Setup for Test Modules窗口。在Test Setup for Test Modules窗口空白處單擊鼠標右鍵并在菜單中選擇New Test Environment,可以創建一個新測試環境。
新建測試環境 -
再鼠標右鍵單擊Test Environment,選擇Insert CAPL Test Module來插入一個CAPL測試模塊,默認的測試模塊名稱為Test 1。
新建CAPL Test Module -
鼠標右鍵單擊新建的測試模塊Test 1,選擇Configuration,打開CAPL Test ModuleConfiguration對話框。在Common選項卡中,修改Module name為Engine Tester,并在Test script中添加EngineTester.can文件。
配置CAPL Test Module
-
接下來是在EngineTester.can文件中實現測試用例。
實現EngineTester.can
-
測試模塊配置完畢并且實現測試用例后,雙擊測試模塊Engine Tester即可打開CAPL測試模塊的窗口。
運行Test Module
-
點擊start按鈕開始運行Test Module,運行完畢生成的Report如圖所示:
測試報告
XML Test Module
創建XML Test Module的前兩步同CAPL Test Module,下面從第3步開始。
- 創建vxt格式的XML文件,導入需要引入的CAPL庫文件
配置XML Test Module
導入CAPL庫文件:
- 實現XML文件和CAPL Library
CAPL Library:
CAPL Library
XML文件:
XML file
- 運行XML Test Module,生成測試報告
運行XML Test Module:
運行XML Test Module
生成測試報告:
生成測試報告