Seminario web destacado: MISRA C++ 2023: todo lo que necesita saber | Vea ahora

Pruebas rentables de dispositivos IoT con laboratorios virtuales

Foto de cabeza de Grigori Trofimov, arquitecto senior de soluciones de Parasoft
19 de septiembre de 2023
5 min leer

Es un desafío crear un entorno de laboratorio de pruebas físicas realista porque puede ser la principal limitación en las pruebas del sistema. Los laboratorios virtuales eliminan esta limitación con nuevas ventajas para las pruebas de dispositivos IoT basadas en servicios. Lea este artículo para obtener más información.

Incluso el dispositivo de Internet de las cosas (IoT) más pequeño vive en un entorno complejo que puede no entenderse completamente en el momento de su desarrollo. Existen riesgos de seguridad asociados con los dispositivos que se conectan a Internet por primera vez y beneficios con la orientación de servicios para el diseño, el desarrollo y las pruebas. En esta publicación, llevaremos las pruebas basadas en servicios y la virtualización de servicios al siguiente paso: laboratorios virtuales.

Crear un entorno de laboratorio de pruebas físicas realista es difícil. Incluso cuando se completa, se convierte en el principal cuello de botella en las pruebas del sistema. Los laboratorios virtuales eliminan este cuello de botella y al mismo tiempo brindan nuevos beneficios a las pruebas de dispositivos IoT basadas en servicios.

Muchos dispositivos de IoT no están listos para el horario estelar

Un  estudio descubrió que el 80% de las aplicaciones de IoT no se están probando para detectar fallas de seguridad. The Barr Group descubrió que el 56% de los desarrolladores de dispositivos integrados no revisan el código fuente en busca de vulnerabilidades de seguridad y el 37% no tiene un estándar de codificación escrito. Estas no son estadísticas alentadoras. Está claro que los fabricantes de dispositivos IoT deben tomarse más en serio la calidad y la seguridad.

La automatización de pruebas es un paso importante para garantizar que las pruebas se realicen de manera más rigurosa, consistente y exhaustiva. Las pruebas, especialmente para las vulnerabilidades de seguridad, a menudo se consideran demasiado costosas y complejas y, por lo tanto, se apresuran o se pasan por alto por completo. Pero es un error costoso permitir que sus clientes (y atacantes) Pruebe la seguridad de su dispositivo IoT a sus necesidades.

Los ingredientes del laboratorio virtual de IoT

Un laboratorio de pruebas real requiere la manifestación física más cercana al entorno en el que se planea que funcione un dispositivo IoT. Pero incluso en el laboratorio más sofisticado, es difícil adaptarlo a un entorno realista. Un laboratorio virtual soluciona este problema. Los laboratorios virtuales evolucionan más allá de la necesidad de dependencias de hardware inexistentes o difíciles de encontrar. Combine laboratorios virtuales con herramientas clave de automatización de pruebas:

  • Virtualización de servicios Simula todas las dependencias que necesita el dispositivo bajo prueba para realizar pruebas completas del sistema. Esto incluye todas las conexiones y protocolos utilizados por el dispositivo con respuestas realistas a la comunicación. Por ejemplo, la virtualización de servicios puede simular un servidor empresarial con el que se comunica un dispositivo IoT para proporcionar lecturas periódicas de los sensores. De manera similar, la virtualización puede controlar el dispositivo IoT de manera realista.
  • Prueba de servicio y API Proporcionar una forma de controlar el dispositivo bajo prueba de manera que garantice que los servicios y API proporcionados funcionen sin problemas. Estas pruebas se pueden manipular a través de la plataforma de automatización para realizar pruebas de rendimiento y seguridad según sea necesario.
  • Supervisión del tiempo de ejecución detecta errores en tiempo real en el dispositivo bajo prueba y captura información de seguimiento importante. Por ejemplo, las pérdidas de memoria, que pueden pasar desapercibidas en un producto terminado, pueden detectarse y resolverse de forma temprana y económica.
  • Gestión y análisis del laboratorio de pruebas Proporcionar un control general de los laboratorios virtuales. Una vez virtualizado, toda la configuración del laboratorio se puede replicar según sea necesario y las pruebas se pueden automatizar y repetir. Los análisis proporcionan el resumen necesario de actividades y resultados.

El siguiente ecosistema de IoT de computación de borde representa un entorno típico en el que se implementan dispositivos de IoT integrados. Los sensores y dispositivos de control comunican información al borde, que es una serie de dispositivos o aplicaciones que pueden recibir información y usar la lógica para comunicarse con un dispositivo o con la nube.

Luego, la nube tiene una lógica de nivel superior que le permite actuar sobre esa información. La nube es un conjunto de servicios como microservicios, conexiones a bases de datos, lógica adicional o servicios de terceros. Es una red compleja de bloques de construcción funcionales, que se muestra abajo a la derecha.

Gráfico que muestra el flujo de implementación de un ecosistema de IoT desde el dispositivo hasta la computación de borde y la nube.
Un ecosistema típico de IoT en el que se implementarían dispositivos integrados.

