×
嵌入式 > 技术百科 > 详情

检测IOT系统故障:苦逼中带着使命!

发布时间:2020-06-22 发布时间:
|

物联网传感器使用各种各样的技术来收集信息,相互通信,并将数据传输到存储和处理数据的计算机系统。

在典型的应用中,物联网设备会定期唤醒,进行测量,并综合各个传感器数据的进行判断决策。 它还与其他设备进行通信,并可能会将数据发送到云端的后端系统进行处理。

比如,一个医学健康追踪设备,需要不同类型的传感器监测各种身体参数,然后,通过设备所搭载的系统或者云端系统处理这些数据参数,生成报告把有效信息发送给医疗人员。

然后医生可以根据终端监测设备发来的数据来启动相应医疗措施,例如药物摄入。计算机和移动设备可以通过互联网连接到医疗设备,远程管理终端设备来触发此行为。 一些系统甚至包括高级应用程序能监测病人体内的液体水平,并且如果监测到低于设定的阈值,则自动发送信息给医疗人员。

由于不同设备,平台,协议和通信网关的混合,物联网系统经常会遇到潜在性能,可靠性,互操作性和可扩展性问题。

很不幸,要测试物联网系统每个部分的性能和可靠性并不容易,很具有挑战性。

测试难的问题已经影响到物联网系统内部流程的顺畅:在本文中,我们将研究有效简便的测试方法。

在物联网系统里测试什么和为什么这样测

随着全球物联网市场急速增长,制造商们正加紧生产各种各样低成本传感器,为了压缩传感器成本,有些传感器制造商直接忽略或者牺牲掉传感器的某些功能,这使得很多物联网设备易受来自多重安全、性能、可靠性的问题。

物联网传感器的典型局限性,包括小的物理尺寸,低功耗,少量的内存和有限的处理能力。 这意味着需要最大限度地减少处理进程的数量,所以要最大限度地减少应用程序的大小。 当设计人员努力应对这些限制,他们可会略去关键步骤,简化流程,这将使得传感器和物联网设备暴露出各种各样的技术漏洞。

测试物联网设备的益处

为了给客户提供有效价值,对设备和网络进行测试,这对于验证它们是否按照规范工作是至关重要的。 这将使得开发人员能够快速识别和解决可能影响性能,可靠性或用户体验的问题或BUG。

物联网RF模块的框图和相关挑战

除此之外,测试确保物联网系统符合安全和其他标准规定。例如,一种药品进入美国市场之前,需要经过FDA批准一样。物联网设备,特别是电池必须符合UL(美国保险商实验室)等监管机构规定的性能和安全标准。 而其他条令则确保设备不会超过规定的碳排放标准。

若产品不遵守现有规定标准将会用户和制造商带来更多的问题。例如,在2017年,FDA在意识到ST.的Jude 医疗射频起搏器存在安全隐患之后,不得不要求厂商召回50万台有问题的医疗设备,

一项测试表明:黑客通过漏洞进行远程访问设备,并对其重新进行编程,使得设备工作状态不稳定,甚至将损坏电池,危机用户人身安全。虽然,FDA并没有要求制造商从市场召回这些有漏洞的设备,但批准了一个解决漏洞的固件更新,并要求用户可以向健康设备供应商提出赔偿。

同时考虑其他好处,

  • 通过找出设备缺陷,为解决性能、互操作性、安全性和安全问题提供了机会,比如,安全缺陷,如发送未加密数据将导致犯罪分子很轻易就窃取敏感的私人信息,黑客通过访问查看监控摄像机获得相关的敏感的直播信息,若黑客把这些视频信息卖给相关利益者,将会给设备使用者带来极大的风险。
  • 加快产品上市时间。
  • 通过确保用户可以在各种设备和平台进行无缝操作,改善用户体验,

一个功能全面的IOT测试系统包括:传感器、连接性、移动应用程序、环境以及网端接口。不过,根据应用和系统设计的不同,测试系统测试的具体细节会有所不同。

通过大量的测试案例,最好的方法要了解。什么需要测,为什么要这样测以及测试什么,让我们看一下你需要详细测试哪些因素。

性能测试

性能测试将研究设备,网络,软件,内部以及外部应用程序如何发挥功能来实现物联网设备的目的。 性能测试确定了大量的参数,包括执行流程,时序,响应时间,可靠性和稳定性。

性能测试还检查可用性,客户满意度以及物联网系统满足SLA的程度。 此外,测试还可推测确定出,添加更多设备和工作负载是如何影响系统性能,响应能力和稳定性。

