基于DDS的软件接口测试方法研究

0 引言
近年来,随着舰船一体化[1]的工作不断推进,在舰船上的各种设备纷纷加入主干网络中,各个设备节点实现了互联互通,信息处理系统需要将不同设备和不同时间的数据进行整合,数据分发过程随着数据需求的多样性而变得更加复杂。为了满足分布式的实时通信需求,由OMG 组织提出的数据分发服务DDS
[2]
规范有效解决了此问题。
随着DDS 规范的逐步完善,越来越多的系统在设计之初就采用了以数据为中心的信息发布/订阅通信模型,以满足不同设备的通信需求,但与此同时,DDS 相关的软件接口测试方法却发展缓慢,相应的测试工具并未被及时开发与应用。针对此情况,分析其模型特点和分发流程,提出了一种DDS 接口测试方法,经过实践检验,可以有效地对采用DDS 规范的系统进行软件接口测试
[3]
1 DDS 介绍
1.1 数据分发服务(DDS)
DDS 是发布/订阅信息分发模型衍化而来,继承了发布/订阅模型的优点也借鉴了分布式对象模型的异构特点,有着低延迟、高容错性、高带宽、传输方式灵活的特点。DDS 规范体系结构有两层,分别是数据本地重构(DLRL [4]
层和DCPS [5]
层,DLRL 层是可选的,DCPS 层是DDS 的核心和基础,提供数据分发的基础结构,保障了数据的传输。DCPS 层创建了全局数据空间( GDS) 的概念,所有的数据对象都存在于空间中,
可自动和异步地向 GDS 读取/写入数据, 发布者和订阅者可随时加入和离开GDS, 发布者和订阅者通过主题进行匹配所需的数据类型,通过检查和校验机制后完成数据的传送。
1.2 DDS 的分发流程简述
DDS 为了实现数据的分发[6]设计了一整套相应的流程,可概括为DCPS 初始化,发布者初始化、订阅者订阅、传递数据四个步骤。在DCPS 初始化阶段最主要的工作为域的建立、Qos 策略设置和传输
的初始化工作,域存在校验机制,订阅者和发布者的域必须与DCPS 层的域一致。发布者定义数据类型、生成主题,订阅者查主题并完成订阅,经过中间检查机制检查,符合连接规则后发布者和订阅者将建立连接,发布者通过DataWriter 写入最新数据,DCPS 进行数据分发,订阅者通过DataReader 读取最新数据,通过以上的流程就实现了数据的分发,数据有效地从发布者传递到订阅者。
2 软件接口测试常用方法
2.1 借助测试工具
软件测试时如测试接口类型为串口,软件测试人员往往会使用串口调试助手,当测试接口类型为网口时,软件测试人员会使用Wireshark 工具测试TCP 或UDP 协议的报文,借助得心应手的测试工具来进行接口测试是软件测试人员的优先选择,但正如前文所提到的有关DDS 的测试工具未被及时开发与应用,在针对DDS 进行软件接口测试时,面临着无测试工具可用的尴尬局面。
the testing method are described. Through the discussion of the software interface testing situation and practical verification, the problem of interface testing using DDS specification is solved. Keywords: Data Distribution Service;Test Method;Interface Test
加入至所需的域中,根据被测报文将每个成员变量都进行赋值,将主题设置与订阅端主题一致,Qos
策略可以按需配置,主要有BEST_EFFORT 尽力而为模式和RELIABLE 可靠模式,无明确要求时可选BEST_EFFORT 尽力而为模式,一直重复发送报文观察现象即可,如果没有发送周期需求,建议设置2s-3s 的发送间隔,防止接收端接收大量的数据从而产生异常,2s-3s 的发送周期也适合软件测试人员观察被测对象是否达到了预期的结果。
(6)编译工程,运行程序查看发送结果。此处建议添加对发送结果的反馈,如果发送失败可将错误代码进行打印,方便排查错误。发送成功后就可根据用例设计情况,改变成员变量的赋值,重新编译后发送直至用例全部执行结束。
3.2 订阅者设计步骤
(1)配置本机ip 和广播地址。
(2)使用接口定义语言(idl)定义数据类型。(3)使用脚本,生成辅助文件。
(4)创建工程,将辅助文件添加至工程文件中。(5)编写subscriber 代码。域的初始化、主题设置和Qos 策略设计与前文一致,将所需的报文中的成员变量打印输出。
(6)编译工程,运行程序查看接收结果。此处也同样建议添加对接收结果的反馈,避免由DDS 分发错误而导致的接收异常。
4 接口测试实践
在配置项和系统测试时,软件测试人员常常会选择黑盒测试方法来进行软件测试,当软件测试人员需要测试采用DDS 规范的接口时,测试目标为软件接口与受控文档协议的一致性,在测试环境搭建完成并分析环境差异性后,可以分
搪瓷标牌测试节点发布者依据文档协议发送了报文,若测试对象有人机界面,可以根据人机界面显示情况判断是否达到了预期结果,若测试对象无人机界面,但有回送报文,需要添加订阅者测试节点接收回送报文,可根据回送报文判断是否达到了预期结果,根据预期结果,即可有效定位测试缺陷。但也存在一些特殊情况,若报文发送完成后,测试对象无响应,则应按照发布者、测试环境、被测对象的顺序排查问题,使用Wireshark 等网络抓包工具判断发布者是否成功发布,检查发布者的成员变量定义是否正确,赋值是否在有效范围之外,然后排除链路故障、丢包、硬件损坏等一系列测试环境异常情况,最后可引入白盒测试的方式定位被测对象的测试缺陷,即可分析出是由于文档问题还是软件问题引起的测试对象无响应的情况。
5 总结
在软件接口测试中,由于采用DDS 规范的测试工具未被开发,就需要软件测试人员使用自研测试工具完成接口测试。从DDS 的特点和分发流程入手,对自研工具的发布者和订阅者进行了详细设计论述,
通过实践检验,可以有效地对采用DDS 规范的软件接口完成软件测试,也为后续开发DDS 测试工具奠定了基础。由于此方法要求软件测试人员需要熟练掌握编程技巧,虽然可以多个测试节点并行测试互不干扰,但是整体的测试效率仍低于预期,后续可以考虑研究针对采用DDS 接口的软件自动化测试方法。
参考文献
虚拟演播室系统方案[1]杨楚平,赵刚,马超.舰船一体化网络应用研究[J].舰船
科学技术,2019,41(19):168-172.
手动甘蔗榨汁机(下转第138页)
14n
板上,对于各种出现的知识等,以及新厂保护装置面屏上的重要信息提示,还需要相关技术人员来到
现场进行人工形式的判断和分析。对于这一类信息而言,在进行故障的成因以及对故障进行精准定位的过程中,有着重要的价值,也是重要的参考数据。
对于变电站现场而言,其中变电站的控制室里由于安装了诸多的电力保护装置,使得在这个区域当中,需要进行摄像头的安装,并实现了智能巡检机器人的设置,这样在进行电力巡检的过程中,便可以不需要在利用人工的方式,来到现场进行保护装置的监测。同时也能够对现场当中,各种装置面板上的致死等,以及文字信息进行分析和获取。辣椒种植技术
在具体的应用过程中大体上可以分为两种不同的场景。首先当变电站发生故障的时候,安装的智能巡检机器人hi 第一时间进行现场情况的拍照,对现场出现的各种设备以图像的形式,传输给系统的后台,进行分析。第二种情况主要是会对故障发生的时候,对信息的变化进行相应的比较分析,一旦在信息出现异常情况的时候,例如故障灯亮起、成长运行过程中的灯灭掉,或者应该进行闪烁的灯突然不闪烁等情况,这时候系统就能够及时的发出警报,通知相关技术人员。
对于上述的第一种情况而言,在系统运行的过程中,需
现阶段的智能化变电站当中的电力设备的巡检作业。这样的工作开展方式,是建立在对整个变电站温度有效管理的基础之上所开展的,因此在也是能够有效的保障维持整个系统的安全稳定性关键所在。例如在变电站运行的过程中,一旦在断路器出现了接触不良的情况,就会直接导致在局部位置发生温
度的上升,又或者由于在局部位置出现少油的情况,使得发生了升温的故障,这样的故障分析当中,均可以使用计算机视觉技术,来对温度异常的位置进行精准的定位,之后在将其图谱拍摄下来对比正常情况下的数据信息,一旦当下的红外图像超出了规定的阈值,就表明在该位置发生了故障问题,之后在通知相关技术人员,进行故障的全面信息判定。
参考文献
[1]柳琦,涂郑禹,陈超,吴鹏.计算机视觉技术在食品品质检
测中的应用[J].食品研究与开发,2020,41(16):208-213.[2]张钰玲,卢丹萍.基于机器视觉的工业机器人分拣技术研
究[J].科学技术创新,2020(22):95-96.
[3]罗元,肖航,欧俊雄.基于深度学习的目标跟踪技术的研
压片机模具
究综述[J/OL].半导体光电:1-12[2020-08-11].
[4]王爱丽.基于计算机视觉的行人交通信息智能检测理论
和关键技术研究[D].北京交通大学,2016.
[2]OMG. Data Distribution Service (DDS) version 1. 4[EB/
OL]. (2015-04-10)[2019-05-26]. http ://www. omg. org/spec/DDS/1. 4.
[3]何琼月.软件测试中接口测试概述与实践[J].电子测
试,2021(02):80-81+75.
[4]周平,苏银科,沈超.基于DDS 的分布式数字仿真系统
设计与实现[J].系统仿真学报,2014,26(08):1678-1683+1691.
[5]裘楷,沈栋,李娜,吴宇红.基于DCPS 模型的数据分发
服务DDS 的研究[J].电子科技,2006(11):68-71+76.[6]廖闯,郑刚,高骞.船舶信息系统数据分发服务研究[J].
计算机工程,2013,39(09):94-97+113.
(上接第114页)

本文发布于:2024-09-22 10:06:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/263609.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进行   测试   数据   订阅   分发   情况
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议