概述
SOME/IP (Scalable service-Oriented Middleware over IP) 作为车载以太网的一种通信协议,在智能汽车通信领域受到广泛应用。对于应用SOME/IP协议的车内控制器来说,标准化的测试能够为车内通信提供更加可靠的保障。
AETP(Automotive Ethernet Test Package)是一款专为车载以太网协议测试而设计的软件,目前已经覆盖主流车载以太网协议,其中AETP.SOME/IP是为车载以太网SOME/IP通信协议专门制定的自动化测试套件,包含基于IPv4的SOME/IP测试套件和基于IPv6的SOME/IP测试套件,测试的开发设计基于《OPEN Alliance Automotive Ethernet ECU Test Specification Layer 3-7》测试规范(以下简称,OPEN TC8测试规范),AETP.SOME/IP测试套件具有简单易用,扩展性好的特点,本文将详细介绍AETP.SOME/IP测试套件的内容。
轻量化测试环境
使用AETP.SOME/IP测试套件,可以实现轻量化环境下的测试。测试环境由PC端(Tester)、转换工具(Converter)、测试套件和被测样件(Device Under Test,DUT)组成,将测试套件装载在PC端,通过一根网线与Converter连接,Converter的另一端与DUT相连,测试时通过调用PC端的有线网卡完成数据的发送和接收,Converter的作用则是完成Tx到T1的转换。测试拓扑如图1所示。
AETP. SOME/IP特点
呈现方式清晰
AETP.SOME/IP套件的呈现方式清晰,用户体验友好,测试整体以序列的方式呈现。测试序列分为两大模块,分别是Initialization模块和Test Step & Expect Result模块。Initialization模块主要是完成测试前的工作,填写如DUT的IP地址等必要测试参数;Test Step & Expect Result模块为主要的测试模块,在该模块中,序列的各个测试步骤完全对应于OPEN TC8测试规范中的测试用例步骤,测试步骤清晰可见,易于理解。
操作简单灵活
测试时,选中想要测试的用例,点击左上角的绿色运行按键即可执行测试序列,测试过程中产生的有用信息,都会打印在右侧蓝色框Console界面内,便于用户了解测试内容及测试过程,测试序列及运行如图2所示。
测试中,可以通过wireshark软件实时观察测试中产生的数据,测试完成后,也会自动保存测试过程中产生的测试数据,便于用户观察数据和了解测试过程。图3为AETP.SOME/IP测试序列步骤与数据的对应关系。
AETP.SOME/IP还支持多个测试用例通跑,操作依然清晰简单,只需建立一个testplan,将所有需要测试的序列拖入testplan中,点击运行即可实现一键运行多个序列,图4为通跑测试的测试步骤示意图。
测试输出丰富
测试完成后,会自动保存测试过程中产生的数据,并可生成测试报告,报告中详细显示每个测试步骤的结果及关键报文的时间,可以帮助用户在测试后精准定位问题,如图5 所示,左侧为产生的测试报告,包含收到DUT发出报文的时间、测试步骤、期待响应和测试响应的情况,右侧为自动保存的测试数据,测试报告中的时间与数据中的时间一致。
支持IPv6和IPv4
目前,车载以太网IPv4与IPv6协议应用范围广泛,AETP.SOME/IP不仅包含网络层协议基于IPv4的测试套件,还拥有基于IPv6的SOME/IP测试套件,能够针对一些网络层基于IPv6协议设计的样件进行SOME/IP测试,图6为使用基于IPv6的AETP.SOME/IP测试套件测试产生的数据。
接口灵活开放
AETP.SOME/IP测试套件具有接口灵活、开放性好的优点,测试用例中发送数据包的报文字段和收到数据包时的解析逻辑都是用户可见的,据此,除了可视性好的优点,用户也可以根据需求修改发送的数据包和解析逻辑,实现自定义测试。
测试内容
AETP.SOME/IP的测试内容主要包括:SOME/IP SERVER测试和SOME/IP ETS测试,测试的内容主要涵盖SOME/IP的报文格式、通信机制、序列化功能、RPC功能、SD行为、发布订阅、错误处理等内容,SOME/IP SERVER测试共有七个测试组,93条测试用例,SOME/IP ETS共有137条测试用例。
测试案例
用例名称
SOME/IP_ETS_001: Array_Length_longer_as_message_length_allows_it
测试目的
当发送Request报文的数组长度大于SOME/IP允许的长度时,测试DUT是否能够返回错误报文。
测试步骤
步骤1:上电后能够收到DUT发送的OfferService(该步为测试前提)
步骤2:Tester端创建数组长度大于报文允许长度的SOME/IP报文
步骤3:Tester向DUT发送步骤2中创建的报文
步骤4:接收并解析判断DUT返回的响应报文
期望结果:如果DUT返回响应报文是一条错误报文MALFORMED_MESSAGE,则用例通过。
执行模块
测试数据
三级标题测试分析
将测试结果与测试步骤对比,该测试用例为Pass,那么你能知道Return Code为0x09 Malformed Message回复的是哪种错误类型的报文吗?(答案在下期揭晓)
【上期答案】- -车载以太网自动化测试套件 - AETP.DDS
按照《车载以太网DDS协议一致性测试规范-QoS》中描述,log中DataWriter以3ms为间隔发送了两帧Data报文,当DataReader TimeBasedFilter配置为100ms时,DataReader缓存区非第一帧Data报文携带数据,不符合测试规范中的评价标准,故结果fail。
产品模块组成
经纬恒润作为OPEN联盟会员和AUTOSAR联盟的高级合作伙伴,长期为国内外各大OEM和供应商提供涵盖TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等技术领域的设计和测试咨询服务,积极研发和探索车载网络前沿技术的工程应用。通过多个项目的实践经验,已建立了高质量、本土化的设计与测试一体化解决方案,为整车网络架构提供可靠支持。