性能测试要看三个主要级别:

  • 系统级:处理、分析、数据库等。
  • 应用级
  • 网络和网关级:测试Wi-Fi,蓝牙,Z-Wave,RFID,NFC等技术以及诸如HTTP,CoAP,MQTT和其他物联网特定协议

例如,测试可以确定嵌入式软件执行所需计算量或通信网络在某些操作条件下的可靠性和稳定性的能力。

在性能测试期间,重要的是还要确定诸如功耗,温度变化,内存使用情况以及影响或受进程影响的其他变量等条件。

安全测试

物联网系统中的每个节点都是黑客的潜在入口点,如果黑客入侵,就可能会让单个设备甚至一组连接设备的性能表现大打折扣。

易受黑客攻击的节点包括收集数据的应用程序、传感器网络、设备与设备之间通讯协议、中继设备接口等等。

研究人员展示了几个安全漏洞,这些漏洞允许罪犯访问物联网设备和窃取数据或远程操作物联网系统。

例如,黑客可以拦截来自医疗设备的数据并对其进行恶意修改,使得到发送给医生的信息并不准确。 然后医师在不知情的情况下,根据发过来的错误信息增加或减少患者用药剂量或者用药种类,这将严重危及患者的生命安全。

类似黑客可以改变自动药物分配系统的剂量,黑客也可以利用技术手段,耗尽诸如起心脏搏器之类的关键装置的电池电量- 将会使患者面临更大的生命风险。

在安全会议一次测试演示中,研究人员向参会者演示了黑客如何攻击轮椅物联网设备,使轮椅失去了安全防护的功能,给使用者造成很大安全隐患。

不止在医疗行业,这些安全漏洞几乎横跨所有行业,测试还显示,黑客如何访问车辆的导航数据,并更改其控制系统数据,包括接管驾驶和制动系统。

安全测试主要验证设备、数据、应用程序、相关网络的安全性,测试着眼于设备身份验证、设备级别数据传输保护以及服务器数据的保护。

在设备和协议级别检测物联网的安全隐患,有助于识别隐藏系统漏洞并防止整个物联网系统在源头受到攻击,同时还验证加密和解密的有效性,以确保数据传输过程中的安全性。

 

可用性测试

可用性测试验证设备是否容易上手,是否适合某种应用,易于上手的同时并能够提供清晰的结果。 测试着眼于最终的用户体验,包括设备所有特性的功能性实现。 考虑的因素包括便携性和在设备遇到问题时,能够正常接收和发送通知以及错误报告的能力。

根据设备设计,可用性测试验证其在物联网设备或者云端系统收集信息和处理信息的能力。它还确保它可以在移动设备或计算机上显示清晰的信息。

可用性最好由用户自己测试。 售后支持团队可能会提出某些类似问卷调查之类的查询,真实用户可以反馈他们的使用体验和期望添加的功能。 不过,主要可用性测试是由设计人员,开发人员,质量控制人员,营销人员,客户服务人员和其他人员在公司内部完成。

营销人员和客户服务人员都会在意客户需求是什么,不过,客户服务人员更在乎是用户在使用过程中遇到的问题。

网络和连接性测试

无缝对接对于物联网网络至关重要,这确保整个物联网系统所有设备彼此能够互联互通,并且和其他系统(如物联网服务器)保持联系。

网络性能测试检查设备和不同网络层之间的连接和数据传输速度。 这有助于识别解决诸如延迟,带宽瓶颈或可能破坏设备或网络之间连接的数据包丢失等问题。

连通性测试在网络启动和断开时进行。 以下是这两项测试的不同之处:

  • 在线测试着眼于设备和应用程序之间的连接,数据传输和网络安全。
  • 离线状态测试网络不可用时会发生什么。 特别是在关键装置中,比如心脏起搏器或健康监测设备等装置。无论网络的状态如何,都不能应影响这些设备的运行。 设备必须有能力在脱机状态下,存储或处理收集的数据,然后在网络恢复时传输它。

物联网设备兼容性测试

此测试在应用程序层和网络层上执行。 它测试不同类型和版本的硬件,软件和网络之间的兼容性。这些测试可确定组合某些物联网设备,网络,移动设备,平台,操作系统和环境是否存在性能问题。

设备互操作性

这将评估如何将使用不同接口,网络拓扑和协议的各种设备组合在一起,并允许跨平台和设备进行数据交换。

无论用户界面设备的品牌和型号,操作系统的类型和版本如何,这种测试都会验证系统是否很好的相互兼容,并以用户和应用程序可以访问的标准格式生成想要的结果。

条令和规则

物联网设备需要符合多种法规和准入标准,具体取决于应用方向。 测试确保所有设备都安全被使用,并能够承受相应的EMI等级以及其他要求标准。这种测试应该查出设备是否辐射出过量的干扰信号,以及它是否能够承受来自外部干扰信号。

