Testing en el Internet de las cosas

Cada vez se habla más de internet de las cosas (Internet of things - IoT), pero ¿qué significa realmente? Básicamente, es un concepto que se refiere a la digitalización de los objetos cotidianos, la manera en la que se comunican con nosotros, entre ellos mismos y por supuesto con internet. 

Testing en IOT

Un ejemplo sencillo de esto es que, al sonar el despertador, se encienda la cafetera y empiece a preparar el café al comenzar la mañana. 

En este contexto, se calcula que para el 2020 entre 22 mil y 50 mil millones de dispositivos estarán preparados para conectarse a internet. Sin embargo, como un punto negativo, podemos mencionar las vulnerabilidades a las que estamos expuestos en este nuevo mundo. 

Estos dispositivos, no ofrecen gran seguridad y pueden ser de fácil acceso para alguien mal intencionado. En 2014, un estudio de HP estimó que el 70% de los dispositivos de IoT son vulnerables a ataques.

¿Cómo se testean estos dispositivos?

IoT plantea nuevos desafíos a los desarrolladores y testers de software, ya que debemos ampliar nuestras habilidades para lanzar software de calidad.

Además, implica grandes innovaciones en términos de requisitos de prueba, incluyendo un mayor énfasis en tipos de dispositivos inusuales, tales como electrodomésticos, interfaces de termostato y sensores de reloj.

Con un conjunto diverso de productos que ingresan al mercado de IoT, los equipos de QA deben diseñar cuidadosamente la mejor estrategia de administración de pruebas para cumplir con los estándares de calidad de estos productos. 

Veamos entonces qué puede deparar el futuro de las pruebas IoT para los equipos de prueba de software:

La importancia de probar escenarios de conectividad inalámbrica

La conectividad depende de muchos estándares inalámbricos diferentes. Por ejemplo, Wi-Fi, Bluetooth, ZigBee y/o 4G LTE. 

Para los desarrolladores de software, los potenciales problemas con la conectividad y la infraestructura, inevitablemente darán forma al diseño de sus aplicaciones. Las pruebas de software deberán cubrir bases como:

● ¿Qué sucede con los datos cuándo se cae una conexión inesperadamente?

● ¿Se guardan y se almacenan correctamente?

● ¿Dónde se recuperará una vez que se restaure el servicio?

 Para verificar esto, serán esenciales muchas pruebas en el mundo real.

Virtualización de servicios para la simulación de hogares inteligentes

Uno de los casos de uso de IoT más promocionados es la domótica (conjunto de técnicas orientadas a automatizar una vivienda, que integran la tecnología en los sistemas de seguridad, gestión energética, bienestar o comunicaciones). Para los testers, sin embargo, esta práctica puede ser un entorno difícil y desconocido de simular. Por ello, deberemos tener en cuenta ciertos aspectos:

● Compatibilidad: ¿Qué otros dispositivos están presentes?

● Cobertura: ¿Cuál es el diseño de la casa? 

● Conectividad: ¿Qué sucede en condiciones de baja conectividad? 

● Ambiental: ¿Cómo afectan las condiciones climáticas a los dispositivos? 

La virtualización de servicios ofrece un posible camino a seguir. Los equipos de desarrollo/prueba pueden modelar muchos tipos diferentes de casas, sensores y estados del dispositivo. Asimismo, los testers pueden tener una buena idea de las condiciones que enfrentarán sus servicios en el mundo real.

Doblando la seguridad en el IoT

Asegurar la privacidad de datos en IoT es crucial. Las autorizaciones son apoyos importantes para asegurar transferencias y transmisión de datos de IoT. Por ejemplo, para evitar la vulnerabilidad de los datos, el puerto del dispositivo IoT se cierra a la comunicación de Internet cuando no está en uso. Además, el cifrado de extremo a extremo entre dispositivos o dispositivos y servidores codifica de forma segura las transferencias de datos.

Los equipos de QA deben investigar una amplia gama de posibles vulnerabilidades en los productos y servicios de IoT. Dependiendo del elemento en cuestión, podría tratarse de:

● Aplicar estrictas reglas de contraseña

● Proteger la interfaz de acceso no autorizado

● Garantizar el uso del cifrado cuando corresponda

¿Qué sigue?

El reto actual es aumentar el alcance de las pruebas IoT. Las pruebas automatizadas son cruciales para diseñar, planificar e implementarse en IoT.

Los entornos en tiempo real en los que los dispositivos IoT deben operar los expone al clima, los elementos y el impacto físico. En consecuencia, los equipos de control de calidad deben evaluar toda la gama de vulnerabilidades ambientales y funcionales de la IoT, incluida la medida en que la exposición afecta las funcionalidades. 

Al observar el ataque innovador de Internet de las cosas, uno ve el avance de la tecnología hacia la movilidad y la diversidad. Con la integración y la automatización de pruebas, los equipos de QA ya están bien preparados para diseñar procedimientos de prueba que garantizarán una mayor expansión de la tecnología IoT.

Referencias:

https://hipertextual.com/2015/06/internet-of-things

https://testingbaires.com/debemos-pensar-en-armar-estrategias-de-prueba-para-iot/

https://www.getzephyr.com/insights/future-iot-testing

Links útiles:

https://riunet.upv.es/bitstream/handle/10251/71683/MART%C3%8DNEZ%20-%20TESTAR%20para%20testing%20IoT.pdf?sequence=2

¿Sos desarrollador?

https://bbvaopen4u.com/es/actualidad/en-que-lenguaje-se-programara-el-internet-de-las-cosas

Autor: 

Santiago Sosa Montiel.

 

Tester QA.

 

Contacto

info@baufest.com