Vea cómo la solución de calidad continua de Parasoft ayuda a controlar y administrar los entornos de prueba para ofrecer software de alta calidad con confianza. Regístrese para la demostración >>
Incluso el dispositivo de IoT más pequeño vive en un entorno complejo, que puede no entenderse completamente en el momento del desarrollo. De hecho, ya hemos visto los problemas de seguridad asociados con los dispositivos que se conectan a Internet por primera vez. En una anterior post, discutimos los beneficios de la orientación al servicio para el diseño, desarrollo y prueba. En esta publicación, llevaremos las pruebas basadas en servicios y la virtualización de servicios al siguiente paso: laboratorios virtuales. La construcción de un entorno de laboratorio de pruebas físicas realista es difícil e 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 al tiempo que brindan nuevos beneficios a las pruebas de dispositivos IoT basadas en servicios.
Un estudio descubrió que el 80 por ciento de las aplicaciones de IoT no siendo probado por fallas de seguridad. El Grupo Barr descubrió que 56% de los desarrolladores de dispositivos integrados no revisa 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, y está claro que los fabricantes de dispositivos de IoT deben tomarse más en serio la calidad, la seguridad y la protección. La automatización de pruebas es un paso importante para garantizar que las pruebas se realicen de forma más rigurosa, coherente 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) prueben la seguridad de su dispositivo IoT por usted.
Un laboratorio de pruebas real requiere la manifestación física más cercana del entorno en el que se planea trabajar un dispositivo de IoT, pero incluso en el laboratorio más sofisticado, es difícil escalar a un entorno realista. Un laboratorio virtual soluciona este problema. Los laboratorios virtuales evolucionan más allá de la necesidad de dependencias de hardware difíciles de encontrar (o quizás inexistentes). Utilice la virtualización de servicios sofisticada con otras herramientas clave de automatización de pruebas:
El ecosistema de IoT de computación de borde se muestra a continuación en la Figura 1, que muestra un entorno típico en el que se implementan dispositivos de IoT integrados. Los sensores y los dispositivos de control comunican información al Edge, 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. Entonces, la nube tiene una lógica de nivel superior que le permite actuar sobre esa información. La nube es un conjunto de servicios (microservicios, conexiones a bases de datos, lógica adicional o servicios de terceros), una red compleja de bloques de construcción funcionales, que se muestra a continuación a la derecha.
Figura 1: Un ecosistema de IoT típico en el que se implementarían dispositivos integrados
Cuando llega el momento de realizar pruebas en el ecosistema de IoT, se requieren pruebas en muchas capas. Para probar la nueva funcionalidad introducida en la puerta de enlace, por ejemplo, la validación de que la puerta de enlace puede recibir información de los sensores y puede comunicarla de la forma en que ha creado la lógica empresarial.
Para validar toda esta complejidad, Virtualización de Parasoft (que simula las dependencias necesarias) y Prueba SOA de Parasoft (que impulsa las pruebas) se utilizan para simular esas entradas. Estas herramientas proporcionan simulaciones de llamadas realistas desde los dispositivos a través de la red (ya sean protocolos como REST / HTTP o protocolos populares de IoT como CoAP, XMPP o MQTT) y prueban que el dispositivo bajo prueba (la puerta de enlace en este ejemplo) se está comunicando con los servicios en la nube de manera adecuada, validando las respuestas que provienen de SOAtest. La Figura 2 a continuación muestra un ejemplo de cómo se puede crear un entorno de laboratorio virtual para los dispositivos periféricos bajo prueba.
Si hay 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 las solicitudes que aprovechan los datos de prueba de SOAtest, probando completamente la puerta de enlace y los servicios.
Finalmente, los servicios de nivel superior pueden comunicarse de regreso al borde y de regreso a otros sensores y actores externos, y puede ser importante saber que el flujo de sus entradas se abre camino a través del entorno de regreso al back-end. sistemas. Parasoft Virtualize se utiliza para simular la recepción de esas llamadas hasta el borde (hasta los dispositivos de IoT) y luego transmitir esa información a SOAtest para confirmar que la llamada hizo el viaje de ida y vuelta y se comportó de la manera esperada dentro del ecosistema de IoT. . La combinación de Parasoft Virtualize y SOAtest proporciona un control total para probar todo el entorno, incluso dentro de las complejidades de un ecosistema de IoT.
Figura 2: La función de las herramientas Virtualize y SOAtest de Parasoft crea un entorno de laboratorio virtual para un dispositivo de borde bajo prueba
Los entornos de prueba normales son costosos, probablemente más de lo que prevén la mayoría de los gerentes de desarrollo. Un estudio de investigación de voke encontró que la inversión promedio en un laboratorio de preproducción era de $ 12 millones. En términos de tiempo, el tiempo medio de aprovisionamiento del laboratorio fue de 18 días y se dedicaron otros 12 a 14 días a la configuración. Estos laboratorios requieren mucho tiempo y dinero para configurar, e incluso después de eso, actúan como el 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.
In otra publicación, reducimos los beneficios de la virtualización de servicios para mejorar el acceso a los dispositivos de prueba con un mejor control del comportamiento de las dependencias virtualizadas, lo que reduce los costos y aumenta la velocidad de la prueba. De manera similar, analicemos los beneficios del laboratorio de pruebas virtual de IoT:
Dado el estado del desarrollo de dispositivos de 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 de IoT es el uso de laboratorios virtuales que combinan la virtualización de servicios, las pruebas basadas en servicios, la gestión de laboratorios virtuales y la supervisión del tiempo de ejecución. Esto reduce en gran medida los costos de aprovisionamiento y configuración al tiempo que aumenta en gran medida la calidad de las pruebas que se realizan.
Las herramientas de prueba de software automatizadas líderes en la industria de Parasoft respaldan todo el proceso de desarrollo de software, desde que el desarrollador escribe la primera línea de código hasta las pruebas unitarias y funcionales, hasta las pruebas de rendimiento y seguridad, aprovechando los entornos de prueba simulados en el camino.