近些年,随着汽车行业的不断发展,汽车以太网逐渐成为汽车电子电气架构的核心,诊断、娱乐、共享、智能驾驶功能日益完善,基于以太网应用的SOA架构成为各大主机厂关注的重点。那么,SOA到底是什么?我们要怎样对其进行测试呢?接下来就为大家介绍一种基于vTESTstudio的SOA测试开发方法。
SOA是什么
SOA是一种面向服务的架构,最早应用于IT行业,近几年开始应用在汽车行业。虽然对于SOA没有一个统一的描述,但是简言之,它可以将功能定义为服务,并且释放可通过网络调用的服务接口。由于电子电气架构的发展是基于高性能计算平台,实现域控制器之间及区域控制器之间的互联互通,因此SOA被应用其中,SOME/IP则作为一种实现SOA的通信中间件协议被广泛使用。
SOME/IP服务通讯机制
基于C/S的架构分为服务提供方和服务消费方,通过服务接口描述服务及服务的内容。服务接口类型有三种:Method、Event、Field。
SOME/IP服务接口
Method:
Client端向Server端发送请求报文,有两种方式:RR-Method(Server端回复响应报文,见图1)、FF-Method(Server端不回复响应报文,见图2)
Event:
Client端订阅一个服务,Server端发布该服务(见图3)
Field:
Setter/Getter——Client端请求获取/设置某一属性/状态(见图4)
SOME/IP通讯机制
测试种类及环境搭建
SOA测试涵盖了整车开发的各个阶段,测试种类包含部件测试、台架测试及实车测试,测试内容如下图所示:
SOA测试种类
以部件SOA测试为例,SOA测试主要是利用CANoe中 Communication Setup模块加载数据库,抓取数据库中定义的所有服务并解析各服务的接口参数,最终与Test Units模块编辑的自动化测试脚本结合,完成SOME/IP报文中Method/Event/Field的抓取和仿真,测试环境如下图所示:
测试环境搭建
vTESTstudio创建测试用例流程
第一步:创建CANoe工程,在Simulation工具栏中Communication SetUp下导入Arxml文件,如果有CAN/LIN总线通讯需求的话,也需要在Simulation SetUp中导入相应的数据库,修改对应节点的状态(real/Simulated),具体操作如下:
CANoe工程创建
第二步:创建好CANoe工程后,打开vTESTstudio软件,创建测试脚本开发工程,随后将CANoe环境通过vTESTstudio->Environment工具栏下System Environment导入到vTESTstudio中,进行测试脚本开发。
vTESTstudio测试环境导入
第三步:使用CAPL进行接口函数的封装,方便在Test Table/Test Sequence Diagram中进行调用,能够加快测试脚本的开发速率,测试用例比较直观。
CAPL形式的接口函数封装
Test Table创建测试用例
Test Sequence Diagram创建测试用例
同时,在测试用例中使用到的参数可以在vTESTstudio中自带的参数文件定义,在这里,可以非常直观的看到我们在测试用例中用到的参数,脚本的可维护性较高。我们也可以在测试用例中加入变体参数,增强脚本的复用性。
测试工程参数文件
第四步:编译脚本,将生成的测试用例导入到CANoe工程中,由vTESTstudio生成的测试用例,用户可在测试开始时通过勾选测试用例前面的方框选择需要执行的用例(部分用例/全部用例),测试灵活度较高。
测试用例选择
CANoe与vTESTstudio是相辅相成的,vTESTstudio提供的多种编辑方式满足了测试人员开发测试用例的需求,可以通过拖拽的方式将封装好的接口函数调用,生成测试用例,对新手测试开发人员相对友好。由vTESTstudio编译生成的.vtuexe文件可通过CANoe Test工具栏下的Test Units导入,支持在测试窗口查看,同时也可以在代码运行时通过trace和Graphics窗口观测数据变化,执行完的测试用例能够自动生成测试报告,用户可通过测试报告分析测试过程中出现的问题。
总结
使用vTESTstudio进行测试脚本开发的优点:
- 提供了多种脚本编辑形式,满足不同用户根据需求进行测试用例的开发,除了文中提到的CAPL、Test Table和Test Sequence Diagram,用户可根据自己的习惯,采用vTESTstudio提供的其他编辑形式进行接口函数的封装(python/C#)以及测试用例的开发(状态机);
- 函数封装方便,不同编辑方式下封装的函数可相互调用;
- 测试用例生成简单直观,易于维护;
- 与CANoe无缝连接,一些CAPL脚本可移植到vTESTstudio中使用;
- 参数可视化,通过vTESTstudio中的参数文件能直观显示测试用例中使用的参数;
- 变体的引入十分灵活,能够提高脚本的复用性和拓展性,减少代码量的堆叠;
- ……
以上就是基于vTESTstudio进行SOA测试脚本开发的介绍与说明,希望能对大家使用CANoe软件、vTESTstudio软件、进行SOA测试开发有所帮助。如果后续有其他问题,欢迎随时留言或发送至东信创智市场邮箱market@dotrustech.com,我们会尽快帮您解决~