我们在上篇文章《DDS技术概述及测试策略与方案》中对DDS技术在车载通信的应用及对DDS测试策略进行了一定的分析,同时给出了怿星科技针对DDS测试的解决方案。该方案覆盖了DDS协议一致性测试、接口测试、Qos测试、互操作测试。本文主要介绍该解决方案中的自动化测试软件:SmartDDS。
SmartDDS
SmartDDS介绍
SmartDDS是怿星科技基于DDS相关实现标准以及在车载通信应用上的具体实现,并结合以往测试经验,完全自研开发的一套支持DDS中间件的功能及性能特性的全覆盖测试验证产品,以确保DDS在车载通信应用下的应用场景正常落地。SmartDDS支持测试用例管理、参数配置、自动化测试及测试报告&Log生成。
SmartDDS交付物包括:
1.测试规范:测试规范说明测试执行的软硬件环境,详细描述各测试用例的测试目的、测试步骤和评价标准
2.DIT组件:SmartDDS通过DIT组件(DDS Inner Tester)调用DDS接口
3.测试软件:SmartDDS
SmartDDS覆盖的测试内容
SmartDDS能够覆盖上篇文章中所描述的DDS测试全景图中所有测试内容,目前怿星科技已针对DDS、RTPS、Security、XTypes几份核心协议完成协议一致性、接口、Qos、安全认证及XTypes的测试规范及测试软件的开发调试工作,且在DDS的参数配置、自定义Qos、性能稳定性及路由测试方面也有一定的开发及验证工作,这部分内容基本属于定制化的需求,若读者对这块感兴趣可以联系我们进一步交流。
SmartDDS运行环境
SmartDDS运行环境如下图所示:
1.运行环境依赖上位机、程控电源、ETS4650
程控电源为DUT供电
上位机控制程控电源进行DUT的启停
ETS4650 是一种车载以太网接口转换模块,支持100/1000BASE-T1与100/1000BASE-TX接口互转,实现DUT与上位机之间的正常通信
2.兼容Windows和Linux环境
SmartDDS测试执行依赖项
由于DDS以链接库形式向外暴露接口,无法直接调用DDS接口,因此需要在DUT端集成DIT。DIT(DDS Inner Tester)是一个测试中间件,基于DDS标准协议开发,目的在于支撑SmartDDS与DUT端DDS之间的通信。SmartDDS通过DIT调用被测DDS的接口,进行实体的创建、数据的发送等行为,并将执行结果返回给SmartDDS。SmartDDS通过标准的JSON格式,与被测DDS之间交互。
DIT遵循DCPS统一接口,深入DDS的底层,通过接口调用的方式实现DDS应用管控。由于被测DDS可能运行在不同的操作系统(Linux、QNX等)上,不同操作的被测DDS需要适配集成不同的DIT。DIT的集成依赖DUT的交叉编译工具链。
SmartDDS软件开发
SmartDDS测试软件完全使用Python语言进行开发,测试用例基于Robot Framework自动化测试框架,使用关键字驱动,实现测试用例的管理和测试报告的输出。
SmartDDS的主要功能模块如下:
1.Testsuites & Testcases
用于查看、勾选指定的测试用例
2.参数配置
用于配置测试环境,比如DUT的MAC地址、IP地址等
3.用例详情
用于显示指定测试用例的详细步骤以及对应的参数
4.实时日志显示
用于显示测试过程中步骤的执行情况
5.测试控制
用于执行测试、停止测试、查看报告等
SmartDDS测试执行过程
下面展示DDS测试的执行过程,为便于展示,被测系统为Windows主机中运行的Ubuntu虚拟机,主机和虚拟机中均集成了DIT。
1.启动测试软件SmartDDS
2.参数配置:配置测试端和被测端IP、端口号,创建实体的domainId等
3.勾选用例:勾选想要运行的测试用例,查看用例详情
4.测试执行:执行测试,可查看实时日志
5.查看报告:SmartDDS支持生成不同格式的测试报告,如HTML(默认)、Excel
6.分析测试报告
我们以[TG1_TC12]Data子消息的writerSN测试(连续性)这条用例的报告为例,说明测试用例执行过程以及分析步骤。
从测试报告中可以看出这条测试用例的执行步骤如下:
1.SmartDDS向DIT发出指令,在DUT端创建发布者,在测试端创建订阅者。
2.发布者发出10条数据。
3.监控订阅者收到的DATA报文的writerSN字段是否是连续的。
从运行实际结果来看,订阅者收到的一系列的DATA子消息的writerSN依次从1到10,满足要求,用例通过。
DDS协议测试主要验证DDS中间在车载通信应用下的功能及性能特性的准确性,本篇文章主要介绍了怿星科技自主研发的DDS自动化测试软件-SmartDDS,能够全面支撑主机厂及供应商对DDS的测试需求,同时支持对某些特定配置及测试需求的拓展开发。如果想了解更多关于DDS协议测试解决方案以及SmartDDS的信息,欢迎联系我们。
往期推荐


