• 物联网测试—具有挑战的测试技术


    当被问及到"什么是生活中必需的?"大多数人会回答道:"食物,住房,衣服。"但是在一个世纪以前人们的需求就是这样,人类已经进化演变到,让我们的生活必需品的需求尽量简化,便捷。我们已经停止使用开关来控制灯光,停止在售货亭支付收取费用,我们一直在开发使用智能设备来监控我们的生活,想要更有效地让所发明出的智能设备服务于我们。
      我们是怎么做到了这一点的呢?
      那么我们首先应该对此有个了解,接着再来学习怎么测试他们。
      什么是物联网(IoT)?
      IoT是将各种信息传感设备,如射频识别装置、红外感应器、全球定位系统、激光扫描器等种种装置与互联网结合起来而形成的一个巨大网络。其目的是让所有的物品都与网络连接在一起,方便识别和管理。
      IoT示例
      物联网在现实生活中的一些例子如下:
      #1)可穿戴技术
      例如像Fitbit bands和Apple watches这种小的电子产品能够轻松与移动设备进行同步。
      这些电子产品能够获取到心率、睡眠质量等保障健康水平的必要信息。还可以将这些信息发送到移动设备显示出来。
      #2)基础设施与开发:
      通过使用CitySense等应用,更容易获得户外照明的实时数据,并且基于这些数据,设置路灯的打开或关闭。还有各种诸如此类的应用,以便在复杂的城市布局中控制交通信号或停车有效管理。
      #3) 医疗保健:
      用于检测病人健康水平的应用不胜其数。根据不同病人的实际身体水平数据,规定病人在一天时间内的不同的药物控制量。有一些移动应用程序,如UroSense,它可以检测患者体内血液的流动状况,并根据其需要给病人输液。与此同时,这些数据还可以通过无线网传送给各利益相关者。
      物联网技术
      以下是一些在物联网中使用频率较高的技术:
      1.RFID (射频代码标签)和EPC (电子产品代码)
      2.NFC (近场通讯),用于实现电子设备之间的双向交流。主要用于智能手机在非接触式的支付交易过程中。
      3.蓝牙:主要用于移动设备较近范围内解决问题,这主要用于穿戴式技术。
      4.Z-Wave:这是一种低功耗射频通信技术,主要用于家庭自动化,家电灯具控制等。
      5.WiFi:IoT最常用的技术选择。使用LAN能够无缝地传输文件,数据和消息。
      IoT测试
      举一个例子,在医疗保健跟踪系统中,能够使用仪器检测健康水平,心率,液体摄入等细节,并且通过设备将报告发送给医生。该数据记录在系统中,可以根据实际需要在系统中查看相关历史数据。医生可根据数据决定药物摄入量,补液。这也可以从医疗设备连接到的其他的设备上,进行远程操作。
      要测试这样的架构,我们需要了解多种测试方法,如
      IoT测试方法
      #1)可用性测试:
      我们需要确保使用的每个设备的可用性。所使用的医疗保障跟踪装置能够在医疗中的各个方面得以使用。它应该足够只能,不仅可以发出信息,还能够将错误的信息也发送出去,并做出警告等。
      同时,系统应该能够记录所有事件流程提供给用户,以便提高清晰度透明度。如果不能的话,系统应该把它们推送到一个数据库来存储它。
      #2)物联网安全测试
      IoT安全挑战,即IoT是以数据为中心的所有设备/系统连接的操作基于可用的数据,当涉及到设备之间的数据交流时,会容易在被转移时被访问或读取数据。从测试的角度来看,当从一个设备传输到另一个设备时,我们需要检查数据是否被保护或加密。无论什么情况下,都会有一个UI,都需要确保有一个密码保护。
      #3)连接测试:
      由于这是一种医疗保健解决方案,因此连接在整个环节中起着重要的作用。系统必须保持始终可以使用,并应与利益相关者无缝连接。所以在测试中有两件事非常重要:
      一方面当连接UP运行时,连接,传输数据,从设备接收作业任务应该是无缝的。还有一种是连接断开情况。作为测试人员,我们也应该测试离线条件。一旦系统不可用,则必须有一个警报,可以提示医生,以便他们可以人工开始监视健康状况,而不依赖于系统,直到它起作用为止。
      另一方面,系统中必须有一种可以在离线时间内存储其中的所有数据的机制。一旦系统上线,所有的数据应该被传播,确保在任何突然情况下数据不被丢失。
      #4)性能测试
      当我们谈论医疗保健领域的系统时,需要确保整个医院的系统具有足够的可扩展性。进行测试时,一次由2-10名患者完成的测试,数据会传播到10-20个设备。当整个医院连接,180-200例患者连接到系统时,传播的数据远远大于测试数据。所以,作为测试人员,我们需要确保系统执行一致性,即使添加的数据是可传播的。我们还应该测试监控程序来显示系统的使用情况,使用电量,温度等。
      #5)兼容性测试
      从物联网系统的复杂架构来看,兼容性测试是很有必要的。对于IoT兼容性测试项目,如多种操作系统版本,浏览器类型和相应版本,几代设备,通信模式(例如蓝牙2.0,3.0)都是必需的。
      #6)试点测试:
      只有在专业的测试环境下进行测试才能确保产品或者系统工作正常。但是,当暴露于实际的条件和场景中,情况就可能会有所不同了。测试人员应该预想到这种情况,他们应该使用应用程序并在系统上给出反馈,而这些反馈能够使系统在不同的环境下得出不同的应急方案。
      #7)监管测试:
      一个医疗保健系统需要通过多个监管合规检查点。考虑有的产品通过了所有测试步骤但在最终合规性检查(监管机构进行的测试)中失败的情况,在开发周期测试一开始时,就满足监管要求是一个很好的做法。同样也应该是测试流程的一部分。
      #8)升级测试:
      IoT是多种协议,设备,操作系统,固件,硬件,网络层等的组合。
      进行升级时,无论是系统还是上述任何的相关项目,都应进行彻底的回归测试和采取策略,以克服升级出现的相关问题。
      物联网测试挑战
      测试人员在物联网测试中面临的挑战如下:
      #1)硬件软件网格
      IoT是一种结构性网络,与各种硬件和软件紧密耦合。不仅仅是硬件,像传感器,通信网关等也起着至关重要的作用。只有在功能测试中不能完全证明系统。而在环境,数据传输等方面这些总是存在着依赖关系。因此,与测试通用系统(只包含硬件和软件)相比,物联网测试是一项繁琐的工作。
      #2)设备交互模块
      由于这是不同硬件和软件组之间的体系结构,所以在测试过程中必须接近各种实际的情况进行测试。当它们相互融合时,诸如安全性,向后兼容性,升级问题等都会成为测试团队的挑战。
      #3)实时数据测试
      正如我们之前所讨论的那样,对于这样一个系统来说,试点测试和监管测试都是具有强制性的,所以得到这样的数据也变得非常困难。在测试团队中,获得监管点这是非常困难的。按上边的例子来说,如果系统与医疗保健有关,那么这一步骤变得更加困难。所以,这对测试团队来说也是一个很大的挑战。
      #4)UI
      物联网分布在各个平台(iOS,AndroidWindows,linux)的设备上。现在,可以直接在设备上进行测试,但是想要在所有的设备上能够进行测试这基本上是不可能的。我们不应该忽略使用不同设备访问UI的可能性。这是一个不容易克服的问题。
      #5)网络可用性
      网络连接起着至关重要的作用,因为IoT是基于网络才能以更快的速度将数据传达出去,所以IoT架构必须在各种网络连接/速度下进行测试。为了测试这一点,虚拟网络模拟器主要是用于改变网络负载,连接性,稳定性等。但是,实时数据/网络又总是一个新的场景,测试团队要是不用长远的目光来看的话发展会遇到瓶颈阶段。
      IoT 测试工具
      在测试IoT系统时有很多工具可以使用。
      可根据目标进行分类,分为以下几种:
      1 软件
      Wireshark: 这是一个用于监视接口流量,目标主机地址等的开源应用程序。
      Tcpdump: 与Wireshark相似,只Tcpdump不过没有GUI。这是一个基于命令行的实用程序,通过网络发送或接收TCP / IP和其他数据包使用户信息显示出来。
      2 硬件
      JTAG Dongle: 这与PC应用程序中的调试器差不多,对调试目标平台代码并逐步显示变量很有帮助。
      Digital Storage Oscilloscope: 用于检查各种事件与Time Stamps,电源故障,信号完整性。
      Software Defined Radio: 用于模拟大范围无线网关的接收机和发射机
      IoT在发展中国家市场有着越来越多的需求,有很多发展的机会,物联网成为测试人员在测试中的一种必要技术指日可待。.
      启用IoT的小工具,智能设备应用程序和通信模块在研究和评估各种IoT服务性能和行为方面发挥了至关重要的作用。服务设计不佳和使用设备不当都会影响到应用程序的正常运行,最终直接导致对用户体验不利影响。
      总结:
      IoT测试方法根据面对的系统和架构有所不同,测试人员应该更多地关注"测试用户"(TA-A-User)方法,而不是根据需求进行测试。IoT测试中的另一个主要参与者是集成测试,如果集成测试计划准确并且足够强大能检测出系统的缺陷,那么IoT就是成功的。IOT测试可能一项具有挑战性的工作,但对于测试团队来说,这是很有必要的,而测试各种复杂的设备、硬件、操作系统对测试人员来说也是能够激起他们的兴趣的。
     
    转载:51testing
  • 相关阅读:
    使用Post方法模拟登陆爬取网页
    微信公众号开发
    一致哈希
    两阶段提交协议、三阶段提交协议
    自动化部署脚本
    zabbix邮件报警
    Paxos算法
    MVC 全局异常处理及禁用显示头
    弹出层或者下拉菜单被下面的 层遮挡住了解决办法
    Bootstap datetimepicker报错TypeError: intermediate value(转)
  • 原文地址:https://www.cnblogs.com/zgq123456/p/14776656.html
Copyright © 2020-2023  润新知