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

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

3天内不再提示

对IoT应用程序进行压力测试的方法

星星科技指导员 来源:嵌入式计算设计 作者:Jakob Engblom 2022-08-28 12:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

物联网IoT) 将对未来的业务开展方式产生重大影响。通过实时捕获和分析传感器数据,新的商业模式将成为可能。对于许多组织而言,提供具有成本竞争力的基于使用的工业机器人合同所需的数据点数量将达到数百个。即使对于一个普通的跨国机器人制造商转型为服务提供商而言,物联网传感器和系统的全球部署也将涉及数千个传感器、网关和系统。

这些庞大的“系统系统”将对测试人员提出重大挑战。确保物联网应用程序已准备好进行可靠部署至关重要。真正的挑战是如何现场测试数百或数千个地理上分散的设备的部署。将它们安装到实验室不仅在物理上是不可能的,而且它也无法正确测试系统中更多可变的元素,例如无线连接、环境条件和现实生活中的使用模式。唯一现实的选择是通过模拟测试整个系统。

大多数物联网系统倾向于遵循类似的三层方法,如图 1 所示。小节点组相互连接,然后通过无线网关和网络连接到基于云的数据存储和分析服务器。通常,节点设备将是测量温度、电力消耗的传感器、光传感器或控制执行器,例如开关、泵和加热控制。网关或集中器处理与外界的连接,并确保安全。后端服务器通常位于云中,处理物联网系统的业务和控制方面。

pYYBAGMK6K-AB6zdAAChT0ClVZI156.png

能够测试通常在地理上分散在多个站点、安装或设施的系统将需要相似数量的实验室设置。实现这一点的物理模拟将比节点本身的成本更昂贵。

值得庆幸的是,使用模拟器,大型网络的设置相对简单。这是通过在模拟器中编写代码以在虚拟无线网络上虚拟部署和布局节点来实现的。然后需要对无线网络进行一些建模,以模拟节点之间无线链路的可变方面。单个脚本可以取代尝试管理数百个物理项目的测试。

模拟解决方案的一个例子是 Wind River 的 Simics。使用此模拟器,您可以模拟 IoT 设计的所有方面,例如每个节点的硬件设置、处理器、层、无线网络等。真正的操作系统和目标代码应用程序,使用在实际硬件上使用的相同二进制文件,运行模拟节点。

使用这种方法,您可以看到您的无线堆栈在较差的链路条件下和网络故障发生时的性能,以及传感器和执行器发生的情况、节点的硬件睡眠模式/唤醒以及它们如何节省电力。您还可以测试管理网络节点的所有中间件以及软件更新(尤其是任何 OTA 更新)如何运行。也可以通过这种方式测试安全性,确保网关和节点能够正确运行,并且不会受到潜在的安全威胁或黑客攻击。

模拟将允许测试人员轻松地动态改变无线电网络条件。更改一对节点之间的信号强度并因此随机丢弃数据包是可以在模拟规则中设置的。这种情况在现实世界中经常发生,例如当火车通过两个节点之间的视线并中断通信一分钟左右时。尝试在实验室中使用物理设置创建这样的模拟将很难实现。

模拟也是测试物联网应用程序扩展能力的一种非常好的方法。随着活动节点数量的增加,硬件和软件行为会发生变化,这会影响系统的整体性能。有时,系统如何扩展的含义并不立即显而易见,但同样,仿真提供了一种正确测试这一点的方法。

如图 2 所示,仿真提供了构建任何规模的系统的能力,从小到大。这意味着系统的行为可以在整个范围内进行测试,从小型单元测试或子系统测试,一直到可以想象的最大设置。通常,每个系统规模都会揭示系统中的不同问题。这不仅关乎最大的设置,还关乎确保在中等系统规模下也能高效运行。

poYBAGMK6LmAPXW8AABjRe7_bQU578.png

测试也可以横向扩展,如图 3 所示。很容易构建许多网络变体来测试软件,以不同的方式部署相同数量的节点。可以测试网关和传感器节点之间的不同平衡,以及不同的网络拓扑。图 3 还显示了仿真如何让您并行运行许多不同的测试,这使得运行一组测试的总时间低于必须在硬件上串行运行的总时间。

poYBAGMK6PiAShTUAABm3mwjDn8215.png

基于物联网的设计的另一个有趣方面是,尽管有数百或数千个节点,但占空比可能相当低。传感器不会不断地向云端报告数据,这一事实极大地帮助了那些由电池供电的传感器。因此,在被测系统中往往会有很多空闲时间。这段时间可以通过使用“超级模拟”来加速模拟。像 Simics 这样的模拟解决方案不会逐个循环地播放空闲时间,而是直接跳到下一个有趣的事件,该事件将唤醒一个睡眠节点。因此,一个大部分空闲的系统的模拟速度可以比实时快很多倍,这是在大型物联网模拟中利用的属性。

最后,需要物理实验室来执行最终的系统测试。您必须测试您发布的内容并发布您测试的内容。然而,使用模拟来增强物理测试实验室以覆盖更多测试用例和运行更多测试变体是必要的,以确保质量得到维持,并且系统在各种情况下都保持稳健。通过仿真,您将能够更快、更轻松地设计和构建更好的物联网系统。