与其他物联网组件一样,电池也必须要安全可靠和符合安全标准的,以确保物联网设备的可靠性并降低故障风险 , 这对于医疗和其他敏感应用设备是至关重要的。

特别是,一致性测试旨在测试电池整个寿命期间在不同的负载条件下,甚至超出额定条件下的放电和辐射水平,腐蚀和性能表现特征。

电流波形分析仪适用于低至100pA的超低功耗IoT设备

 

测试物联网系统的挑战

由于需要考虑混合使用标准和非标准硬件和软件技术,测试物联网系统通常是一项挑战。 并且随着设备数量的增加,建立合适的环境并选取适当的测试工具,应用和网络的难度也随之增加。

不幸的是,给一个或多个输入触发器上电然后验证输出结果这样的传统测试过程并不适用于IoT系统。

模拟所有可能的测试环境是很复杂的,有时不切实际。 诸如不可靠的网络,复杂的实时场景,不同的设备状态,传感器数据以及不稳定的设备相互交叉作用将产生几乎数不清的测试场景组合。

其他挑战还包括第三方组件和子系统,质量参差不齐的硬件,安全性和隐私问题。

举例来说,每秒大约有20,000台设备使用各种协议发送数据。 在这种情况下测试所有可能的组合几乎是不可能的。

对于几年内逐渐增长的大规模系统来说,想测试它将变得更加复杂。 因为在这种情况下,可能会有老化的设备只能使用较早的协议(如CoAP)进行通信,而较新的设备则使用HTTP,MQTT和其他现代技术。这造成测试过程需要应对不同协议更换相应的测试设备。

我们再来看看测试人员还将面临的其他什么样的挑战。

复杂的硬件 - 软件网格

标准化的缺乏导致了物联网生态系统中多种技术的丛生,并混合在一块, 这些物联网系统可能由不同类型和不同版本的硬件和软件技术组成,系统节点预计可以实时或近实时地相互交流。

来自不同制造商和第三方提供商的组件和子系统可能会使用不兼容的技术,当一台设备发生故障时,将有可能会影响测试过程。 另外,传感器的质量可能不高,无法提供准确的测试结果。

测试这样一个网格是一个复杂的过程,需要得当的计划,测试设备,设施,专业知识能力,这对一些QA团队来说可能是无法承受的。

大量的测试场景

一次全面的测试应该验证设备和系统如何正常工作以及网络不可靠或薄弱,传感器电池电量不足,安全问题,数据包丢失和其他实际情况。

当测试成千上万或数百万台不同网络的设备和应用程序时, 搭建类似于物联网设备在现实应用场景中运行的动态环境是困难和昂贵的,这是一个极其复杂的过程。

由于使用不同技术的设备种类繁多,模拟这种真实世界的负载条件几乎是不可能的。 还有可能有一些不可预测的条件因素或者还这包括并发用户的数量,用户设备和互联网连接的可靠性等等。这些都都是测试人员无法模拟测试环境因素,使得一些测试无法进行。

另一个挑战是确定从待机状态下到全面操作状态的不同操作模式下的电池电量的消耗。

可扩展问题

一般来说,物联网传感器的数量呈指数增长。 虽然最初的设备安装量很少,但几年后它最终会增长到数千甚至数百万。随着数量的增加,为数千种设备设计的测试工具和脚本已经过时,无法处理如此大规模的物联网设备的部署。此外,要运行测试案例和分析结果将变得更加困难,缓慢,昂贵并且容易出现错误,这样一来,要查出故障代码或设备的过程是很痛苦而艰巨的。

不同的通信协议

物联网设备使用各种各样的连接协议,但并没有标准统一化。 通常,协议包括HTTP,MQTT,CoAP,XMPP,DDS,AMQP,AllJoyn,IoTivity等等。 这些通常是不同的,有些不并遵循通用标准。

虽然有些已经停滞发展,但还有一些仍在不断发展,并且在成熟时仍在不断演变,还经常发生变化。 由于物联网的不断发展,对于老式测量工具来说,若不能支持新技术和非标准或者不断发展的协议,将面临被淘汰的尴尬境地。

地区和网络方面的挑战

数千或数百万个遍布不同地区的物联网设备使用各种网络彼此连接,并与移动设备或物联网服务器进行通信。在测试世界不同地区的传感器之间的连通性时,模拟这种情况可能是一个挑战。

一般来说,Wi-Fi,蓝牙,Z-Wave,RFID,NFC,LoRa,Sigfox等多种网络技术的组合引起了人们的关注。当你考虑不同的器件状态时,这会导致很多可能的组合,所以不可能全部模拟它们使用场景。

