众所周知,canoe对分析和仿真功能有着非常出色的支持,但一些人可能对其测试功能了解较少,其实canoe对于测试功能的支持也是非常强大的。
canoe的测试功能模块包括test modules和test units两大组件,并且集成了tfs(test feature set)测试功能集和tsl(test service library)测试服务库来帮助用户实现高效的自动化测试。对于test units组件需要与vector旗下的另一款软件vteststudio结合使用。那么canoe是否可以不需要其他软件的支持来实现自动化测试功能呢?答案显然是肯定的,接下来就让我们一起来看一下canoe自带的测试功能是如何实现的。
一、通过test modules创建自动化测试用例的步骤基于test modules的自动化测试用例开发,主要是通过编写capl脚本来实现,canoe中自带的测试功能函数库可以帮助开发人员更高效地完成测试用例的开发。实现自动化测试脚本的开发,首先了解一下如何通过test modules进行自动化测试脚本的开发。
1、
2、创建新的测试环境
3、增加新的capl测试模块
4、设置自动化测试脚本的保存路径
二、tfs(test feature set)tfs是canoe扩展出来的一系列测试功能函数,包括测试报告的输出。按照功能来分,主要包括:
1、约束和条件设置函数:主要用来检测测试环境的偏差或被测ecu在测试过程中是否偏离某些参数的范围,以确保测试在正确的测试环境中被执行。
e.g:
testaddcondition:用于添加一个事件对象(event object)或事件文本(event text)作为测试的条件。
2、信号测试函数:主要用于检测或操作信号、系统变量的数值。
e.g:
checksignalinrange:用于检测信号、系统变量是否在指定的范围内。
3、等待指示函数:为用户提供测试动作设置、等待测试等功能。
e.g:
(1)testcreatetesteraction:创建一个测试动作;
(2)testwaitforsignalinrange:用于等待待检信号、系统变量是否满足定义的数值范围。
4、测试控制函数:用于控制ecu断开或连接到总线上。
e.g:
(1)testsetecuoffline:用于将指定的ecu从总线上断开
(2)testsetecuonline :用于将指定的ecu连接到总线上
5、故障注入函数:允许用户通过调用相关函数实现一些特殊的测试条件。
e.g:
testdisablemsg:用于禁止发送某个指定的报文
6、测试判别函数:用于对测试步骤、测试用例、测试模块等作出判别和处理。
e.g:
testcasefail:用于将当前测试用例的判别设为fail
7、测试架构函数:可以在测试模块设置测试分组、测试用例及测试步骤等,并定义了生成测试报告的格式。
e.g:
(1)testcasedescription:用于将测试用例的描述写入测试报告
(2) testcasetitle :用于设定测试用例的标题
8、测试报告函数:用于按用户的要求产生测试报告,增加报告的可读性。
e.g:
testreportaddimage:用于在测试报告中添加图片
三、tsl(test service library)test service library(测试服务库)是在测试功能集(tfs)基本函数的基础上,提供一些特殊函数,可以高效地解决某些特殊的测试问题。主要包含:
1、检测函数(check descriptions)
(1)信号验证(signal evaluation):包括信号的数值有效性、周期性和稳定性等检测。
e.g:
chkstart_msgsignalvalueinvalid/ chkstart_msgsignalvaluerangeviolation:用于检测信号/变量数值的有效性
(2)报文验证(message evaluation):包括报文丢失、周期、数据长度和错误帧等检测。
e.g:
chkstart_msgabscycletimeviolation:用于检测周期性报文的周期是否在给定的范围内
(3)时间验证(time evaluation):包括连续帧及超时检测。
e.g:
chkstart_msgdistviolation:用于检测指定两条报文之间的时间间隔
2、状态报告函数(status report functions):在执行上面的检测函数以后,canoe需要使用状态报告函数来查询检测结果、基本状态信息等。状态报告函数又分为通用的状态报告函数和特殊类型的状态报告函数。
e.g:
chkquery_numevents:用于返回初始化后指定检测函数产生的事件次数
3、激励函数(stimulus functions):激励函数作为tsl中的重要一部分,允许用户使用不同的数据源作为信号或系统变量的激励发生器。
4、检测控制函数(check control capl functions):用于对于检测事件的控制操作,如初始化、开始、停止、销毁等。
e.g:
chkcontrol_start:用于开始或继续检测事件。
四、测试模块的架构在了解了自动化测试脚本的开发步骤后,我们来看一下基于canoe的自动化测试系统的整体架构。
1、sut:system under test 被测系统,一般是待测ecu;
2、vt system:vt system是由一系列硬件板卡组成的ecu功能测试模块,通过连接ecu的i/o线路对ecu进行测试;
3、remaining bus simulation:残余总线仿真。实际应用中sut只是总线中的一个ecu节点,总线环境是复杂的,canoe可以仿真除了sut之外的总线环境,即残余总线仿真。
五、capl脚本的封装加密(敲黑板!)对于capl脚本的开发和维护需要投入大量的人力与物力,有时可能会带有一些公司的加密信息。但是根据项目需要又不得不释放给外部使用,为了保护开发人员的劳动成果,有必要做一些保护措施。capl脚本的加密与保护主要有三种方式:编译后删除源代码、加密后删除源代码和加密保护与硬件绑定。
1、编译后删除源代码(1)编辑好capl脚本之后,删除相关源代码(.can文件);
(2)在此节点configuration→node specification中将.can文件改成.cbf文件。
这种保护方式设置好之后,用户可以使用脚本,但是无法查看(编辑)和编译。
2、加密后删除源代码(1)将capl源代码进行加密生成.canencr文件
(2)将capl源代码加密后,删除源代码(.can文件)
加密后的源代码不能被查看或编辑,但是加密后的源代码可以在其他版本canoe中对其进行编译。
3、加密保护与硬件绑定在前两种保护方式的基础上,通过capl dll技术添加一些加密算法与计算机本机的硬件进行绑定(如mac地址等)。
除了可以将capl脚本进行加密,还可以将基于tfs(tsl)编写的capl脚本在vteststudio中进行调用。例如,在使用vteststudio编写自动化测试脚本时,需要有车辆加速的过程,则可以通过编写capl脚本实现此功能,然后在vteststudio中直接调用。
六、test unit和test module1、测试层级的对比
test module主要测试层级由test group、test case和test step组成,而test unit主要测试层级有:test group、test sequence、test fixture、test case和test step。
2、test unit和test module的区别(1)test unit在test configuration窗口定义,用户需要根据vector提供的软件vteststudio创建测试用例,然后将测试用例导入canoe test unit运行。
(2)test module在 test setup for test modules 中定义,test module支持三种不同语言类型的测试模块:capl、xml和.net。用户可以根据自己熟悉的语言和测试需求来编写测试模块。
七、总结了解了canoe的测试功能后,是不是对canoe有了重新的认识,其实canoe功能的强大不止于此。canoe是德国vector公司推出的一款总线开发环境,是网络和ecu开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统开发过程。其丰富的功能和配置选项被oem和供应商的网络设计工程师、开发工程师和测试工程师所广泛应用。
北汇信息作为vector中国合作伙伴,不仅提供相应的工具、技术支持服务以及培训,还针对不同的应用场景(智能座舱、新能源三电系统、底盘系统、adas及v2x等)提供专业的解决方案。欢迎联系北汇信息,为您答疑解惑。
计算机存储器的作用和分类说明
人工智能基础设施如何全面升级
纸张在线瑕疵检测仪的应用优势是怎样的
开发板openssh移植步骤
变电站综合自动化中监控系统的硬件设计研究
CANoe自带的自动化测试用例开发大揭秘
本已停产的8英寸集成电路设备需求增加
在线浊度仪介绍
通过增加PCB的热导率来改善PCB散热问题
空客“飞行空间”客舱赋予乘客全新服务体验
安防灯具气密性防水检测的案例
PCB板不涂覆三防漆会如何呢?
华为笔记本和小米笔记本互相“比惨”,销量简直就是惨淡收场!
简单介绍一下agv调度控制系统常见的软件应用
大联大友尚集团推出基于Diodes产品的无线电动工具USB PD接收方案
七牛云转码全面支持 HDR,实现智能、高效、一站式视频服务
苹果新一代iPhone搭载USB-C接有望标配18W的USB PD充电器
一文详解电感的三个电流
荣耀FlyPods 3蓝牙耳机评测 真无线降噪耳机普及者
一个简单且低成本的露水传感器电路