0
点赞
收藏
分享

微信扫一扫

车载测试系列:基于CANoe的UDS诊断测试

针对新款车型,OEM会提出新车型的诊断需求,形成诊断需求规范。车内控制器由不同供应商提供。供应商根据需求规范来完成其功能实现。功能实现是否正确需要进行诊断测试验证。

测试目的:校验控制器关于诊断功能是否是按照需求规范定义的方式实现。

为了保证从需求提出-功能实现-后期测试整个流程中数据的正确性和一致性,诊断数据描述内容通过诊断数据库(CDD& PDX)为载体来贯穿整个全流程。

测试实现方式有:

手动测试: 基于需求规范,提炼出测试规范,再基于测试规范,编写测试用例。基于测试用例一步一步手动测试并记录测试结果

半自动化测试:基于测试规范编写测试脚本,将编写好的测试工程加载到执行软件中自动化运行。所谓半自动化就是手动编写测试脚本,自动化运行测试脚本

全自动测试:将诊断描述内容,如数据库,加载到对应的测试用例生成工具中(如Vector公司CANoe.DiVa),自动化生成测试用例,并将生成的测试工程加载到执行软件自动化运行测试用例

本文分析手工测试相关操作步骤。

一、无诊断数据库测试验证

应用场景:被测项目中,OEM未释放对应的诊断数据库CDD或者ODX文件(ODX打包格式是PDX),测试工程师所在公司没有编辑诊断数据库的工具(CANdelaStudio)。这时候需要对ECU进行手动诊断测试,步骤如下:

1、在CANoe中新建BasicDiagnostic工程:PC端打开CANoe工具,新建CANoe工程如下图:

车载测试系列:基于CANoe的UDS诊断测试_测试用例

 

2、在诊断窗口添加BasicDiagnostic Description(UDS)选项,使用CANoe工具内嵌的UDS入口,具体操作如下图:

车载测试系列:基于CANoe的UDS诊断测试_测试用例_02

 

3、在添加好BasicDiagnostic Description(UDS)选项后,会有对应的交互界面。在此处设置请求ID和响应ID、TP相关参数、加载解锁所需dll文件以及其他时间参数。

车载测试系列:基于CANoe的UDS诊断测试_测试用例_03

 

车载测试系列:基于CANoe的UDS诊断测试_加载_04

 

4、新建需要的测试内容:在CANoe中,选择Basic Diagnostic,并创建自己需要的服务

车载测试系列:基于CANoe的UDS诊断测试_加载_05

 

车载测试系列:基于CANoe的UDS诊断测试_测试用例_06

 

以Service10为例,配置子服务的Req和Res

车载测试系列:基于CANoe的UDS诊断测试_加载_07

 

车载测试系列:基于CANoe的UDS诊断测试_数据库_08

 

5、将创建好的服务同步到诊断控制台(Diagnostic Console),使用接口卡连接ECU,手动发送诊断请求测试验证即可。

二、使用数据库进行测试验证

实际项目时,车厂或者Tier1会输入CDD&PDX文件,集成所有用到的诊断命令。在有诊断数据库CDD&PDX文件情况下,测试操作步骤如下:

1、在CANoe中加载数据库

车载测试系列:基于CANoe的UDS诊断测试_测试用例_09

 

2、导入配置如下,不需要修改:

车载测试系列:基于CANoe的UDS诊断测试_测试用例_10

 

3、cdd导入后, Diagnostic console中已经有了诊断命令,手动发送诊断帧的方式测试验证即可。

车载测试系列:基于CANoe的UDS诊断测试_测试用例_11

作者: ​​千里和他的软件测试​​

举报

相关推荐

0 条评论