审核编辑:郭婷

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

    关注

    2578

    文章

    55567

    浏览量

    794082
  • 物联网
    +关注

    关注

    2950

    文章

    48147

    浏览量

    418696
  • 操作系统
    +关注

    关注

    37

    文章

    7443

    浏览量

    129630
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    S32K系列引导加载程序应用程序跨不同定制电路板设计的跳转问题求解

    。 **问题:** 1. 外设引脚配置差异会影响引导加载程序应用程序的转换吗? 2. 是否有可能依赖于电路板的特定寄存器或初始化序列? 3. 您建议使用哪些调试方法来隔离此问题? 是否有人在不同的电路板设计中使用S32K358
    发表于 04-22 07:02

    运行测试程序以读取通过受信任应用程序 (TA) 存储的安全 blob 时,内存不足怎么解决?

    当我运行测试程序以读取通过受信任应用程序 (TA) 存储的安全 blob 时,我遇到了内存不足 (OOM) 问题。 我仔细观察了代码,但没有发现任何内存漏洞。 测试
    发表于 04-10 10:52

    如何在 i.MX RT1050 上实现两个镜像(引导加载程序应用程序)的双 HAB 身份验证?

    ,请验证应用映像的真实性。 但是,我想知道: 可以使用吗恩智浦生成的证书(来自安全配置工具)或HAB 机制本身对引导加载程序应用程序映像进行身份验证? 如果是这样,推荐的方法是什么
    发表于 04-07 06:14

    RDMA设计56:如何设计基于RDMA的应用程序

    接收、SEND 包接收及WRITE 包接收三部分。其中 READ 包接收并不需要应用程序进行任何操作,无论是READ 包接收、回复还是数据搬运过程,均由网卡通过 DMA 操作完成。 图1 应用程序
    发表于 04-05 09:54

    如何构建蓝牙应用程序

    应用程序使用蓝牙(blueZ)。 我已经安装了 gcc-riscv64-linux-gnu。 但是,没有安装 blueZ 标头和库。 如何构建我的蓝牙应用程序
    发表于 04-01 07:31

    基于简仪科技产品的压力控制阀性能测试系统解决方案

    信号,并对压力反馈信号进行精准采集,以此验证压力控制阀的控制精度、响应速度、稳定性等核心指标,为压力控制阀的研发、生产与质量检测提供科学、准确的测试
    的头像 发表于 03-13 14:48 430次阅读
    基于简仪科技产品的<b class='flag-5'>压力</b>控制阀性能<b class='flag-5'>测试</b>系统解决方案

    开关电源测试流程方法合集

    的标准解决方案,因此本文针对开关电源电性能的测试流程和方法进行总结。 本文主要介绍开关电源的基础测试项目流程和方法,其中温度、湿度以及电磁类
    的头像 发表于 10-31 09:36 1623次阅读
    开关电源<b class='flag-5'>测试</b>流程<b class='flag-5'>方法</b>合集

    如何在应用程序调试期间分析栈和堆使用情况

    ,并在 Unified IDE 中仍可使用。本文涵盖了如何在 Vitis 中使用分析工具在应用程序调试期间对栈和堆进行监控。
    的头像 发表于 10-24 16:54 1053次阅读
    如何在<b class='flag-5'>应用程序</b>调试期间分析栈和堆使用情况

    MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录

    请问MPLAB X IDE 中怎么设置bootloader和应用程序的起始地址和大小,不然默认从0开始烧录
    发表于 10-24 16:42

    功率放大器测试解决方案分享——光纤水听器动态压力测试

    功率放大器测试解决方案分享——光纤水听器动态压力测试
    的头像 发表于 10-10 18:34 630次阅读
    功率放大器<b class='flag-5'>测试</b>解决方案分享——光纤水听器动态<b class='flag-5'>压力</b><b class='flag-5'>测试</b>

    怎样进行数据管理平台的压力测试

    在电能质量在线监测装置的数据管理平台(以下简称 “平台”)中, 压力测试的核心目标是验证平台在高负载(如海量数据接入、高并发查询、峰值业务流量)下的稳定性、性能瓶颈及容错能力 ,确保其满足实际运行中
    的头像 发表于 09-19 13:57 695次阅读
    怎样<b class='flag-5'>进行</b>数据管理平台的<b class='flag-5'>压力</b><b class='flag-5'>测试</b>?

    学生适合使用的SOLIDWORKS 云应用程序

    随着科技的不断发展,计算机辅助设计(CAD)技术已经成为现代工程教育的重要组成部分。SOLIDWORKS作为一款CAD软件,其教育版云应用程序为学生提供了强大而灵活的设计平台。本文将探讨
    的头像 发表于 09-15 10:39 955次阅读
    学生适合使用的SOLIDWORKS 云<b class='flag-5'>应用程序</b>

    FX3 UVC 无法与 Ubuntu 24.04 Cheese 或 Snapshot 相机应用程序配合使用,怎么处理?

    同时打开。 我尝试使用 gstreamer 对所有三个应用程序进行路由,以隔离这三个应用程序,从而得到以下结果: `gst-launch-1.0 v4l2src 设备=/dev/video0!视频
    发表于 07-16 06:37

    CYBT-343026-01能否使用 HFP 和 AVRCP 制作应用程序

    我们计划使用 CYBT-343026-01 制作使用 HFP 和 AVRCP 的应用程序。 可以使用 CYBT-343026-01 制作使用 HFP 和 AVRCP 的应用程序吗? 根据 QDID
    发表于 07-01 08:29

    系统压力测试出现问题的原因和解决方法

    系统压力测试发现的问题通常都比较复杂,作者最近解决了一个有意思的系统稳定性问题,也想请各位读者一起思考下,想想问题的原因是什么。
    的头像 发表于 05-24 14:52 1034次阅读
    系统<b class='flag-5'>压力</b><b class='flag-5'>测试</b>出现问题的原因和解决<b class='flag-5'>方法</b>