La nueva frontera de las pruebas automatizadas es el aprendizaje automático – Nonteek
![La nueva frontera de las pruebas automatizadas es el aprendizaje automático – Nonteek La nueva frontera de las pruebas automatizadas es el aprendizaje automático – Nonteek](https://i2.wp.com/www.nonteek.com/wp-content/uploads/2018/11/1_yz9m7lq9occxB7qR9P6ZFA.jpeg?w=1600&resize=1600,1066&ssl=1)
La larga ola de Inteligencia Artificial también llega a la automatización de pruebas
En la era DevOps, la discusión sobre la integración entre el mundo de Dev (eloper) y Op (eration) s suele ser animada. La atención se centra casi siempre en la automatización de edificios, pruebas unitarias y lanzamientos. Pero en un contexto donde los ciclos de desarrollo son cada vez más cortos, donde las versiones se lanzan directamente a producción, las pruebas manuales corren el riesgo de convertirse en un obstáculo.
![](https://www.nonteek.com/wp-content/uploads/2018/11/testing-ai-1-1024x596.png)
Por otro lado, la automatización de las pruebas, que prescribe tanto el desarrollo como la publicación de los scripts, debería incluirse de pleno derecho en el ciclo. Pero como no se trata de nuevas funcionalidades, se da por sentado, muchas veces acaba fuera de los planes. El resultado es que resulta cada vez más difícil mantener los scripts de automatización alineados con las versiones de las aplicaciones, y el texto desalineado es texto inutilizable. Además, no debemos olvidar que todas las fases del SDLC (Ciclo de Vida de Desarrollo de Software) deben ser probadas, por lo que siempre que hablamos de Desarrollo Continuo e Integración Continua, debemos introducir el concepto de Prueba Continua.
![Esta imagen tiene un atributo alt vacío; su nombre de archivo es continuo_testing_loop-1024x462.png](https://www.nonteek.com/wp-content/uploads/2018/11/continuous_testing_loop-1024x462.png)
El mensaje aquí es que en la base del concepto de pruebas automatización radica un problema: para crear
Pero si DevOps tiene la misión de integrar todo el ciclo de desarrollo, ¿cómo es posible que las pruebas se hayan convertido en una fase más del desarrollo? La razón radica en el hecho de que los marcos y herramientas utilizados (en primer lugar, Selenium) no contienen ningún tipo de inteligencia. De ello se deduce que, aunque son muy eficaces en la automatización, sólo son buenos para un desarrollador.
La «Tercera Ola»: Inteligencia Artificial y Pruebas Continuas
Hoy en día, la mayoría de las GUI (interfaces gráficas de usuario) se desarrollan con Javascript y Node.js, y las pruebas automatizadas se implementan principalmente con marcos como Selenium y Appium. El problema con estos enfoques es que requieren una gran cantidad de secuencias de comandos, a menudo son difíciles de mantener y es difícil mantenerse actualizado con las continuas versiones y cambios que los acompañan.
La introducción del aprendizaje automático en las pruebas automatizadas introduce algunos puntos cruciales:
- Generación automática de texto: el principio básico no es diferente del «registro» con Selenium, con la diferencia de que en este caso, la herramienta genera ejecutable Pasos de prueba funcional. Algunas herramientas como ellos funcionan también permiten generar pruebas que se pueden ejecutar a partir de libros de texto escritos en lenguaje natural, utilizando tecnología PNL.
- Autosanación: Uno de los conceptos más innovadores de estas tecnologías es la capacidad de adaptar las pruebas de forma autónoma a los cambios de la interfaz. En los casos más difíciles (por ejemplo, cambiar tanto la posición como la etiqueta de un botón), permita que el usuario cambie el comportamiento de forma interactiva, a veces incluso con un simple clic.
- Sin guión: el texto se genera de forma transparente, sin necesidad de desarrollar ningún código.
- Multinavegador y multidispositivo: las herramientas de última generación nos permiten crear pruebas que funcionan en diferentes plataformas, lo que ahora es un requisito indispensable.
- Mantenimiento nulo o mínimo: Gracias a la generación automática y la autorreparación, es posible crear pruebas que se mantengan al día con los desarrollos y las liberaciones sin derramar sangre.
Los principales jugadores
ellos funcionan
Functionize se presenta como «la primera plataforma de pruebas totalmente autónoma». La característica más interesante es la creación autónoma de pruebas a partir de una lista de pruebas escritas en lenguaje natural, hasta PNL. Las pruebas se crean con muchas capturas de pantalla en las que se puede hacer clic, la plataforma se «adapta» a la aplicación a través de Aprendizaje automático algoritmos y se vuelve más robusto a los cambios de diseño a medida que crece el número de ejecuciones. Puedes ver una presentación de las características más interesantes a continuación.
https://vimeo.com/284729631
herramientas de aplicación
La característica principal que afirman es la «Prueba de validación visual», que es la capacidad de validar diseños completos imitando procesos visuales humanos, sin necesidad de calibración o configuración. El sistema utiliza algoritmos de IA adaptativos que pueden identificar posibles errores de GUI con ciertos niveles de confianza, sin llamar explícitamente a los elementos del código.
![Resultado de imagen para aplicaciones](https://applitools.com/images/videos/step2_thumbnail.jpg)
Otra característica interesante es poder integrar la plataforma con cualquier texto existente, gracias a una compatibilidad particularmente amplia de plataformas y frameworks soportados.
Tricentis Tosca
«Test Automation @ DevOps speed» es el lema de Tricentis, en el que Tosca destaca por su automatización de pruebas y Flood por sus pruebas de rendimiento.
![](https://www.nonteek.com/wp-content/uploads/2018/11/Modelbased_Testautomation-1024x576.png)
Otros
Recursos
Cómo utilizar la automatización de pruebas de IA (qainfotech)
Reinventar las pruebas para impulsar la transformación digital (devops.com)
Ocho herramientas innovadoras de automatización de pruebas de IA para el futuro: la tercera ola (joecolantonio.com)
Marlabs y Functionize se asocian para transformar las pruebas de software (marlabs)
Cómo el aprendizaje automático y la inteligencia artificial aportan una nueva dimensión a las pruebas de software (haciadatascience.com)
Inteligencia artificial: nuevos rumores en las pruebas de automatización (xoriant)
Aprovechando la IA en el control de calidad (infosys)
McKinsey: IA, empleos y automatización de la fuerza laboral (zdnet)
Las 10 mejores herramientas de prueba de automatización en 2018 (guru99)
Andrea ha trabajado en TI durante casi 20 años, cubriendo todo, desde desarrollo hasta análisis de negocios y gestión de proyectos.
Hoy podemos decir que es un gnomo desenfadado, apasionado de las Neurociencias, la Inteligencia Artificial y la fotografía.