RTI 严格软件测试:确保 Connext DDS 跨平台可靠性
RTI 软件驱动无数任务关键系统。客户要求最高可靠性和质量,因此我们公开讨论开发实践、工具和 RTI IIoT 实验室。常见话题是我们执行的软件测试——我们引以为傲的领域。本文概述每个 RTI 版本背后的全面测试策略。
Connext 产品系列共享统一的开发和测试流程。唯一例外是 Connext DDS CERT,遵循针对安全认证应用的独特流程。在发布任何新软件前,我们运行大量测试套件验证功能、性能和可扩展性。
单元测试
单元测试确认单个函数按预期行为。它们构成每个产品发布回归测试的骨干。除了简单函数检查,框架支持单节点特性测试,近期版本甚至纳入客户提供的 QoS 设置。我们的目标是尽可能模拟真实运行环境。
特性测试
添加新特性时,我们创建特性测试计划并开发端到端测试。对于 Connext DDS Micro,我们采用分布式测试框架,使用多台机器上的多个“测试运行器”,由中央“测试管理器”协调。自定义 DDS 测试语言描述每个场景,运行器执行脚本、发布通过/失败结果并等待下一条命令。特性测试聚焦于:
- 应用级 API 和 DDS QoS 策略(截止时间、活性等)
- 资源限制
- 跨字节序兼容性
- 发现机制
- 性能指标
- 负载下的稳定性
互操作性测试
- RTI 产品内部 – 自动化测试运行数千配置组合,特别是在 Connext 6 等特性发布后。当识别潜在破坏风险时,测试旧版 RTI 版本。
- 语言互操作性 – 通过结合 RTI Java 工具(如 RTI Admin Console)与其他语言编写的应用间接测试。
- 与其他 DDS 厂商 – 在 OMG DDS 会议上定期进行基础测试,深度检查 DDS 安全、可扩展类型和 RTPS 线路协议由 OMG 社区协调(https://github.com/omg-dds)。
安装测试
安装测试捕获跨多个 RTI 产品的集成和互操作性。手动运行并通过自动化套件覆盖:
- 文件正确安装
- 图形用户界面集成(目前手动)
- 文档准确性
- 使用随附示例的基本功能,包括入门指南,跨多平台
- 产品和语言互操作性
自动化安装测试验证:
- 通过文件检查的安装完整性
- 工具执行(rtiddsping、rtiddsspy、rtiprototyper)
- rtiddsgen 生成的 C、C++、C++03、C++11、C++ CLI、C#、Java 示例(静态/动态、发布/调试)
- 各种构建配置的随附示例
- C++ 和 Java 性能示例
- C 语言 TCP 随附示例
这些测试在 80 种不同架构上运行,包括 Windows、Linux、Solaris、Lynx、QNX、Darwin 和 VxWorks。
性能和内存分析
真实分布式性能测试固有复杂。我们的工具旨在测量缓冲区大小、吞吐量、延迟、实时交付、栈使用和操作系统交互等关键指标。
- 单元测试捕获函数级性能和内存使用。
- perfTest 分析 Connext DDS 整体性能。为真实测量大量调优,可与路由服务等其他产品并行运行。公开延迟和吞吐量数据见 RTI 基准。
- memTest 监控 Connext DDS Core 核心内存占用。Connext DDS Micro 在单元测试中也记录详细内存使用。
- RTI Admin Console 和 RTI Recording Service 等应用包含内置性能监控。
perfTest 和 memTest 的持续集成防止新特性添加时超出预定阈值的回归。
耐久性测试
这些测试模拟长时间运行场景,监控动态操作(如创建/删除参与者或端点)期间的堆使用。耐久框架在运行 RTI 安全插件时还会模糊 RTPS 数据包,均针对最新正式发布版执行。
大规模和压力测试
大规模测试刻意围绕新特性构建。例如,引入传输移动性需要模拟连接/断开各种无线接入点的测试。增强发现触发专用框架模拟数千端点,自动验证发现成功。因设备和网络限制,这些测试不随每版重跑,但发现逻辑变更时会重新执行。
虽然没有测试计划能覆盖所有可能场景,但 RTI 广泛、多面的方法让客户对每个新版本充满信心。
作者简介
Jan 2006 年加入 RTI,此前在 Sun Microsystems、VLSI Technology 等行业领军企业担任技术和客户面向角色超二十年。专长跨中间件、网格应用、操作系统设计、网络芯片开发,Jan 帮助建立新支持组织 98% 客户满意度纪录。作为工程副总裁,他领导 60+ 分布式工程师团队,监督 R&D、软件开发流程和 RTI Connext 产品质量。Jan 拥有比利时 KIHK、Geel 电子、数字通信硕士等效学位(最优等)。
了解更多:
- 自动驾驶汽车生产
- 什么是 DDS?
- Connext DDS Pro
物联网技术
- 634AI选用RTI Connext DDS优化AMR车队管理
- 现代制造业全景图:16 篇专家文章覆盖化工、电子、建筑等全赛道
- 硬度检测技术详解:洛氏与布氏硬度测试原理、操作与应用
- 飞针测试(FPT)专业指南:PCB 功能验证的自动化利器
- 功能电路测试(FCT):保障 PCB 可靠性的关键环节
- 低成本便携设备30分钟检测病毒细菌病原体
- 模拟雪天:自动驾驶汽车雷达与激光雷达精准测试
- OpenDDS 与 RTI Connext DDS:选择正确的数据分发服务解决方案
- RTI Connext 6 发布:性能、安全与统一连接全面增强
- 我的RTI之旅:为何加入Real-Time Innovations
- GE推出12亿美元IIoT分拆公司,强化数字组合
- 物联网设备软件测试:关键挑战与解决方案