背景
SOME/IP(Scalable service-Oriented MiddlewarE over IP),一个专门针对汽车领域开发的中间件协议,现在得到了越来越多的关注和实际应用。汽车不同于普通的消费电子产品,车辆中的很多部件需具备高可靠性和安全性,所以测试和验证一直是汽车领域的一个重要的话题。今天小怿介绍的ETS(Enhanced Testability Service)测试产品,便和SOME/IP这个中间协议的测试有紧密的联系。
SOME/IP测试简介
SOME/IP测试主要验证的是SOME/IP协议栈,即SOME/IP协议在通过代码实现时,其代码的实现效果与协议本身要求是否一致。主要包含SOME/IP SD的报文格式和通信行为以及SOME/IP的报文格式和通信行为。测试主要遵循OPEN Alliance的TC8 3.0测试标准,分为Server和ETS两部分:
-
Server测试主要测试SOME/IP在被测对象作为Server节点时的协议栈实现情况,通过一个测试仪与某一个或多个已有的服务进行交互,从而实现测试的目的;
注:针对Server测试中所用到的服务,一般建议从DUT实现的应用服务中挑选,也可以使用下面提到的ETS服务。针对其中部分特殊测试用例(如一个服务有多个服务实例),可能需要定制(根据DUT中的服务设计和部署情况而定)。
-
ETS测试,全名Enhanced Testability Service(“增强可测试性服务”或者简称“增强测试服务”),这是一个服务(Service),是为了实现更多的测试功能专门制定的一个服务,该服务在TC8里给出了服务接口及服务的基本运算逻辑的定义,这个服务需要集成到被测件(DUT)里,集成之后能够实现与测试仪(Tester)之间的互动,从而实现对协议栈的测试目的。
关于SOME/IP测试的具体内容,请点击文末链接《看完这个,你还觉得SOME/IP测试难吗?》。
SOME/IP测试面临的问题
虽然SOME/IP测试理解起来没有那么难,但是怿星科技和多个客户在ETS测试实践中碰到下面两大问题:
-
在TC8 3.0规范中ETS服务及服务接口定义(包括数据类型的具体定义),通过测试用例反推ETS的基本逻辑等方面,OEM、Tier1、测试服务商在理解上不一致;
-
不同的DUT,可能运行不同的基础软件平台(CP,AP,Linux定制等);针对不同的基础软件平台,ETS的开发和集成方式不同;比如同样的ETS服务,针对AUTOSAR CP和AP的ARXML文件制作方式不同,底层软件配置工具也不同;另外,有的DUT使用了开源的vsomeip,其中有使用vsomeip原始接口的,也有借助CommonAPI来开发的,针对这两种不同使用方式的DUT,ETS软件实现也有较大的区别。
针对上面的问题,理想的情况是:
-
如果采用商业协议栈,应该由商业协议栈供应商,提供针对自身协议栈的标准ETS模块,以及工具链配置和集成支持
-
如果采用开源的方案,则由DUT的开发方(OEM In-house或Tier1),按照DUT应用服务的开发方式,完成ETS服务的开发
-
测试服务商,则聚焦于ETS测试工程开发和测试实施
这样的话,各方责任清晰,也有助于快速定位在测试中遇到的问题。然而,理想终究是......但理想总是要有的
EPT ETS产品介绍
上述产品的关系如下图所示:
图1 EPT测试产品关系图
EPT的ETS测试产品的详细介绍如下表所示:
表 1 EPT ETS测试产品
总结
当整个行业都在以“开飞机”的方式造车时,每一家OEM都在追求效率。怿星科技在SOME/IP测试分工不明确的情况下,联合多个部门开发ETS测试产品,就是为了帮助OEM提高SOME/IP测试的实施效率。同时结合公司自身特点和优势,在力所能及的范围内,持续为客户提供更加优质的服务和产品。