欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

使用CANoe进行自动化测试:探索Test Module和Test Unit功能

最编程 2024-02-05 07:35:22
...

概述

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)等搭建自动化测试系统。

系统架构.png

  • 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架构

Test Module和Test Unit在测试功能实现模式上基本相同,它们主要实现以下功能:

  1. 访问完整的剩余总线仿真
  2. 访问CAN、LIN、Ethernet、Flex Ray等总线
  3. 通过系统变量访问和控制连接SUT的I/O板卡或VT System
  4. 通过FDX接口访问外围实时系统(如HIL系统和LabVIEW模块等)
  5. 通过对应的接口访问外置测量系统(如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测试模式的主要区别

其中XML测试模块的特点在于它可以根据用户设置测试参数来调用CAPL或.NET测试库中的Test Cases,并且提供了GUI界面供用户选择被测用例,提高了测试的灵活性。

Test Module 工程实践

本文以CANoe自带的Demo为例简介如何创建并运行CAPL Test Module和XML Test Module。

CAPL Test Module

  1. 首先,在CANoe主界面中选择Test→Test Setup,打开Test Setup for Test Modules窗口。在Test Setup for Test Modules窗口空白处单击鼠标右键并在菜单中选择New Test Environment,可以创建一个新测试环境。

    新建测试环境

  2. 再鼠标右键单击Test Environment,选择Insert CAPL Test Module来插入一个CAPL测试模块,默认的测试模块名称为Test 1。

    新建CAPL Test Module

  3. 鼠标右键单击新建的测试模块Test 1,选择Configuration,打开CAPL Test ModuleConfiguration对话框。在Common选项卡中,修改Module name为Engine Tester,并在Test script中添加EngineTester.can文件。

    配置CAPL Test Module

  4. 接下来是在EngineTester.can文件中实现测试用例。

    实现EngineTester.can

  5. 测试模块配置完毕并且实现测试用例后,双击测试模块Engine Tester即可打开CAPL测试模块的窗口。

    运行Test Module

  6. 点击start按钮开始运行Test Module,运行完毕生成的Report如图所示:

    测试报告

XML Test Module

创建XML Test Module的前两步同CAPL Test Module,下面从第3步开始。

  1. 创建vxt格式的XML文件,导入需要引入的CAPL库文件

    配置XML Test Module

导入CAPL库文件:

导入CAPL Library

  1. 实现XML文件和CAPL Library

    CAPL Library:

    CAPL Library



    XML文件:

    XML file

  2. 运行XML Test Module,生成测试报告

    运行XML Test Module:

    运行XML Test Module


    生成测试报告:

    生成测试报告