原创 TC8新版测试规范解读

2023-2-22 10:32 2148 10 10 分类: 汽车电子



背景

由OPEN联盟制定的《TC8 ECU and Network Test》标准,旨在验证产品是否符合RFC、IEEE以及AUTOSAR中定义的需求,该规范被OEM和Tier1广泛地作为车载以太网控制器产品的基础通信协议测试的参考测试标准。

执行并通过所有相关测试用例,能够使被测设备(DUT)获得最基础的认证,即该设备已满足车载以太网通信的基本要求。

为保证源自RFC等相关需求及相应测试项更适应于车载应用,保证测试规范(如判断标准、测试步骤)合理正确,TC8也在不断更新完善。作为OPEN Alliance SIG Adopter,北汇一直积极推动TC8在中国的测试应用。

本文以TC8新版本与2.0版本在ARP、IPv4、ICMPv4、UDP、TCP和SOME/IP这5个测试组中的变化对比为切入点,带您“抢鲜”解读新版本测试规范,分析其变更背后的原因,通过追根溯源,强化对以太网通信需求及车载应用场景的深入理解,为大家提供参考,以达知其所以然的目标。


TC8新版本与2.0版本对比分析

整体对比

新版在测试用例数量上有较大幅度的删减,下表给出各测试用例组的具体测试用例数(包含子用例)对比,以下章节将对各测试包逐一进行介绍,并对新老版本间的变化做简要分析。(数据仅供参考,具体以实际发布为准。)


 


ARP测试内容变化说明

ARP测试组中主要对ARP报文的请求,响应格式,ARP entry学习,ARP entry的更新以及ARP的timeout时间进行测试。

新版沿用历史版本中所有的ARP测试用例,并未进行修改,但增加了测试用例中所涉及的参数和常数的定义。


IPv4测试内容变化说明

 IPv4测试组包括IPv4的报头,IPv4 Checksum,IPv4 TTL,IPv4 版本号字段,DUT所接收IPv4数据包的目的地址字段,IPv4的分片,IPv4重组的验证。新版主要做了以下修订:

(1)删除IP Options相关的测试用例。RFC中定义的大多数标准的IP Options如今已经很少或从未被使用过,大多数常见协议栈对IP Options的支持也不尽相同,对于常规车载以太网通信来说,Options字段不是必要的。当然如果DUT使用了IP Options字段,对于IP Options字段的测试仍可参考2.0版本。

(2)删除2.0版本中存在测试点重复的用例例如IPv4_CHECKSUM_04与IPv4_CHECKSUM_05测试点存在重复。

(3)增加了测试用例中涉及的参数和常数的定义。

 

ICMPv4测试内容变化说明

ICMPv4测试组的主要测试内容如下:

(1)验证DUT的错误处理机制

验证当DUT接收到某些特定报文内容,不会出现错误报文。

(2)验证DUT是否支持不同类型的ICMPv4报文。如:ICMP端口不可达(MAY)、ICMP echo响应报文等。

这部分测试用例新版中并未增减,仅增加了测试用例中使用参数和变量的描述。


UDP测试内容变化说明

(1)删除IP Options相关的测试用例具体原因见前文描述。

(2)由于许多协议栈并不支持通过应用程序动态设置发送的UDP数据包的TOS和TTL,且车载以太网中TTL和TOS的值通常是静态配置的,动态设置这两个字段不符合实际的应用场景,可能出于这样的考虑,新版中移除了与之相关的测试组。

(3)对于UDP应用来说,获取ICMP错误信息和TTL不是必须的功能,并且许多协议栈并不支持。因此新版中删除了与之相关的测试用例,如果对这两部分有测试需求,仍可参考2.0版本。


 TCP测试内容变化说明

对于TCP测试组,新版测试用例总数相对于2.0版本减少了118条,由于被测试用例数较多,本文只针对部分典型删除用例做原因分析:

(1) 对于某些可以选择性实现的功能,其对应的测试用例不能作为强制的约束项,因此新版本删除了18条TCP测试包中需求属性为MAY的测试用例,如TCP_BASICS_15等。

(2) 2.0中部分测试用例中所引用的需求未找到具体的出处或者是不确定的(即由参考文档不能得出相应的结论),在新版中对应的测试项被删除,如TCP_BASICS_16等。
3)  2.0中的TCP测试组存在测试用例的测试点与其它测试用例重复的情况,因此在新版中删除了这些重复的用例,如TCP_CLOSING_01等。

4)  考虑到安全因素,RFC793中定义的某些机制已不再被目前大多数的协议栈所支持,新版中删除了与之相关的测试用例。

5) 目前车内较少存在三层路由,即使有路由器存在,其转发路径是固定的,也就是路径上的MTU是已知的,不需要通过路径发现的方式去估算路径MTU,这可能是删除Host Specification and MSS等用例的原因。

6) RFC原始需求中定义,当应用程序调用TCP SEND/OPEN等时,协议栈能够返回具体错误的状态至应用程序。随着技术发展,协议栈根据实际用户的需求进行优化,和原需求会产生差异,此特性目前大多数协议栈都不支持。因此,与之相关的测试用例被移除。


SOME/IP测试内容变化说明

对于SOME/IP测试组,新版测试用例总数相对于TC8 2.0减少了19条。如下针对部分被删除的测试用例进行了分析:

1) 删除与其它测试用例重复的测试用例。

如SOMEIPSRV_SETUP_01等。

(2) 删除11条非通用性的需求所对应的测试用例SOMEIPSRV_ONWIRE_08等。

3) 实际应用中,在特定条件下,SubscribeEventgroupAck有可能不带Options。此外,Index 1st Options 可不为 0,所以新版删除了与之相悖的和不合理的测试用例。


小结

通过上述分析可看出,新版修订了不少测试规范本身存在的问题,删除重复的测试用例、测试逻辑错误的测试用例以及可选择性实现的特性所对应的测试用例。最重要的是移除了很多并不适用于车载以太网通信场景的测试用例,这也让我们看到了车载以太网的基础协议测试的进化,更为“适合”和更具针对性。

尽信书则不如无书,需时刻保持独立思考。上述测试规范中的部分问题,北汇在过去两年的测试实施过程中,已经有所积累并针对性地进行了调整。篇幅所限,关于“规范比对”的更多内容和技术细节,敬请持续关注,北汇将尽力为您的车载以太网产品提供专业的测试验证服务和技术咨询!另,如有谬误之处,敬请指正!

 

作者: 北汇信息, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3998886.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条