格物行业洞察 > 格物视角 > 正文

欧洲的最新试验,物联网设备功耗测试,也许物联网的黄金时间还得拖一拖

作者: Marc Brown 来源:物联网资本论 时间:2017-09-18

在一个复杂的环境中,即使是开发最小的物联网设备,开发者们也并不一定会充分理解。事实上,我们在一开始就发现了连接到互联网给设备带来的安全问题。在以前的帖子中,我们讨论了面向设计,开发和测试环节服务的种种好处。在这篇文章中,我们将推进到基于服务的测试(service-based testing)和服务虚拟化的下一阶段-虚拟实验室。构建一个真实的物理测试实验环境是困难的,等它建成了,又会成为系统测试的主要瓶颈。虚拟实验室,在提供基于服务的物联网设备测试的同时,消除了物理测试实验室的问题。


物联网的黄金时间,许多设备还没有准备好


最近的一项研究发现,80%的物联网应用都进行安全漏洞测试。The Barr Group发现,56%的嵌入式设备开发人员不审查源代码的安全漏洞。并且37%的人甚至没有任何书面的代码标准。这些统计数据令人十分担忧,很明显,IoT设备制造商们要承担的更高的质量,安全和数据保密责任。自动化测试正是为了确保测试正在做更加严格,持续,深入的重要一步。测试,特别是针对安全漏洞的测试,往往被认为非常昂贵和复杂,因此常常贸然进行或者干脆忽略。然而让你的客户(和攻击者)测试的IoT设备的安全则会使你为之付出更高的代价。


虚拟实验室的成分


一个真正的测试实验室需要尽可能接近的设备的现实工作环境,但即使在最先进的实验室,也很难扩展到一个现实。虚拟实验室解决了这个问题。虚拟实验室从过去依赖一些难以获取(或者不存在的)的东西,过渡到使用由以下自动化测试工具构造的,虚拟化的服务:


· 服务虚拟化模拟出所有被测设备所需要的依赖关系,以便执行完整的系统测试。这包括现实环境中,该装置通信时使用到的所有连接和协议。例如,服务虚拟化可以模拟的企业服务器的后端,由一个IoT设备与之通信以提供周期性的传感器读数。类似地,虚拟化可以以逼真的方式控制IoT设备。


· 服务和API测试提供了一种方法,在测试中驱动设备,以确保(提供的API)提供的服务可以无漏洞执行。这些测试可以根据性能和安全需要,使用自动化平台来实现。


· 运行时监控检测设备上的实时误差,并捕捉重要的记录信息。例如,内存泄漏,这个问题有时在成品中也会出现,但在早期完全可以发现并低成本解决。


· 测试实验室的管理和分析提供了虚拟实验室(多个)的总体控制。一旦虚拟化,整个实验室设置可以根据需要复制,测试运行也可以自动化和反复执行。Analytics(分析)则给实验室执行的活动和检测结果提供必要的文字总结。


边缘计算IoT生态系统如图1所示,描绘了IoT设备部署的典型环境。传感器和控制设备把数据上传到边缘,“边缘”是一系列设备或应用程序,它们可以接收信息,并运用逻辑来传送回某个设备或上传到云端。而云具有更高层的逻辑,允许其针对该信息采取行动。云是一组服务 - 微服务,连接数据库,附加逻辑,或第三方服务 – 一个由功能块构成复杂网络,如右下所示。


微信图片_20170918165823.png

图1:一个典型的IoT生态,其中部署了嵌入式设备

 

在进行物联网生态系统测试时,对于在网关引入的新功能,往往需要在多层测试,例如,确认网关可以接收来自传感器的信息,并按照你建立的业务逻辑通信。


为了验证所有这些复杂场景,我们可以用Parasoft的虚拟化(模拟所需依赖)和Parasoft的SOAtest(测试驱动)来模拟输入。这些工具可以通过网络(无论它们是类似REST / HTTP协议,或是IoT领域流行的协议例如CoAP协议,XMPP,或MQTT)模拟现实中来自设备的呼叫,以及通过对SOAtest的响应测试来检测被测设备(在该示例中,网关)与云服务的沟通状况。下面的图2展示了一个例子,展示了如何在虚拟实验室环境中创建测试状态下的边缘设备。


如果我们有可以从外部到该网关通信,那么这类通话也可以被模拟出来。Parasoft公司虚拟化的目的是创造稳定的测试环境,为SOAtest中的测试请求产生可预测的答复,充分检验网关和服务。


最后,顶层的服务可能会被后传回边缘,再传至其他传感器和外部设备,所以了解你的输入通过环境回到后端系统的信息流动可能会很重要。Parasoft虚拟化用来模拟接收那些下传到边缘设备(下传到的IoT设备)的呼叫,然后中继该信息回SOAtest以确认该呼叫的往返路径,并且确认行为符合预期。尽管一个IoT生态系统十分复杂,Parasoft虚拟化和SOAtest的组合仍提供了对整个环境的全面控制。


微信图片_20170918165754.png

图2:Parasoft虚拟化和SOAtest工具为测试下的边缘设备创建一个虚拟实验室环境


提高质量和安全性的同时,减少时间、成本和风险


一般测试环境的成本是很高的,可能比大多数开发经理的预计都要高。一项voke的研究发现,对预生产实验室的平均投资是$ 1200万美元。在时间上,供应实验室的平均时间为18天,另有12-14天花费在配置上。这些实验室需要大量的时间和金钱来建设,甚至在那之后,由于有限的访问它们仍然是测试的一大瓶颈。此外,物理实验室的日常运营成本很高。在大多数情况下,通过复制一个物理实验室来提高测试吞吐量的方案成本过高。


在我们的博文《服务虚拟化的ABC》,我们总结了服务虚拟化的好处,它可以让我们更容易获取到测试设备,并更好地控制依赖的行为,这可以降低成本并增加测试速度。类似地,我们总结一下虚拟IOT测试实验室的好处:


· 通过更好,更全面的测试改进了测试质量:基于服务的测试确保关键用例的可行和完善。自动化的性能测试,确保大负荷下设备的稳定性和可靠性。此外,运行时监控确保检测和跟踪到难以发现的bug。


· 通过模拟畸形数据的自动化渗透测试改进了安全性:负载测试可以模拟拒绝服务攻击,运行时监控可以检测安全漏洞。重复性测试确保每次迭代,打补丁,或发布都可以在完全相同的方式进行测试。此外,测试开发和操作(即改善和创造新的测试)被简化了。


· 通过缩减完整系统测试时对昂贵依赖的需求,减少测试时间,风险和成本:自动化在提供更好,更全面测试的同时,它的可重复性和一致性也是手动测试不可能做到的。虚拟实验室大大减少了物理实验室所需的供应时间,这一供应时间严重影响了总测试事件


结论


鉴于当今物联网设备的发展状况,开发和测试流程急需改变。测试自动化已经证明是降低成本和风险的一个行之有效的方法。下一个重要步骤是使用虚拟实验室, 这一结合服务虚拟化,基于服务的测试,虚拟实验室管理和运行时监控的环境,改进物联网设备的质量和安全性。这会大量减少供应和配置成本的同时,大幅提高测试的质量。


本文为物联网资本论独家编译,作者Marc Brown,窗前三颗梧桐树翻译,未经允许不得转载


标签: 技术

关注 物联网资本论 微信公众号 了解物联网行业最新趋势、产业政策、企业及企业家专访、投资机构及投资事件,参与更多物联网行业线上线下活动。