汽车以太网测试之UpperTester

UpperTester,简称UT。UT是用于辅助实现测试设备和被测设备(DUT)进行通信指令传输,并执行相应指令的代码或应用程序。之所以需要UT,原因在于汽车以太网的通信是点对点通信,需要由客户端和服务端两者的交互行为来实现,而客户端和服务端的通信行为恰好是不一样的;如果仅将DUT作为服务端进行通信,那么DUT作为客户端的行为将无法进行覆盖测试;UT的实现则通过传输指令的方式触发了DUT作为客户端的行为,进而实现对DUT的协议栈,即IUT,进行了完整的覆盖测试。

在AUTOSAR中的定义如下图:

汽车以太网测试之UpperTester_第1张图片

 

UT通过汽车以太网接口传输的通信指令格式在AUTOSAR的AUTOSAR_PRS_TestabilityProtocolAndServicePrimitives文档中进行了详细定义。该控制指令默认使用UDP的10000端口(可配置修改)进行传输,指令格式使用类SOME/IP的格式进行封装,其详细定义如下图:

汽车以太网测试之UpperTester_第2张图片

 

UT的指令类型有三种:请求、响应、事件;UT单条指令的交互类型有2种,如下图:

汽车以太网测试之UpperTester_第3张图片

 

UT支持的协议类型GID定义如下表:

汽车以太网测试之UpperTester_第4张图片

 

UT支持的错误类型RID定义如下表:   

汽车以太网测试之UpperTester_第5张图片

 

以下是四种比较典型的测试用例报文交互序列图:

DUT通过UDP发送数据

汽车以太网测试之UpperTester_第6张图片

DUT通过UDP接收和转发数据

汽车以太网测试之UpperTester_第7张图片

DUT作为TCP服务端发送数据

汽车以太网测试之UpperTester_第8张图片

DUT作为TCP客户端接收和转发数据

汽车以太网测试之UpperTester_第9张图片

总的来说,L3/L4层的一致性测试需要UT进行辅助才能完整覆盖TCP/IP协议栈测试的所有行为。对于AUTOSAR类的操作系统来讲,该测试主要通过SoAd模块接口来实现指令的行为;对于Linux、QNX等开源操作系统来讲,该测试主要通过Socket应用接口来实现指令的行为。

除此之外,RTP等应用协议测试也需要UT的支持,这些内容由怿星科技对标准的UT指令进行扩展实现,同时,怿星科技提供基于每一个零部件样件的UT集成服务,支持TCP/IP、RTP等汽车以太网通信所使用的各种通信协议。

 

你可能感兴趣的:(以太网,单元测试,网络通信)