概述
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。
-
鼠标右键单击新建的测试模块Test 1,选择Configuration,打开CAPL Test ModuleConfiguration对话框。在Common选项卡中,修改Module name为Engine Tester,并在Test script中添加EngineTester.can文件。
-
接下来是在EngineTester.can文件中实现测试用例。
-
测试模块配置完毕并且实现测试用例后,双击测试模块Engine Tester即可打开CAPL测试模块的窗口。
-
点击start按钮开始运行Test Module,运行完毕生成的Report如图所示:
XML Test Module
创建XML Test Module的前两步同CAPL Test Module,下面从第3步开始。
3. 创建vxt格式的XML文件,导入需要引入的CAPL库文件
导入CAPL库文件:
- 实现XML文件和CAPL Library
CAPL Library:
XML文件:
- 运行XML Test Module,生成测试报告
运行XML Test Module:
生成测试报告: