软件接口文件测试规范,DDS下的软件接口测试方法.docx

DDS下的软件接口测试方法

摘要:随着舰船一体化工作的推进,各个异构设备节点统一采用数据分发服务(DataDistributionService)规范实现了信息的互联互通,但对DDS规范相关的软件接口测试方法的研究却相对迟缓。基于此情况,通过分析DDS规范的模型特点和分发流程,提出一种基于DDS的软件接口测试方法,并将测试方法的设计步骤进行了阐述,通过对软件接口测试情况的讨论,经过实践检验,解决了对采用DDS规范的接口测试问题。

关键词:数据分发服务;测试方法;接口测试

引言

近年来,随着舰船一体化[1]的工作不断推进,在舰船上的各种设备纷纷加入主干网络中,各个设备节点实现了互联互通,信息处理系统需要将不同设备和不同时间的数据进行整合,数据分发过程随着数据需求的多样性而变得更加复杂。为了满足分布式的实时通信需求,由OMG组织提出的数据分发服务DDS[2]规范有效解决了此问题。随着DDS规范的逐步完善,越来越多的系统在设计之初就采用了以数据为中心的信息发布/订阅通信模型,以满足不同设备的通信需求,但与此同时,DDS相关的软件接口测试方法却发展缓慢,相应的测试工具并未被及时开发与应用。针对此情况,分析其模型特点和分发流程,提出了一种DDS接口测试方法,经过实践检验,可以有效地对采用DDS规范的系统进行软件接口测试[3]。

1DDS介绍

1.1数据分发服务(DDS)

DDS是发布/订阅信息分发模型衍化而来,继承了发布/订阅模型的优点也借鉴了分布式对象模型的异构特点,有着低延迟、高容错性、高带宽、传输方式灵活的特点。DDS规范体系结构有两层,分别是数据本地重构(DLRL[4])层和DCPS[5]层,DLRL层是可选的,DCPS层是DDS的核心和基础,提供数据分发的基础结构,保障了数据的传输。DCPS层创建了全局数据空间(GDS)的概念,所有的数据对象都存在于空间中,可自动和异步地向GDS读取/写入数据,发布者和订阅者可随时加入和离开GDS,发布者和订阅者通过主题进行匹配所需的数据类型,通过检查和校验机制后完成数据的传送。

1.2DDS的分发流程简述

DDS为了实现数据的分发[6]设计了一整套相应的流程,可概括为DCPS初始化,发布者初始化、订阅者订阅、传递数据四个步骤。在DCPS初始化阶段最主要的工作为域的建立、Qos策略设置和传输的初始化工作,域存在校验机制,订阅者和发布者的域必须与DCPS层的域一致。发布者定义数据类型、生成主题,订阅者查找主题并完成订阅,经过中间检查机制检查,符合连接规则后发布者和订阅者将建立连接,发布者通过DataWriter写入最新数据,DCPS进行数据分发,订阅者通过DataReader读取最新数据,通过以上的流程就实现了数据的分发,数据有效地从发布者传递到订阅者。

2软件接口测试常用方法

2.1借助测试工具

软件测试时如测试接口类型为串口,软件测试人员往往会使用串口调试助手,当测试接口类型为网口时,软件测试人员会使用Wireshark工具测试TCP或UDP协议的报文,借助得心应手的测试工具来进行接口测试是软件测试人员的优先选择,但正如前文所提到的有关DDS的测试工具未被及时开发与应用,在针对DDS进行软件接口测试时,面临着无测试工具可用的尴尬局面。

2.2自研工具

根据对以数据为中心的发布订阅模式进行分析,由于系统内均为分布式节点,自然可以联想到将测试节点加入全局数据空间进行全局通信,得益于DDS异步通信方式的特性,测试节点的加入不会影响系统原有的分布式节点,并且加入的测试节点不受数量上的制约,可以加入多个测试节点来并行测试以提升测试效率,这有利于减少接口测试在整个测试周期中的时间占比。根据对DDS的分发流程的分析,全局数据空间是根据主题进行数据分发,测试节点设置完成主题即可完成与被测对象的关联,形成测试节点-被测对象的成对关系。

3设计步骤

3.1发布者设计步骤

(1)配置本机ip和广播地址。(2)使用接口定义语言(idl)定义数据类型,推荐创建一个结构体,根据被测报文定义所需的成员变量及其数据类型并做好相应的注释。(3)使用脚本,生成辅助文件。(4)创建工程,将辅助文件添加至工程文件中。(5)编写publisher代码。此步骤会先将域初始化,如果域初始化失败将会直接报错处理,域初始化成功再将发布者加入至所需的域中,根据被测报文将每个成员变量都进行赋值,将主题设置与订阅端主题一致,Qos策略可以按需配置,主要有BEST_EFFORT尽力而为模式和RELIABLE可靠模式,无明确要求时可选BEST_EFFORT尽力而为模式,一直重复发送报文观察现象即可,如果没有发送周期需求,建议设置2s-3s的发送间隔,防止接收端接收大量的数据从而产生异常,2s-3s的发送周期也适合软件测试人员观察被测对象是否达到了预期

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值