建立实用环境通常不适用于所有应用场景。有很多因素可能会影响通信。内部和外部无线信号电平各不相同,还有其他风险因素,例如EMI。

另外,电源线或无线信号中的干扰或噪声会影响通信质量。这些是测试人员可能无法正确模拟的动态场景。

另外,大多数物联网设备资源有限。例如,为延长电池寿命,设备不能频繁传输数据,有时由于占空比低而无法访问。

此外,在不具有通用范围以及不同的标准和非标准数据编码语言情况下,通信依赖物联网特定的通信协议才能传输。

实时测试挑战

除确保正确操作外,几乎所有设备都必须对安全性和合规性进行测试。 在医疗设备等应用场景中,获取实时数据通常是一项挑战。尽管测试人员可以模拟某些条件,但无法获得某些动态条件如根据人体温度,压力水平,健康状况和其他可能影响嵌入式设备性能的因素。

有时,待测试的设备可能无法使用,或者不能在测试过程中显示激活传感器所需的条件。 此外,协调和组织不同的团队和个人进行测试可能会很困难。

不同的用户界面

物联网设备和系统有不同的平台。 这包括诸如Windows,Linux,iOS,Android等操作系统。 另外,不同的设备型号和软件版本可能对特定条件和环境的响应方式不同。

在所有可能的平台和条件下测试物联网设备实际上是不可能的。 测试人员可能无法访问所有类型的移动设备或操作系统版本,或者无法测试特定情况。

解决物联网测试挑战

除了采用最佳实践之外,一个有效的测试框架还必须解决物联网系统的三个核心部分。 它应该有能力评估设备和应用程序,数据处理和分析以及通信。

拥有涵盖物联网各个方面的综合测试方法可以在验证稳定性,可靠性方面发挥长远作用。 物联网测试框架需要通过提供多种选项和灵活性来适应更广泛的测试场景,从而克服大部分测试挑战。 拥有合适的测试设备和工具可以同时检测大量相关参数,这一点非常重要。

例如,使用混合域示波器,您可以检查模拟和数字信号,并查看它们之间的关系以及其他条件(如功率电平和命令)之间的关系。

使用混合域示波器测试IoT RF模块,图片来源:ElectronicDesign

混合域示波器同时采集RF,模拟和数字信号,然后将它们进行关联对比,以确定是否存在影响其中一个或所有特定的问题,

例如,示波器可以识别无线电信号的问题,并显示是否由于错误的总线控制命令,电源或任何其他故障所致- 因此可以更容易地隔离问题,解决它。

基本上,有效的测试解决方案的特点包括:

  • ·一个测试实验室,测试人员可以模拟实时场景体验,也可以进行各种组合的实验。
  • ·支持大多数常用设备的协议模拟器。
  • ·适用于各种设备和应用的数据记录技术
  • ·虚拟化测试环境,可自动且快速响应不断变化的实时需求。

物联网测试解决方案

物联网设备和网络有不同类型的硬件和软件测试工具。选择取决于一系列因素,包括应用程序,环境和参数等等,

某些提供商(如Keysight,Infosys和TransactIQ)提供了用于执行各种物联网测试的解决方案。大多数商业工具支持几种常用的IoT协议和网络模拟,例如,Infosys支持HTTP,MQTT,AMQP,HTTP上的REST,Web套接字,Kafka和CoAP。此外,它还能够为每个协议测试不同的网络仿真。其自动化脚本其能够从云端中生成所需的负载或设备仿真,从而消除了测试人员获取硬件的需求。

随着数据从一个网络层迁移到另一个网络层,TransactIQ的解决方案对网络活动进行全面分析,例如传输速度,延迟,带宽和数据包丢失。

该解决方案适用于大多数常见技术,包括WiFi,LTE蜂窝,Sigfox,蓝牙LE,LoRa,NB-IoT等。此外,TransactIQ还提供其他解决方案,例如测试CoAP,MQTT等非HTTP协议的安全性。

结论

用户希望所有连接的设备在包括升级,更新或向网络添加新设备情况下,都能正常工作并完美通信, 出于这个原因,制造商和服务提供商需要关注质量和可靠性,这些只能通过测试来验证。

随着各种技术的不断变化和发展,仅靠单一解决方案就想测试整个物联网生态系统是不可能的。 不过,QA团队,开发人员和制造商仍应该致力于获得涵盖大多数常见设备,应用程序和网络技术的测试解决方案。 这些应该解决方案应该是灵活的,具备适应新技术的能力。

 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
无人机新突破:或将利用手机发射塔追踪无人机