El papel de Virtualize y SOAtest de Parasoft en la creación de un entorno de laboratorio virtual

Para validar la complejidad de los entornos de IoT, Parasoft Virtualizar simula las dependencias requeridas y Parasoft Prueba SOA impulsa pruebas que emulan estas entradas. Estas herramientas permiten realizar escenarios de prueba realistas en todos los dispositivos de la red, cubriendo protocolos genéricos como REST/HTTP y protocolos populares de IoT como CoAP, XMPP y MQTT.

Además, Parasoft verifica que el dispositivo bajo prueba, que en este ejemplo es la puerta de enlace, se comunica efectivamente con los servicios en la nube al validar las respuestas recibidas de SOAtest. La siguiente imagen ilustra cómo se puede establecer un entorno de laboratorio virtual para probar dispositivos periféricos.

Si existen formas externas de comunicar información a esa puerta de enlace, esas llamadas también se pueden simular. Parasoft Virtualize está diseñado para estabilizar el entorno de prueba para crear respuestas predecibles a solicitudes que aprovechen los datos de prueba de SOAtest, probando completamente la puerta de enlace y los servicios. 

Finalmente, los servicios de nivel superior podrían comunicarse con el borde y con otros sensores y actores externos. Puede ser importante saber que el flujo de sus entradas recorre el entorno y regresa a los sistemas backend. Parasoft Virtualize simula la recepción de esas llamadas hasta el borde (hasta los dispositivos de IoT) y luego transmite esa información a SOAtest para confirmar que la llamada realizó el viaje de ida y vuelta y se comportó como se esperaba dentro del ecosistema de IoT. La combinación de Parasoft Virtualize y SOAtest proporciona control total para probar todo el entorno, incluso dentro de las complejidades de un ecosistema de IoT.

Imagen que muestra dónde se ubican SOAtest y Virtualize en un entorno de laboratorio virtual para un dispositivo perimetral bajo prueba. SOAtest en el gateway conectándose con Virtualize, que se conecta a la nube.
La función de las herramientas Virtualize y SOAtest de Parasoft crea un entorno de laboratorio virtual para un dispositivo perimetral bajo prueba.

Mejore la calidad y la seguridad al tiempo que reduce el tiempo, los costos y los riesgos

Los entornos de prueba normales son costosos, probablemente más de lo que pronostican la mayoría de los gerentes de desarrollo. un estudio de investigación de voke descubrió que la inversión promedio en un laboratorio de preproducción era de 12 millones de dólares. En términos de tiempo, el tiempo promedio para aprovisionar el laboratorio fue de 18 días y se dedicaron entre 12 y 14 días más a la configuración.

La instalación de estos laboratorios requiere mucho tiempo y dinero. Después de eso, actúan como un cuello de botella para las pruebas debido al acceso limitado. Además, los costos operativos diarios de los laboratorios físicos son significativos. En la mayoría de los casos, duplicar un laboratorio físico para aumentar el rendimiento de las pruebas tiene un costo prohibitivo.

Analicemos los beneficios del laboratorio de pruebas virtual de IoT.

  • Mejorar la calidad mediante pruebas mejores y más completas. Las pruebas basadas en servicios garantizan que se ejerzan y perfeccionen los casos de uso clave. Las pruebas de rendimiento automatizadas garantizan estabilidad y confiabilidad bajo cargas pesadas. Además, la supervisión del tiempo de ejecución garantiza que se detecten y rastreen errores difíciles de encontrar.
  • Mejore la seguridad con pruebas de penetración automatizadas que simulan datos con formato incorrecto. Las pruebas de carga pueden simular ataques de denegación de servicio y la supervisión del tiempo de ejecución puede detectar vulnerabilidades de seguridad. La repetibilidad de las pruebas garantiza que cada iteración, parche o versión se pruebe exactamente de la misma manera. Además, se simplifica el desarrollo y la manipulación de pruebas, como la mejora y la creación de nuevas pruebas.
  • Reduzca el tiempo, el riesgo y el costo de las pruebas eliminando la necesidad de dependencias costosas necesarias para las pruebas completas de los sistemas. La automatización proporciona repetibilidad y coherencia que las pruebas manuales no pueden. También proporciona pruebas mejores y más completas. Los laboratorios virtuales reducen en gran medida el tiempo de provisión necesario para las configuraciones de los laboratorios físicos, lo que afecta el tiempo total de prueba.

Conclusión

Dado el estado del desarrollo de los dispositivos IoT, es necesario realizar cambios en los procesos de desarrollo y prueba. La automatización de pruebas es un enfoque probado para reducir costos y riesgos. El siguiente gran paso en la mejora de la calidad y la seguridad de los dispositivos IoT es utilizar laboratorios virtuales que combinen virtualización de servicios, pruebas basadas en servicios, gestión de laboratorios virtuales y monitoreo del tiempo de ejecución. Esto reduce los costos de aprovisionamiento y configuración al tiempo que aumenta la calidad de las pruebas que se realizan.

Estrategias de prueba de extremo a extremo para la integridad de IoT