La IA en las pruebas de software
A medida que aumentan las demandas de los usuarios de SAP, los equipos de pruebas deben dominar ciclos de relanzamiento cada vez más cortos, a menudo incluso varias compilaciones al día para aplicaciones en la nube. Para seguir este ritmo, la garantía de calidad ya no puede dejarse para el final, sino que debe integrarse en todas las fases del proceso DevOps.
Lo que se necesita es un giro a la izquierda en el modelo V: si se tiene en cuenta la calidad ya en la fase de planificación de las aplicaciones, las empresas pueden detectar y resolver los problemas en una fase temprana. Pero, ¿cómo hacerlo ante la reducción de los presupuestos y la falta de trabajadores cualificados? Sin la automatización de las pruebas, ya no es posible. También se utiliza cada vez más la inteligencia artificial.
Los CIO confían en la IA
El 86% de los CIO ya consideran la IA un criterio importante a la hora de seleccionar soluciones de aseguramiento de la calidad, según el Informe Mundial de Calidad de Capgemini. Según un estudio sobre profesionales de DevOps realizado por TechStrong y Tricentis, el 90% de los encuestados ve un potencial considerable en el uso de la IA. Esperan los mayores beneficios en el ámbito de las pruebas.
Las pruebas de interfaz de usuario se utilizan para garantizar que una interfaz de usuario funciona como se desea y ofrece una buena experiencia de usuario. Suelen ser laboriosas y cuestan mucho tiempo porque son difíciles de automatizar. La IA supera este obstáculo. Al simular el comportamiento del usuario humano, puede realizar pruebas de interfaz de usuario independientemente de la perspectiva del usuario.
En las pruebas de interfaz de usuario resulta especialmente difícil adoptar un enfoque de desplazamiento a la izquierda. Esto se debe a que, por regla general, los probadores sólo pueden iniciar la automatización de las pruebas una vez que la interfaz de usuario está completamente desarrollada. Esto ralentiza el lanzamiento. La IA, en cambio, ya puede crear casos de prueba a partir de la maqueta del diseño de una aplicación. Esto permite diseñar casos de prueba de la interfaz de usuario antes incluso de que ésta exista. Las mismas pruebas pueden transferirse después a la aplicación totalmente desarrollada.
Las pruebas visuales se utilizan para garantizar que una interfaz de usuario funciona en distintos dispositivos finales. Comparando una captura de pantalla básica con una futura, es posible descubrir problemas que no se detectan en las pruebas funcionales a nivel del DOM (Document Object Model). Una IA puede automatizar las pruebas visuales. El requisito previo es que se le enseñe a qué señales visuales debe prestar atención.
Incluso un pequeño cambio en una aplicación puede provocar que la identificación de objetos deje de funcionar y las pruebas se interrumpan. Por tanto, los proveedores de control de calidad deben comprobar y adaptar continuamente sus guiones de automatización. Esto lleva mucho tiempo y aumenta los costes de mantenimiento.
En cambio, una IA puede automatizar las pruebas de interfaz de usuario sin identificadores técnicos. Reconoce objetos con la ayuda de redes neuronales en el nivel visual de la interfaz de usuario. Esto significa que ya no pueden surgir problemas debidos a referencias rotas entre objetos e identificadores. La IA visual también hace que los casos de prueba sean independientes de la tecnología subyacente. Esto significa que las pruebas pueden utilizarse en todas las plataformas, independientemente de si una aplicación se ejecuta en un sistema Windows, Android, Apple o en la nube.
Los probadores dedican gran parte de su tiempo a solucionar problemas. Cuando una prueba falla, tienen que determinar minuciosamente por qué no funciona. La IA, en cambio, puede analizar automáticamente los datos de las pruebas fallidas e identificar patrones de error comunes. Después, puede incluso reparar automáticamente problemas comunes, como referencias defectuosas.
Para que las pruebas sean lo más eficaces posible, es importante probar de forma selectiva las áreas que plantean mayor riesgo. En la práctica, esta transparencia suele faltar. Por ello, muchas empresas realizan las pruebas según el principio de la dispersión y acumulan un conjunto de pruebas abultado que se vuelve cada vez más lento. Pero al hacerlo, sólo cubren entre el 20 y el 40 por ciento de sus riesgos empresariales.
DevOps y Low-Code con IA
Una IA puede realizar un análisis de impacto automatizado para identificar los mayores riesgos. De este modo, ayuda a los responsables de calidad a priorizar las pruebas más importantes y probar lo correcto. La IA también puede diseñar casos de prueba automatizados y lograr una cobertura óptima de las pruebas.
Para aplicar una estrategia holística de ingeniería de calidad, las empresas necesitan el mejor apoyo técnico posible. La IA ayuda a integrar la automatización de pruebas en los procesos DevOps en una fase temprana. La mejor forma de introducir la nueva tecnología es con una plataforma low-code/no-code. Artículo de portada del E3 sobre el tema.