当前位置: 首页 > news >正文

物联网IOT面临挑战

基于服务的物联网设备测试

物联网有着巨大的前景,很大一部分物联网设备都和我们的日常生活息息相关。但是现实情况是,许多物联网应用设备企业都还没有做好准备来迎接这个“黄金时代”。

最近的一次研究发现,80%的物联网应用程序没有进行安全缺陷测试。在另一项研究中巴尔集团发现56%的嵌入式设备开发人员都不会审查源代码中的安全漏洞,37%的人员没有书面的编码标准。这些数据都显示出来了物联网设备存在着很多缺陷问题,很明显,物联网设备制造商需要更加认真地对待质量、安全和保障问题。为了确保测试更加严格、一致和彻底,测试自动化是一个非常重要的步骤。测试,尤其是对安全漏洞的测试,通常被认为是过于昂贵和复杂的,因此大部分团队都会只会简单测试或完全不做测试。

但是,让客户或者攻击者为“测试”您的物联网设备安全性是一个代价高昂的错误。

虽然“物”是物联网中使用的术语,但现实是消费者和企业不仅仅对事物或设备本身感兴趣。物联网的真正前景在于这些设备产生的数据和它们能够提供的服务。即使是最小的传感器也能提供有用的服务,尽管嵌入式设备、物联网或移动应用程序开发人员可能倾向于不考虑服务,但改变这种思维模式,让物联网能够连通世界是非常重要的。为了真正提高物联网软件开发的质量,需要从服务的角度和方向出发。

IOT是由服务组成的

尽管物联网的名称已经深入人心,但“物”本身并不是真正的主角。物联网更关键的是信息收集、关键基础设施的控制以及这些设备提供的对现实世界的反馈。

消费者感兴趣的不仅仅是他们房子里一个房间的温度或者摄像机拍摄的视频。他们感兴趣的是更深的层面——确保他们的安全系统能够检测到房子周围的活动,或者是通过系统能够自动地让空调能够保持在一个舒适的温度。而企业感兴趣的不是工厂中单个逻辑控制器的产量,而是流水线生产能力的提升。这个观点是一个非常重要的转变,因为它迫使设备开发者更好地理解他们产品的背景以及实际用途。

实际上,某个厂商的设备或应用可能是更大服务的一部分。传统上,单个嵌入式设备可能不被视为服务的一部分;然而,当它们连接到更大的系统中时,就意味着它们必须要成为整个系统的一部分。例如,在汽车中,发动机控制单元(ECU)的作用仅仅是确保发动机中的正常燃烧和排放,但是汽车使用ECU来跟踪燃料经济性,并通过无线连接将其报告给中央服务器。这些里程数据随后被用于规划路线和估算运营成本。一时间,ECU成了商业决策过程中的一个非常关键的节点。

当我们从以设备为中心的思维转向以服务为中心的思维时,当我们使用观点来思考后,将会拓宽单个设备的背景及其使用范围,从而影响整体系统设计的方法:

聚合:物联网由太多的“东西”组成,从某个角度来说,某一个组件本身就没那么重要了。为了提供更高层次的有用信息,所以我们需要将设备组织在一起。例如,空调系统本身不需要报告每个房间的温度。单个传感器可以向监控系统(如工业控制中的SCADA系统)报告,监控系统可以作出本地决策,这些决策又被报告给可能远在其他地方的更高级别的系统。

自我监控:如果每一个传感器每时每刻都报告周边信息,那么更高级别的业务决策过程将被庞大的数据量干扰。在我们的HVAC示例中,局部监控系统可以根据集中过程设置的量(例如,根据天气和电费)来维持建筑温度。因此,企业级系统将依赖于HVAC系统在每栋建筑的基础上提供的服务,来报告诸如能量使用量类似的关键信息。

可互换性:随着时间的推移,设备聚合提供的服务变得比设备本身更有价值。如果总体业务目标仍然满足,单个传感器和控制器可以与另一种产品一起批量替换。如果服务质量保持不变或者更好,硬件是可以互换的。从表面上看,这对设备制造商来说似乎是一件坏事,对某些制造商来说确实如此。但是明智的公司会更加理解服务的重要性,并在服务质量上展开竞争,从而成为市场领导者。

下期我们继续聊聊为什么基于服务的测试对IOT的成功至关重要,以及如何将IOT的测试转换成自动化。

相关文章:

  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • Intel汇编-奇偶标志位测试
  • CMSC5724-关于条件概率和朴素贝叶斯分类器
  • FFmpeg入门详解之50:SDL2键盘事件案例
  • c 关键字
  • 使用hardhat 开发以太坊智能合约-发布合约
  • 【Linux】进程间通信介绍及匿名管道使用
  • sqlite数据库
  • 奇迹mu服务端架设开服技术教程
  • Kafka 介绍
  • 智能通风柜手势控制界面设计与实现
  • 2021年系统架构师综合知识错题
  • Java 面向对象2——继承
  • java多线程三种实现方式
  • Flink SQL 在kerberos on yarn环境下提交
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • avalon2.2的VM生成过程
  • centos安装java运行环境jdk+tomcat
  • JS笔记四:作用域、变量(函数)提升
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • js中的正则表达式入门
  • webpack4 一点通
  • 从零开始学习部署
  • 给github项目添加CI badge
  • 记录一下第一次使用npm
  • 开源地图数据可视化库——mapnik
  • 前端设计模式
  • 前言-如何学习区块链
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #Linux(帮助手册)
  • #Ubuntu(修改root信息)
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (1)Nginx简介和安装教程
  • (4)STL算法之比较
  • (solr系列:一)使用tomcat部署solr服务
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (六)软件测试分工
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (已解决)什么是vue导航守卫
  • (转) 深度模型优化性能 调参
  • ./configure、make、make install 命令
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net 发送邮件
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .net(C#)中String.Format如何使用
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET关于 跳过SSL中遇到的问题
  • .NET设计模式(8):适配器模式(Adapter Pattern)