0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DDS协议测试实践及问题分析

北汇信息POLELINK 2024-04-12 08:26 次阅读

作者 | 梵高先生


小编 | 不吃猪头肉

在上一篇文章中,我们对 DDS 协议测试的策略、方法和工具进行了详细的介绍。本文旨在进一步探讨如何利用这些方法和工具搭建实际的测试环境,并执行测试,进而揭示可能遇到的各类问题。

46af145e-f863-11ee-9118-92fbcf53809c.png被测协议栈简介
在本次测试中,被测协议栈选择了一个在汽车行业内广泛使用的开源 DDS 产品
近年来随着开源软件社区的不断发展和成熟,越来越多的整车厂在选择 DDS 协议栈实现时,开始青睐开源产品。相比商业化的 DDS 协议栈,开源产品具有显著的成本优势。此外,使用开源产品还可以让整车厂获得更大的自主可控性,以便根据自身需求对协议栈进行定制和优化
然而天下没有免费的午餐,选择开源 DDS 协议栈也意味着使用者必须承担起产品质量的责任。与商业化产品不同,开源产品通常没有专门的团队负责质量保证。因此,开源 DDS 协议栈的使用者必须投入额外的精力和资源,甚至组建专门的软件团队,来全面评估、测试和维护所选择的开源产品,以确保其功能和性能满足汽车行业的严苛要求。
本篇文章中我们试图准确地识别出可能存在的问题,希望为汽车行业用户在选择开源 DDS 协议栈时提供实用的参考

46b69daa-f863-11ee-9118-92fbcf53809c.png测试环境搭建
被测的 DDS 协议栈部署在一台运行 Ubuntu 操作系统的 x 86 服务器上。这种部署方式能够为 DDS 协议栈提供一个简单、稳定,且一致的运行环境,避免资源或网络配置错误等原因导致的测试结果不可信。
同时,为了全面评估 DDS 协议栈的功能和性能,我们在 DDS 之上部署了两个专门设计的测试应用程序。这两个应用程序的主要目的是模拟真实场景下的应用程序对 DDS 接口的调用,以验证 DDS 能够正确地处理各种请求并返回预期的结果。通过这种方式, 可以全面检验 DDS 的接口是否符合 OMG DDS 标准,以及是否能够满足汽车行业的特定需求。
为了实现对测试过程的自动化控制和管理,我们在上位机中开发了一套专门的测试脚本。这些脚本负责向 DDS 测试应用程序发送各种测试指令,根据预定的逻辑对测试应用程序的行为进行编排和调度。测试过程全自动化,无需任何人工干预,能够确保测试过程的一致性和可重复性。
此外,为了方便工程师对测试用例进行管理和监控,上位机软件还提供了一个直观的图形化界面。通过这个界面,测试人员可以轻松地创建、编辑和组织测试用例,并实时监控测试的执行状态和结果。
46c14d18-f863-11ee-9118-92fbcf53809c.png图1-DDS测试环境搭建
需要强调的是,测试环境可以根据用户的具体需求进行灵活地配置。比如将 DDS 测试程序部署在一个或多个真实的 ECU 中,以帮助我们发现系统性的网络配置问题、兼容性问题或性能问题等,包括防火墙、IP 地址、端口号、TSN 约束、时间同步、网络拓扑结构问题,DDS 中间件与不同硬件和软件平台之间的兼容性问题,也包括吞吐量、延迟、资源占用等指标。从而全面评估 DDS 分布式系统在实际应用场景下的可靠性、兼容性和性能表现,为系统的开发和优化提供重要的依据。

46c8cb56-f863-11ee-9118-92fbcf53809c.png测试用例介绍
测试用例覆盖了 OMG DDS 规范中定义的所有软件接口,共 406条测试用例,内容如下:

•接口行为测试,包括正常调用时的行为测试,以及错误调用的故障行为测试,共计 353 条用例

•QoS 测试,即 OMG DDS 中定义的各项 QoS 的功能测试,共计 53 条用例

关于性能测试,由于 DDS 的性能很大程度上取决于硬件平台的性能和资源情况,以及操作系统的调度和管理机制,故在测试服务器中得到的性能测试结果与实际系统的性能表现可能相差很大,故本次测试不包含性能测试。

46cf65d8-f863-11ee-9118-92fbcf53809c.png测试结果分析
概览本次测试共计执行 406 个测试用例,通过194个,失败 212 个,通过率为 47.78%。如下为各模块的通过情况。
46d7683c-f863-11ee-9118-92fbcf53809c.png

图2-测试结果概览


问题示例

功能缺失

