中文  |  English
所在位置:市场活动 > 客户案例与技术文章

车载以太网-TC8 TCP/IP协议一致性测试实践

前言

车载以太网测试实践系列,我们还分享了PMA测试实践、IOP测试实践(添加相关文章链接)。本期给大家介绍的是TC8中的TCP/IP协议一致性测试(以下简称TCP/IP测试)。

image.png

 

TCP/IP测试-设备环境组成

TTworkbench

TTworkbench是思博伦旗下一款功能强大的测试自动化平台,它能够提供完整特性的集成式测试开发和执行环境(IDE),可进行测试脚本开发、编译,测试参数配置,测试执行,测试监控,生成测试报告。

image.png

图1 TTworkbench平台示意

TTsuite

思博伦提供了多种现成可用的货架式测试套装(TTsuite),包括OPEN Alliance SIG一致性测试(TC8),汽车AVB一致性测试,AUTOSAR一致性测试等套装,每个测试套装都包含多种经过验证的测试用例,配合TTworkbench,能够实现车载以太网常见协议的一致性测试的自动化执行。


C50

C50是思博伦推出的一款性能强大的硬件,具有第2至3层流量生成和分析能力,可搭配不同的网卡(100BASE-T1、100BASE-TX等)来满足不同用户的需求。通过网线连接至PC后,可实现TTsuite的远程执行,即测试脚本运行在C50中,PC监控测试过程,收集测试数据,生成测试报告等。

image.png

图2 C50实物图


Upper Tester(UT)

Upper Tester(UT)本质上是一个运行在DUT中的应用,用于辅助测试执行。它能够接收Test System发送的指令,来配置被测协议栈(IUT)的参数,或触发被测协议栈产生某种行为。UT支持的指令和格式遵循AUTOSAR体系下的《Testability Protocol and Service Primitives》规范,目前新版的TTsuite已经支持到了1.2.0版本。

OEM或供应商可按照规范自行开发和集成UT,也可购买第三方源代码自行集成,或通过第三方服务商来进行开发或集成。目前,北汇信息可提供UT的集成服务。

image.png

图3 Upper Tester(UT)工作原理

 

TCP/IP测试-被测对象组成

DUT

被测设备为实现了TCP/IP协议栈的非AUTOSAR控制器。

调试接口

为了更好地监视测试过程,DUT最好能提供一个调试接口,这样UT可通过这个接口输出一些调试信息,以帮助测试工程师更好地判定问题。这个接口可以是串口、SSH、或TELNET等,具体的类型并不限定。

需要注意的一点是,《Testability Protocol and Service Primitives》目前不支持TC8中的ARP测试,这时候就必须依赖上面提到的调试接口才能进行测试,并需要支持清除ARP动态缓存等配置和功能(详情可面对面沟通)。若提供的是SSH调试接口,可配合TTsuite实现ARP自动化测试,若是其他接口类型,则只能进行半自动化测试。


TCP/IP测试-测试过程

测试准备

image.png

图4 配置测试参数


执行测试

image.png

图5 测试脚本运行示意图


image.png

图6 测试报告示意图

TCP/IP测试-小结

我们经常会听到这样的问题,TCP/IP协议栈已经发展了近30年,想必是十分成熟可靠了,那么为什么还要投入精力去测试呢?

这个问题回答起来很简单,只需要举一个例子即可。

很多车载信息娱乐域的控制器采用了Linux系统,因为它成熟可靠,性能强大,应用资源丰富,且开源免费。但是对于Linux的TCP/IP协议栈,大多参数都采用缺省的配置,这就使有些特性可能不满足车载的应用要求。比如,在缺省情况下,任意目的IP地址的ARP数据包都会被Linux接收,而TC8 要求 DUT 应忽略掉非指向自己的数据包,以提高安全性。

这些细节也是做正向架构设计和参数配置需要约束的,是测试带来的价值之一,尤其是在当前摸石头过河的阶段。深入的测试完全可以“反哺”设计,当然这需要对应用场景和协议本身(缺一不可)有足够的认知。

所以我们想表达的是,TCP/IP更多的是为互联网设计的,它的很多机制只有在海量用户和数据,并且在非常复杂且未知的网络环境下才会起作用,否则可能起到相反的效果。

我们必须意识到,车内的局域网是相对静态的、封闭的、简单的,我们必须做一些针对性的优化,才能达到更好的网络性能和更高的安全性。而TC8的意义,可能就在于此。

image.png

图片来源:www.eenewsautomotive.com