什么是物联网测试?类型和工具

⚡ 智能摘要

物联网测试验证联网设备、嵌入式软件、网络层和云后端是否协同工作,涵盖功能、安全性、性能和数据完整性,然后再将产品交付给真正的用户。

  • 🔗 四层: 传感器、应用程序、网络和后端都需要各自的覆盖范围。
  • 🧪 测试混合: 可用性、兼容性、可靠性、可扩展性、数据完整性、安全性和性能检查。
  • 🔐 安全第一: 身份验证、加密和隐私控制至关重要,因为设备使用的是公共互联网。
  • ⚠️ 硬性限制: 内存、处理能力、带宽和电池容量的限制制约了设备上的测试。
  • 🔍 灰色盒子尺寸: 对操作系统和硬件的部分了解能够产生更精准的测试用例。
  • 🛠️ 工具: Shodan 暴露面向互联网的设备;加载工具模拟传感器集群。

什么是物联网测试?它的类型、流程和工具是什么?

什么是物联网测试?

IoT 测试 是执行质量保证测试以检查物联网设备的功能、安全性和性能的实践。因为每个物联网设备都会通过互联网发送和接收数据,所以确认其运行状况良好至关重要。 transmit在产品上市前,确保敏感信息的安全至关重要。因此,许多物联网企业依赖于自动化、渗透测试和 性能测试 用于在产品到达消费者之前检测缺陷的工具。

目标:物联网产品必须满足其规定的要求并按预期运行。

什么是物联网?

物联网(IoT)是由设备、车辆、建筑物和其他联网电子设备组成的网络。这种互联互通使它们能够收集和交换数据。物联网系统的四个常见组成部分是:

  • 传感器
  • 应用领域
  • 网络
  • 后端(数据中心)

下图展示了这四个组成部分。

物联网系统由四个部分组成:传感器、应用、网络和后端数据中心。

简而言之,物联网连接可识别的 嵌入式设备 到现有的互联网基础设施——一个“智能”产品时代,这些产品可以通信、传输大量数据并上传到云端。

物联网测试类型

物联网设备测试围绕安全性、分析、设备、网络、处理器、操作系统、平台和标准展开。以下是其主要类型。

可用性测试:

设备种类繁多,外形各异,用户感知也因人而异。因此,检查整个系统的可用性至关重要。

兼容性测试:

许多设备通过物联网系统连接,每个设备都有不同的软硬件配置。可能的组合非常庞大,这使得 兼容性测试 重要。

可靠性和可扩展性测试:

可靠性可扩展性 在构建物联网测试环境时,这一点很重要,因为物联网测试环境通常使用虚拟化工具来模拟传感器。

时间 Integrity 测试:

数据完整性检查至关重要,因为该系统处理大量数据。

安全测试:

许多用户会访问大量数据,因此通过身份验证来验证用户身份并强制执行数据隐私控制是安全测试的一部分。

性能测试:

性能测试为物联网测试计划的战略性方法提供了支持。

下图将测试类型与物联网组件进行了对应关系。

物联网元素测试类型 传感器 应用领域 网络 后端(数据中心)
功能测试
可用性测试
安全测试
性能测试
兼容性测试
服务测试
Opera国家测试

物联网测试流程:测试条件示例

测试条件示例,按验证类别分组:

测试类别 样品测试条件
组件验证 设备硬件
嵌入式软件
云基础设施
网络连接
第三方软件
传感器测试
命令测试
数据格式测试
稳健性测试
安全测试
功能验证 基本设备测试
物联网设备之间的测试
错误处理
有效计算
条件验证 手动调节
自动调节
调理概况
性能验证 时间 transmit 频率
多请求处理
同步备份:
中断测试
设备性能
一致性验证
安全和数据验证 验证数据包
验证数据丢失或数据包损坏情况
数据加密/解密
数据值
用户角色和职责及其使用模式
网关验证 云接口测试
设备到云协议测试
延迟测试
分析验证 传感器数据分析检查
物联网系统运行分析
系统过滤分析
规则验证
通信验证 互操作性
M2M 或设备到设备
广播测试
中断测试
协议

物联网测试的挑战

出于以下原因,满足这些条件非常困难。

  • 需要检查外部网络和设备之间的内部通信。
  • 安全是一个主要问题,因为所有任务都是通过互联网完成的。
  • 软件和系统的复杂性可能会掩盖物联网协议栈中的缺陷,而固件本身也会独立运行。 回归 周期。
  • 内存、处理能力、带宽和电池寿命等资源限制了设备在测试中能够执行的操作。

物联网软件测试最佳实践

  • 灰盒测试 适用于物联网工作,因为对操作系统、架构、第三方硬件和连接限制的部分可见性可以提高测试用例的准确性。
  • 实时操作系统对于物联网产品所需的可扩展性、模块化、连接性和安全性至关重要。
  • 实现重复场景的自动化;模拟器和虚拟设备使大规模传感器群能够在真实条件下进行测试——信号弱、连接断断续续、消息速率高。

物联网测试工具

历史上,有两种基于搜索的工具与物联网测试相关:

1. 初丹

初段 是一个用于搜索联网设备的搜索引擎。测试人员使用它来查找哪些设备可以从互联网访问——这对于攻击面检查非常有用。

2. Thingful

Thingful 是一个物联网搜索引擎,它按地理位置索引公开的物联网数据源。该搜索引擎已于 2022 年停止运营,此处记录仅供参考。

如今,团队通常会将加载工具与应用层工具结合使用: JMeter 使用MQTT插件可以模拟发布设备, Postman 测试云 API,以及 Appium 驱动 移动应用程序.

常见问题

大多数车队通过 MQTT 或 CoAP 协议与云端连接,本地则使用低功耗蓝牙、Zigbee 或 Wi-Fi 等技术。每种协议都需要各自的连接、重试和断开连接机制。

人为地改变连接方式:增加延迟、丢弃数据包、在传输过程中断开链路。设备应该缓存读取的数据,并在不重复传输的情况下重新连接。

测量睡眠、觉醒期间的电流消耗 transmit 更新状态,然后根据占空比预测电池寿命。频繁的报告间隔会使现场续航时间减半。

基于遥测数据训练的模型可以标记出固定阈值无法识别的异常传感器读数,对重复的字段故障进行聚类,并对哪些设备配置风险最大进行排名。

GitHub 副驾驶 草案包括设备模拟器、MQTT 发布器和日志解析器。测试人员仍然需要定义协议预期以及需要覆盖的硬件状态。

数字孪生是一种能够重现设备状态和遥测数据的软件模型。测试人员无需拥有数千台设备即可模拟大规模部署场景。

在设备上发布已知有效载荷,然后 trac通过网关、代理、流处理器和控制面板进行传输。验证没有记录丢失或重复。

不同市场和设备类别的要求各不相同,通常包括无线电认证、电气安全、数据保护法和安全更新义务。请向监管机构确认具体标准。

总结一下这篇文章: