利用虚拟实验室对物联网(IoT)设备进行成本效益测试

即使是最小的物联网设备,也生活在一个复杂的环境中,在开发的时候可能还没有完全了解。事实上,我们已经看到了设备首次连接到互联网所带来的安全问题。在上一篇文章中,我们讨论了服务导向对设计、开发和测试的好处。在这篇文章中,我们将把基于服务的测试和服务虚拟化带到下一步——虚拟实验室。构建一个真实的物理测试实验室环境是很困难的,即使完成了,也会成为系统测试的主要瓶颈。虚拟实验室消除了这一瓶颈,同时为基于服务的物联网设备测试提供了新的优势。

许多物联网设备还没有准备好进入黄金时段

最近的一项研究发现,80%的物联网应用没有进行安全漏洞测试。Barr Group发现,56%的嵌入式设备开发者没有审查源代码是否存在安全漏洞,37%的开发者没有书面编码标准。这些都不是令人鼓舞的统计数据,很明显,物联网设备制造商需要更加重视质量、安全和安全性。为了确保测试更加严格、一致和彻底,测试自动化是重要的一步。测试,尤其是针对安全漏洞的测试,往往被认为成本太高、太复杂,因此被匆匆忙忙或完全忽略。但让你的客户(和攻击者)为你测试物联网设备的安全性是一个昂贵的错误。

虚拟实验室的成分

真实的测试实验室需要最接近物联网设备计划工作环境的物理表现,但即使是最复杂的实验室,也很难扩展到真实的环境。虚拟实验室解决了这个问题。虚拟实验室的发展超越了对难以找到(或可能不存在)的硬件依赖性的需求。使用复杂的服务虚拟化与其他关键的测试自动化工具

  • 服务虚拟化可以模拟被测设备所需的所有依赖性,以执行完整的系统测试。这包括设备使用的所有连接和协议,并对通信做出现实的响应。例如,服务虚拟化可以模拟物联网设备与之通信的企业服务器后台,以提供定期的传感器读数。同样,虚拟化可以以现实的方式控制物联网设备。
  • 服务和API测试提供了一种驱动被测设备的方式,以确保其提供的服务(和提供的API)完美无瑕地执行。这些测试可以通过自动化平台进行操作,根据需要进行性能和安全测试。
  • 运行时监控可实时检测被测设备上的错误,并捕获重要的跟踪信息。例如,在成品中可能无法检测到的内存泄漏,可以及早发现并廉价解决。
  • 测试实验室管理和分析提供了对虚拟实验室的总体控制。一旦虚拟化,整个实验室的设置可以根据需要进行复制,测试运行可以自动和重复。分析提供必要的活动和结果总结。

边缘计算物联网生态系统如下图1所示,描述了部署嵌入式物联网设备的典型环境。传感器和控制设备将信息传达给边缘(Edge),边缘是一系列的设备或应用,它们可以接收信息,并使用逻辑将信息传达回设备或直至云端。然后,云有更高层次的逻辑,允许它根据这些信息采取行动。云是一组服务:微服务、与数据库的连接、附加逻辑或第三方服务——一个复杂的功能构件网,如下右图所示。

1:一个典型的物联网生态系统,嵌入式设备将部署在其中。

在物联网生态系统中进行测试的时候,需要在很多层面进行测试。例如,要测试在网关中引入的新功能,验证网关是否能够从传感器接收信息,并能够以你构建业务逻辑的方式进行通信。

为了验证所有这些复杂性,Parasoft Virtualize(模拟所需的依赖关系)和Parasoft SOAtest(驱动测试)被用来模拟这些输入。这些工具提供了来自设备在网络上的真实调用的模拟(无论是REST/HTTP等协议,还是CoAPXMPPMQTT等物联网流行协议),并通过验证SOAtest返回的响应,测试被测设备(本例中的网关)是否与云服务进行了适当的通信。下图2显示了如何为被测边缘设备创建虚拟实验室环境的示例。

如果有外部方式将信息传递到该网关,也可以模拟这些调用。Parasoft Virtualize旨在稳定测试环境,对请求创建可预测的响应,利用SOAtest的测试数据,充分测试网关和服务。

最后,顶层服务可能会回传到边缘,以及回传到其他传感器和外部角色,知道你的输入的流向是否通过环境回到后端系统可能很重要。Parasoft Virtualize用于模拟接收这些呼叫到边缘(到物联网设备),然后将这些信息传回SOAtest,以确认该呼叫进行了往返,并在物联网生态系统内表现出预期的方式。Parasoft VirtualizeSOAtest的结合提供了全面的控制,可以测试整个环境,甚至在复杂的物联网生态系统内进行测试。

2ParasoftVirtualizeSOAtest工具的作用为被测边缘设备创建一个虚拟实验室环境。

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

正常的测试环境是昂贵的,可能比大多数开发经理预测的还要昂贵。voke Research的一项研究发现,一个预生产实验室的平均投资是1200万美元。从时间上看,提供实验室的平均时间是18天,还有12-14天用于配置。这些实验室的建立需要花费大量的时间和金钱,即使建立了实验室,也会因为访问受限而成为测试的瓶颈。此外,物理实验室的日常运营成本也很高。在大多数情况下,复制一个物理实验室来增加测试吞吐量是成本高昂的。

在另一篇文章中,我们将服务虚拟化的好处归结为改善对测试设备的访问,更好地控制虚拟化依赖的行为,从而降低成本并提高测试速度。以类似的方式,我们来分析一下虚拟物联网测试实验室的好处:

  • 通过更好、更完整的测试提高质量

基于服务的测试确保关键用例得到行使和完善。自动性能测试确保了重载下的稳定性和可靠性。此外,运行时监控可确保检测和跟踪难以发现的错误。

  • 通过模拟畸形数据的自动渗透测试提高安全性

负载测试可以模拟拒绝服务攻击,运行时监控可以检测安全漏洞。测试的可重复性可以确保每次迭代、补丁或发布都以完全相同的方式进行测试。此外,测试开发和操作(即改进和创建新的测试)被简化。

  • 通过消除完整系统测试所需的昂贵的依赖性,减少测试时间、风险和成本

自动化提供了人工测试无法做到的重复性和一致性,同时提供了更好、更完整的测试。虚拟实验室大大减少了物理实验室设置所需的供应时间,影响了总测试时间。

结语

鉴于物联网设备的发展现状,需要对开发和测试流程进行改变。测试自动化是一种行之有效的方法,可以降低成本和风险。物联网设备质量和安全性提升的下一步是使用虚拟实验室,将服务虚拟化、基于服务的测试、虚拟实验室管理和运行时监控相结合。这大大降低了供应和配置成本,同时极大地提高了正在进行的测试质量。

posted @ 2021-01-29 11:18  SWTOR  阅读(229)  评论(0编辑  收藏  举报