前言

“OPEN组织由全世界主要整车厂和供应商组成,旨在推广以太网技术在车辆中的应用。OPEN下属多个技术委员会(Tech Committee,简称TC),对不同方面的技术细节进行量化定义,并发布相应规范。其中TC8规范包括车载以太网ECU从物理层到应用层的各层互操作性以及常规基础功能服务,目的在于提高不同ECU之间的兼容性”


01

UpperTester

UpperTester作为Tester与DUT的被测核心功能模块之间的中介,辅助完成测试。UpperTester的主要功能包括:


  • 与Tester就测试模式切换/请求响应等方面进行通信协商
  • 触发DUT内部相关测试行为,从而完成测试

TC8_网络诊断

UpperTester就是一个应用程序,安装在Tester和DUT中,负责触发DUT执行测试用例的测试条件,和获取DUT的测试结果

如何理解?

比如说,测试DUT的TCP连接的功能,Tester这边可以通过脚本创建client socket,相对应地,DUT需要创建一个server socket,如何创建?就需要UpperTester

具体的步骤是:Tester侧的UpperTester给DUT侧的UpperTester发一个指令,内容是:创建一个TCP socket并监听在某个端口上(比如说60000),然后Tester侧的脚本根据测试用例,创建一个TCP socket连接DUT,如果连接成功,DUT侧的传输控制块TCB的状态应该是ESTABLISHED。这时候Tester侧的UpperTester再次发送指令给DUT侧的UpperTester,内容是:获取DUT的TCB状态。DUT侧的UpperTester获取到状态后,即可告诉Tester侧的UpperTester,测试脚本根据Tester侧的UpperTester获取到的状态,在测试报告里打印Pass/Fail

服务原语SP

service primitives,服务原语,就是上面的给UpperTester发的指令


  • 通过什么方式发?内容形式如何?
    通过以太网通道发送,以UDP payload的形式发送
  • 发送内容如何解读?
    比如说,需要操作DUT创建一个tcp socket,并监听在端口60000,发送的指令内容不可能是:请你创建一个tcp套接字并监听60000,这样的文字。既不规范也不简单明了
    所以AutoSar定义了一套TestabilityProtocolAndServicePrimitive(参考文档AUTOSAR_PRS_TestabilityProtocolAndServicePrimitive(UpperTester接口说明).pdf),比如说用05代表udp,01代表创建tcp socket,EA 60是监听的端口,那么只要发一个udp报文给DUT侧的UpperTester,udp payload是05 01 EA 60,UpperTester接收到udp报文后,再根据自己的接口说明解析udp payload,得到的指令是要创建tcp socket并监听端口60000,接下来操作就行了


02

TC8

详细拆解下上面的TC8测试的测试环境图