如下表格列出了部分当前版本 DDS 缺失的接口。这些缺失的接口对于 DDS 分布式系统的功能和性能具有直接或间接的影响。重要的是,开发者文档可能并未明确指出这些接口功能的缺失,这种情况可能会对系统的稳定性和可靠性带来潜在风险。因此,用户在使用 DDS 时需要对这些潜在的缺陷保持警觉,并采取相应的预防措施。此外,用户应当积极参与开源社区讨论,关注产品的更新日志,以便及时了解和补充这些关键接口的功能,从而降低系统运行中的不确定性和风险。46e9f2e0-f863-11ee-9118-92fbcf53809c.png表 1: 功能缺失问题示例
46fbbe62-f863-11ee-9118-92fbcf53809c.png图3-功能缺失问题的测试报告示例

行为错误

当开发者根据官方文档调用特定 API 时,软件表现出的行为与文档描述不一致。这种不一致性可能表现为返回错误的结果、触发未预期的副作用或完全无响应。这种情况下,开发者不得不投入大量的时间去排查和定位问题。4710dffe-f863-11ee-9118-92fbcf53809c.png表 2:API 行为错误示例
472a6442-f863-11ee-9118-92fbcf53809c.png

图4-行为错误测试报告示例


异常终止

此类问题指的是当应用程序在某些场景下调用特定接口时,DDS 中间件出现异常终止。这类问题的严重性在于其难以被发现、排查和修复。问题的隐蔽性在于异常通常只在特定的条件下触发,这些条件可能包括特定的数据模式、并发级别或资源使用情况,使得在常规测试中难以触发和识别。同时,即使问题被成功识别,修复工作也同样困难重重,这需要精确修改复杂的代码逻辑,还需要确保不会对 DDS 的其他功能造成负面影响。
由于 DDS 中间件作为系统的基础软件,其稳定性对整个系统的运行至关重要。同时,基础软件的不稳定性会对上层应用和最终用户产生连锁反应,极大地影响整个系统的质量和用户体验。因此,解决 DDS 中间件的异常终止问题,不仅是提升软件质量的技术挑战,也是确保系统整体稳定性和可靠性的重要一环。473447fa-f863-11ee-9118-92fbcf53809c.png表 3: DDS 软件异常终止问题示例4743a31c-f863-11ee-9118-92fbcf53809c.png总结
经过本篇文章的介绍,相信读者已经对DDS的协议测试以及可能存在的问题有了大概的了解。
在敏捷开发模式下,软件需求不断增加,软件系统的规模和复杂度也在不断增长。然而,许多关键问题(尤其是性能问题)只有在软件达到一定规模和复杂度后才会暴露出来。一旦发现这些问题,修复的成本往往非常高昂,因为任何基础软件的改动可能会影响到整个系统,牵一发而动全身。
相比之下,如果在项目早期就能够模拟实际的应用场景,并对 DDS 进行全面的功能和性能测试,开发团队可以深入了解 DDS 的行为特点,甚至软件缺陷,识别性能瓶颈,从而及时调整设计,优化实现。这种“前置”的测试方法不仅能够显著降低后期的修复成本,能够提高整个系统的质量和可靠性,帮助系统应对未来的挑战。
本文介绍了南京臻融科技有限公司(以下简称“臻融科技”)开发的DDS协议测试工具。臻融科技在过去十年里,一直致力于DDS产品及其相关工具链的自主研发,并且在国内关键行业领域取得了最高的市场份额。这款DDS协议测试工具在DDS研发过程中已经历了近十年的不断迭代,证明了其产品的成熟性和可靠性。臻融科技与北汇信息的合作,旨在将这套工具引入汽车行业,以协助客户建立DDS测试能力,提供高品质的测试服务和相关培训,进而加快DDS在汽车行业的推广和应用

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    5269

    浏览量

    126596
  • DDS
    DDS
    +关注

    关注

    21

    文章

    633

    浏览量

    152630
  • 汽车
    +关注

    关注

    13

    文章

    3493

    浏览量

    37250
