测试目的:
验证不同的服务是否能够共享同一个传输层协议的端口号。
描述
本测试用例旨在验证在同一个电子控制单元(ECU)上,不同服务的多个服务实例是否能够监听不同的端口,同时确保不同的服务能够共享同一个端口号。
测试拓扑:
具体步骤:
- DUT配置:在
<DIface-0>
上启动服务,信息如下:
- 服务ID:<SERVICE-ID-1>
- 实例数量:1 - DUT配置:在
<DIface-0>
上启动服务,信息如下:
- 服务ID:<SERVICE-ID-2>
- 实例数量:1 - 测试者:
<CLIENT-1>
通过<DIface-0>
向DUT发送SOME/IP通知消息,包含:
- 条目类型设置为SOMEIP_ENTRY_FIND_SERVICE
- 条目类型设置为SOMEIP_ENTRY_FIND_SERVICE
- 条目数组中的服务ID设置为<SERVICE-ID-1>
- 条目数组中的服务ID设置为<SERVICE-ID-2>
- 测试者:
<CLIENT-1>
在<DIface-0>
上监听(最长<ParamListenTime>
)
- 条目类型设置为SOMEIP_ENTRY_OFFER_SERVICE
- 条目类型设置为SOMEIP_ENTRY_OFFER_SERVICE
- 条目数组中的服务ID设置为<SERVICE-ID-1>
- 条目数组中的服务ID设置为<SERVICE-ID-2>
- SOMEIP预期选项类型设置为SOMEIP_OPTION_IPV4_ENDPOINT
- SOMEIP预期的IPv4端点选项数量设置为1 - DUT:发送SOME/IP通知消息
- 测试者:提取SOMEIP IPv4端点选项的内容
传输端口到<extractedTransPort>
- 测试者:将client1的目标端口设置为extractedTransPort
- 测试者:
<CLIENT-1>
通过<DIface-0>
向DUT发送SOME/IP请求消息,包含:
- SOME/IP数据包发送头部请求ID设置为<CLIENT1-CURR-REQUEST-ID>
- SOME/IP数据包发送头部接口版本设置为<SERVICE-ID-1-INTF-VER-MAJ>
- SOME/IP发送请求消息服务ID设置为<SERVICE-ID-1>
- SOME/IP发送请求消息方法ID设置为<METHOD-ID-1-SI-1>
- 测试者:
<CLIENT-1>
在<DIface-0>
上监听(最长<ParamListenTime>
)
- SOME/IP数据包预期头部请求ID设置为<CLIENT1-CURR-REQUEST-ID>
- SOME/IP预期服务ID设置为<SERVICE-ID-1>
- SOME/IP预期方法ID设置为<METHOD-ID-1-SI-1>
- SOME/IP预期返回代码设置为SOMEIP_RET_CODE_E_OK - DUT:发送SOME/IP响应消息
- 测试者:
<CLIENT-1>
通过<DIface-0>
向DUT发送SOME/IP请求消息,包含:
- SOME/IP数据包发送头部请求ID设置为<CLIENT1-CURR-REQUEST-ID>
- SOME/IP数据包发送头部接口版本设置为<SERVICE-ID-2-INTF-VER-MAJ>
- SOME/IP发送请求消息服务ID设置为<SERVICE-ID-2>
- SOME/IP发送请求消息方法ID设置为<METHOD-ID-1-SI-2>
- 测试者:
<CLIENT-1>
在<DIface-0>
上监听(最长<ParamListenTime>
)
- SOME/IP数据包预期头部请求ID设置为<CLIENT1-CURR-REQUEST-ID>
- SOME/IP预期服务ID设置为<SERVICE-ID-2>
- SOME/IP预期方法ID设置为<METHOD-ID-1-SI-2>
- SOME/IP预期返回代码设置为SOMEIP_RET_CODE_E_OK - DUT:发送SOME/IP响应消息
- DUT配置:停止在
<DIface-0>
上的服务,信息如下:
- 服务ID:<SERVICE-ID-1>
- DUT配置:停止在
<DIface-0>
上的服务,信息如下:
- 服务ID:<SERVICE-ID-2>
通过标准
5. DUT:发送SOME/IP通知消息
10. DUT:发送SOME/IP响应消息
13. DUT:发送SOME/IP响应消息
参考文档
- 序列化协议(SOME/IP)V1.1.0 R4.1 Rev 3 s6.3.1.3 多个服务实例 [TR_SOMEIP_00163] 第35页(可能)