物联网(IoT)弥合了物理世界和数字世界之间的鸿沟。这是一个由相互连接的设备组成的系统,能够通过网络收集和传输数据,而无需手动管理。企业通过在其业务模型中实施IoT解决方案来缩短上市时间,提高生产率并改善客户体验,从而在变化的市场中获得了优势。
尽管如此,每种技术都有其自身的挑战。物联网在测试方面面临着重大挑战。为了构建世界一流的物联网产品,端到端物联网解决方案需要在其整个生命周期中进行大量的质量检查。这意味着在交付给最终客户之前,之中和之后,通常都需要测试每个组件,例如传感器,网关,用户界面和绑定它们的Web服务。
我们将这种端到端的IoT测试称为多阶段验证。让我们更详细地探讨多阶段验证的概念。
端到端物联网解决方案由多个组件组成,包括:
1)用户访问组件:移动应用程序或Web应用程序
2)云基础架构
3)物联网网关
4)物联网嵌入式设备/传感器
上述每个组件在物联网解决方案的功能中都起着至关重要的作用。这种多层堆叠需要多阶段验证。多阶段验证可确保每个组件都应正确执行其指定的操作。
它提倡在进行闭环测试的系统测试时验证IoT解决方案的每个组件的过程,该测试考虑了正向路径(从移动应用程序到IoT设备)和反向路径(从IoT设备到移动应用程序)。
用例:智能空调的物联网系统
假设用户要在离开办公室时通过移动应用程序设置卧室空调的温度,然后在达到所需温度时,空调单元会向移动应用程序发送通知。
上述用例的物联网解决方案将包含以下组件:
移动应用程序:用户可以在其移动应用程序上设置空调温度。
用户访问云:移动应用程序使用Rest API将温度值发送到用户访问云,并更新数据库。
物联网云和网关设备:物联网云将“更改温度”命令传递给安装在用户家中的物联网网关设备。
智能空调:网关设备在卧室空调上发送所需温度,一旦达到所需温度,空调就会向移动应用程序上发送通知。
对于端到端物联网测试,多阶段验证起着至关重要的作用,因为需要在每个组件级别进行验证以确保完整的系统功能。
阶段1:验证要求移动应用程序级别检查移动应用程序的功能。在这种情况下,验证将是空调单元的温度是否已更改为所需水平。
阶段2:验证检查用户访问云,移动应用程序或web应用程序使用资源api访问云。必须确保功能需求满足API和数据库级别的需求。它还必须确保移动应用程序所做的更改(反映在数据库中)通过物联网云日志验证发送到网关设备。进行此验证的目的是确保api按预期工作,并确保对空调数据库所做的更改与所需设备的预期一致。
阶段3:在此处,需要在网关阶段进行验证,在该阶段,IoT云使用MQTT,XMPP,XML或JSON等IoT通信协议发送“温度变化”命令。进行验证以确保IoT网关设备接收到正确的消息,并通过诸如Zigbee®,BLE或Wi-Fi之类的通信协议(无论哪种可用)将消息转发到预期的最终设备。 此验证确保通过支持的通信协议对预期的空调设备执行温度更改操作。
阶段4:所需的最后一次验证是在最终嵌入式设备级别,该级别检查从IoT网关收到的操作是否反映在嵌入式设备中。
该验证将确保空调机组上的温度设置为所需水平。空调机组应通过网关和云向移动设备发送“达到所需的温度”通知。从Smart AC生成移动通知后,移动应用程序,云和网关都将通过验证。
多阶段物联网解决方案测试的重要性
1)它支持测试和验证应用程序体系结构以及所有组件和业务需求之间的集成。
2)它可以在集成级别捕获错误,并在组件级别发现问题。
3)它支持在最终用户和实时用例中进行解决方案测试。