收藏 人收藏

    评论

    相关推荐

    DDS协议测试解决方案之--什么是中间件?#中间件

    DDS
    北汇信息POLELINK
    发布于 :2023年05月06日 08:29:22

    DDS协议测试解决方案之中间件的作用#DDS

    DDS
    北汇信息POLELINK
    发布于 :2023年05月12日 13:05:42

    基于DDS实现信号的频谱分析

    1 引言 直接数字频率合成(DDS)是近几年一种新型的频率合成法,其具有频率切换速度快,频率分辨率高,以及便于集成等优点。在此,设计了基于DDS的频谱分析仪,该频谱分析仪依据外差原理,
    发表于 05-31 08:01

    DDS产生调幅信号的分析与解释

    文章目录前言一、DDS简介二、DDS产生调幅信号的分析与解释1.引入库2.读入数据总结前言 DDS(直接数字频率合成)技术允许数字电路在DAC与低通滤波器(LPF)的配合下输出各种波形
    发表于 08-18 06:46

    FTP协议测试分析

    基于实验网中的一组测试数据,分析网络背景流量、服务器CPU负载和文件大小对FTP协议性能的影响。实验结果显示,网络带宽、背景流量从根本上限制了FTP协议的性能,CPU负载在较
    发表于 04-09 09:53 20次下载

    DDS信号产生电路相位噪声的分析

    相位噪声是制约DDS用于高稳定频率源的的关键指标。文中定量给出了DDS内部相位截断误差、幅度量化误差、DAC以及参考时钟源对相位噪声的影响,并着重分析DDS外围电路对相位
    发表于 10-20 16:36 26次下载

    DDS,什么是DDS,DDS的结构

    DDS,什么是DDS,DDS的结构 DDS概述 直接数字式频率综合器DDS(Direct Digital Synthesizer),
    发表于 09-03 08:42 4556次阅读
    <b class='flag-5'>DDS</b>,什么是<b class='flag-5'>DDS</b>,<b class='flag-5'>DDS</b>的结构

    DDS是什么意思,DDS结构,DDS原理是什么

    DDS是什么意思,DDS结构,DDS原理是什么 什么叫DDS 直接数字式频率合成器DDS(Direct Digital Synthesi
    发表于 03-08 16:56 4.7w次阅读

    基于FPGA的DDS杂散分析及抑制方法

    首先介绍了采用直接数字频率合成(DDS)技术的正弦信号发生器的基本原理和采用FPGA实现DDS信号发生器的基本方法,然后结合DDS的原理分析了采用D
    发表于 11-26 16:23 49次下载
    基于FPGA的<b class='flag-5'>DDS</b>杂散<b class='flag-5'>分析</b>及抑制方法

    协议测试Open Lab分析底层PCIe的问题

    最近某开发嵌入式平台的客户到我们的协议测试Open Lab分析底层PCIe的问题。
    的头像 发表于 05-06 09:25 1229次阅读
    <b class='flag-5'>协议</b><b class='flag-5'>测试</b>Open Lab<b class='flag-5'>分析</b>底层PCIe的问题

    SOME/IP与DDS对比及DDS测试策略和方案探讨

    本文对DDS以及基于DDS的SOA系统的测试策略进行探讨,并介绍DDS测试方案。
    的头像 发表于 08-04 14:52 2197次阅读
    SOME/IP与<b class='flag-5'>DDS</b>对比及<b class='flag-5'>DDS</b><b class='flag-5'>测试</b>策略和方案探讨

    3月29日直播预告 | DDS协议测试解决方案简介

    为了测试DDS的各项功能和性能,需要制定合适的测试策略和方法。本次直播将介绍一种DDS测试解决方案,该方案使用自主开发的
    的头像 发表于 03-22 18:08 643次阅读
    3月29日直播预告 | <b class='flag-5'>DDS</b><b class='flag-5'>协议</b><b class='flag-5'>测试</b>解决方案简介

    北汇信息于AES 2023第四届中国国际汽车以太网峰会发表DDS协议测试主题演讲

    聚焦中国车载以太网市场发展的最新热点与痛点分析,AES 2023第四届中国国际汽车以太网峰会于2023年6月8日-9日在上海盛大举行。北汇信息应邀发表专题演讲,与各位参会的专家和嘉宾共同探讨DDS协议
    的头像 发表于 06-12 16:35 1516次阅读
    北汇信息于AES 2023第四届中国国际汽车以太网峰会发表<b class='flag-5'>DDS</b><b class='flag-5'>协议</b><b class='flag-5'>测试</b>主题演讲

    基于ADAS自动泊车功能的DDS协议的系统设计

    CAN总线协议已经逐渐满足不了大量数据传输的需求,SOME/IP协议也满足不了大数据、多节点、高质量服务的应用场景,因。此分布式实时通信(DDS协议作为多域控制器之间的通信,被逐步应
    发表于 07-14 09:39 441次阅读
    基于ADAS自动泊车功能的<b class='flag-5'>DDS</b><b class='flag-5'>协议</b>的系统设计

    TSN和DDS测试解决方案

    北汇信息提供的TSN/DDS测试系统,测试工具链多样化:提供Vector、TSN Systems、Spirent、臻融科技全套测试解决方案,满足不同
    的头像 发表于 05-10 09:29 592次阅读
    TSN和<b class='flag-5'>DDS</b><b class='flag-5'>测试</b>解决方案