IoT Testing: El nuevo desafío
El internet de las cosas, más conocido en España por sus siglas en ingles (IoT) es un concepto tecnológico que se basa en la interconexión de cualquier dispositivo con otro de su entorno. La televisión, el frigorífico o la calefacción, en un futuro no muy lejano, todos los aparatos que podamos imaginar estarán interconectados.
El IoT es un campo que evoluciona hacia soluciones cada vez más complejas y en el que el usuario final requiere de calidad y seguridad. Para ello hay que estar preparados y hacer que las cosas funcionen como tienen que funcionar. Por las peculiaridades de estos aparatos, probar un dispositivo o software IoT requiere un enfoque diferente del aplicado en el testing tradicional nos enfrentamos a un contexto muy complejo en el que es esencial tener en cuenta una serie de puntos.
- Suele ser necesaria una alta combinatoria de casos de prueba para comprobar cómo se comporta el sistema.
- Hay que garantizar el funcionamiento de las nuevas características.
- Tanto las nuevas soluciones IoT como el hecho de añadir pequeños cambios (relacionados con IoT) a productos existentes impone nuevos enfoques para probar estos productos.
- Al haber Hardware implicado, las metodologías ágiles requieren una aproximación diferente.
- Para probar este Hardware implicado se necesita hacer uso de emuladores.
- La necesidad de hacer pruebas de regresión automatizadas está presente desde el inicio del desarrollo del producto.
Durante los últimos meses, gracias al programa Bind 4.0 Globe ha tenido la oportunidad de colaborar en un proyecto de Testing IoT. El cliente con el que hemos colaborado tiene entre sus servicios uno que te permite controlar tu hogar, tanto desde dentro como desde fuera del mismo, mediante una aplicación móvil y una web.
Tras realizar el equipo de consultores de Globe un análisis de los procesos de negocio y entornos involucrados, se realizó la definición y ejecución de un plan de pruebas automáticas tanto sobre el portal web como también sobre la aplicación en smartphone y tablet (ios/Android) de forma que se puedan detectar los defectos relevantes en las regresiones con la mayor rapidez posible. Con todos estos condicionantes sobre la mesa, se seleccionó la herramienta de automatización de pruebas Selenium.
Selenium es una herramienta de automatización de pruebas funcionales basada en el navegador. Es básicamente una biblioteca que puede utilizar en su programa para probar una aplicación web. Nos permite grabar, editar y depurar casos de prueba, que pueden ser ejecutados de forma automática cuando nosotros queramos. Está completamente implementado y soportado en Java, Ruby, Python y C#. Es compatible con diversos navegadores como Chrome, Safari, Firefox o Internet Explorer.