自动化诊断测试之CANoe.DIVA入门

目录

0 前言

1 CANoe.DIVA基础

2 CANoe.DIVA TIPs

0 前言

        写在前面:如对本文有任何疑问欢迎评论区讨论,希望和大家一起进步。同时HIL测试群欢迎大家加入如有需要也可私信我拉你。VT和DIVA都可以做UDS的自动化测试,但相对VT来说使用DIVA生成用例的速度会更快更全面更简单一些,同时DIVA还可以与VT一起联合做测试。由于目前项目对DIVA的依赖并不深,本文对CANoe.DIVA只做一个简单的入门介绍,意在通过此篇文章可以帮助大家快速的建立一个DIVA工程用于测试或分析。

        本次使用的版本如下:

             CDD:delastudio17

             DIVA:16

1 CANoe.DIVA基础

        1>新建一个DIVA文件首先需要打开DIVA的程序,将制作好的CDD文件进行导入

自动化诊断测试之CANoe.DIVA入门_第1张图片

        2> DIVA的前期配置主要分为两个部分:Project Configuration和Test Configuation

在Project Configuration中主要是ECU的信息。后续的几个配置可以选项,如果要与VT联合可以进行配置,我这边暂时没有用到。自动化诊断测试之CANoe.DIVA入门_第2张图片

        3>在对项目的配置完成后就应该进行测试的配置:Test intensity就相当于进行全功能测试还是只进行一些somking test;在变体标识符这里一般可以默认不勾,如果勾的话需要在CDD中进行配置,这会在最后的TIPs中进行讲解。

自动化诊断测试之CANoe.DIVA入门_第3张图片

         4>接下来是配置时间层参数,具体的每个定时器的作用都已经详细的备注在图里了。

自动化诊断测试之CANoe.DIVA入门_第4张图片

        5>配置完定时器之后可以开始配置ECU节点相关的数据。这里需要注意的是如果一般NRC21这条是不用勾选的,并不是勾选的越多越好,勾选的越多只会增加自己分析case的时间成本,总的来说只选对的不选贵的。比如这里的ECU碰撞重启,我的项目中是没有这一项的因此我就没有勾选。

自动化诊断测试之CANoe.DIVA入门_第5张图片 6> 这里一般需要勾选上功能寻址,这样功能寻址和物理寻址的case都会帮你测试到了。传输层的参数按照诊断调查问卷中的填写就可以了。

自动化诊断测试之CANoe.DIVA入门_第6张图片

        7>接下来是选择要进行测试的服务,个人认为这里是比较有意思的地方,你可以给你的一些服务加上precondition和clean up ,这可以增加你case 的鲁棒性,并且可以更加的贴合测试点。因为我这边没有连接VT台架去测试一些和DTC相关的case,因此下面DTC的配置就没有进行配置。

自动化诊断测试之CANoe.DIVA入门_第7张图片

        8> 一切都配置完毕后,点击generate,DIVA会自动生成case如图所示:

自动化诊断测试之CANoe.DIVA入门_第8张图片        9>最后在CANoe中导入DIVA文件,文件的生成位置就是第一步设置的存储位置,在这里你可以进入case的编辑界面,使用capl进行case 的二次开发然后另存为,这样不需要使用DIVA,你就拥有了自己的自动化case用例了。

自动化诊断测试之CANoe.DIVA入门_第9张图片 自动化诊断测试之CANoe.DIVA入门_第10张图片

        10>点击运行,测试完成后在DIVA中打开测试报告如下图所示,具体细节可以点进case中查看,甚至你可以看到当时的trace。还是非常的方便。

自动化诊断测试之CANoe.DIVA入门_第11张图片 

2 CANoe.DIVA TIPs

        书接上回,回到变体标识的问题,如果你在这里勾选了ECU标识符,但是在CDD中却没有配置,那你每次一点开始测试就会失败,具体现象如下:

自动化诊断测试之CANoe.DIVA入门_第12张图片

 解决方法:

当CDD中有多个Variant时,可以用某个service或data object来标识某个Variant,当Client与ECU通信时,供Client识别不同的Variant。

比如,一个CDD文件中有多个ECU Variant,可以通过某个DID读取某个数据(如软件版本号)来标识ECU Variant。当CDD导入CANoe.DiVa生成测试用例时,如果通过这个DID读到的数据为CDD中设置的0.0.1,可以选择继续测试或者终止测试。

先在BaseVariant里建立Identifying,选定一个数据,通常用0x22服务读取DID某个数值来定义,如软件版本号、硬件版本号等。

自动化诊断测试之CANoe.DIVA入门_第13张图片

再编辑具体Variant的Identifying Pattern 

自动化诊断测试之CANoe.DIVA入门_第14张图片

自动化诊断测试之CANoe.DIVA入门_第15张图片 

谢谢大家! 

你可能感兴趣的:(在项目中学习UDS,从零学习CANoe.DIVA,自动化,测试工具,学习,功能测试,笔记,网络)