网站建设公司如何盈利,app界面设计案例分析,国外的营销网站,保险业网站建设随着以太网技术在车载网络中的应用#xff0c;各种基于以太网的中间件也相继被应用在车内#xff0c;如果对车载网络有过相关了解的小伙伴#xff0c;对于作为中间件之一的DDS#xff08;数据分发服务Data Distribution Service#xff09;可能并不陌生#xff1b;若没有…随着以太网技术在车载网络中的应用各种基于以太网的中间件也相继被应用在车内如果对车载网络有过相关了解的小伙伴对于作为中间件之一的DDS数据分发服务Data Distribution Service可能并不陌生若没有接触过可以参考先前的文章《分布式实时通信——DDS技术》、《一文轻松了解DDS实时传输协议及其消息格式》可从整体上对DDS有初步了解。 伴随DDS技术研究的深入以及在SOA中的应用对基于DDS的SOA测试也被提上日程本文主要结合一些项目的实际需求探讨一种基于DDS的SOA测试实现方案。 测试介绍 测试范围
基于DDS的SOA测试有标准协议层面的测试也有自定义层面的测试标准协议的测试能够验证协议本身在具体实现上是否符合标准中定义自定义的测试能够进一步验证基于DDS的SOA功能实现是否符合企业要求。 在当前测试方案中为满足实际的SOA功能需求主要关注的测试点在两个方面
1协议一致性测试
RTPS协议的一致性 图 1 模型架构
图片来源于Fast DDS官网https://www.eprosima.com 2功能测试
· 服务的发布订阅测试
· 接口和参数测试
· 压力测试
· 系统测试
· 性能测试
…… 测试方案
本方案中主要涉及的软硬件如下
仿真节点基于eProsima公司的Fast DDS来实现与被测节点间进行通信交互。
硬件Vector公司的VN系列设备和VT系统VN设备实现通信数据监测VT系统实现DUT的供电控制及I/O信号仿真等。
软件Vector公司的CANoe使用CANoe的Test Module模块进行测试脚本的搭建与执行。 图 2 总体框架 CANoe通过socket将测试数据发送到DDS仿真节点仿真节点接收到数据后通过RTPS协议将数据发送到DDS被测节点被测节点在接收到数据并处理后会将处理的结果通过RTPS协议传输给仿真节点仿真节点再将接收到的结果通过socket发送至CANoe通过此过程可以对通信交互的行为和返回的结果等进行测试验证以实现对被测节点的测试。 图 3 策略实现 模块剖析
1.Fast DDS仿真节点实现
Fast DDS是一种开源的DDS标准实现基于C语言开发由eProsima公司发布并维护在本方案中利用Fast DDS来实现仿真节点的设置以便能够与被测节点进行直接的DDS通信交互。在Fast DDS实现中需要对使用的实体等进行创建并设置。 图 4 Fast DDS实现 2.CANoe接口实现
CANoe在本方案中的主要作用是实现对Fast DDS仿真节点的控制包括数据发送和返回结果接收等并结合实际的测试用例需求完成对应测试逻辑的实现。在实际开发中利用CANoe的Test Module模块编写测试脚本通过socket调用的方式来完成本部分的功能。 图 5 CANoe接口实现 结果展示
基于如上方案开展测试仿真在终端内可以看到运行的结果。 图 6 结果展示 本文主要结合实际的项目需求探讨了一种基于DDS的SOA测试实现方案对涉及的测试范围以及在方案实施上的策略和模块等进行了介绍。 实际基于DDS的SOA应用中根据不同的功能需求对测试的覆盖度要求也会有所不同为更好展示本方案在基于DDS的SOA测试方面的功能实现后续将在本文基础上对测试用例开发、脚本实现等做进一步介绍敬请期待