Uso de LLM para la automatización de casos de prueba

23.10.2024

Uso de LLM (ChatGPT) para la automatización de casos de prueba

Cómo la inteligencia artificial allana el camino para la generación automatizada de JavaScript

‍

Beneficios para las empresas y lecciones aprendidas de la práctica

En el dinámico mundo del desarrollo de software, la automatización de pruebas es fundamental para garantizar la calidad y la fiabilidad de las aplicaciones. Muchos equipos de DevOps se basan en el Desarrollo Dirigido por Comportamiento (BDD) para definir con precisión los criterios de aceptación y los casos de prueba, asegurando así que el software cumpla con las expectativas. La llegada de los Modelos de Lenguaje a Gran Escala (LLM) abre nuevas posibilidades en la automatización de pruebas.

En Infometis, nos hemos propuesto evaluar casos de uso innovadores de inteligencia artificial en el desarrollo de software a través de nuestro grupo de aprendizaje de IA, con el fin de demostrar sus ventajas a nuestros clientes. En este artículo, mostramos cómo LLM (Learning Lifecycle Management) simplifica el proceso, desde las historias de usuario y los requisitos hasta las especificaciones BDD y la generación automática de JavaScript. También podrá leer sobre los beneficios que esta tecnología ofrece a las empresas y las lecciones aprendidas al implementar este caso de uso.

Abordar problemas del mundo real

En nuestra última publicación del blog (Grupo de Aprendizaje de IA de Infometis) del 20 de agosto de 2024, sobre la Guía de Transformación de IA en 5 Pasos, ilustramos los pasos que deben considerarse desde la ideación hasta la implementación de un caso de uso de IA. Partiendo de la premisa de no solo comprender la IA en teoría, sino también integrarla activamente en el día a día de la empresa, en Infometis adoptamos un enfoque ascendente. Esto significa que los casos de uso provienen directamente de nuestros empleados, basados ​​en desafíos concretos de su trabajo diario. Este es también el caso aquí: el caso de uso presentado se desarrolló a partir de un problema real planteado por un empleado de Infometis.

El caso de uso se puede resumir en tres pasos:

Paso 1: Se deben crear criterios de aceptación y casos de prueba en BDD (formato Dado-Cuando-Entonces) a partir del requisito (historia de usuario/texto en prosa)

Paso 2: Los casos de prueba en formato Dado-Cuando-Entonces se transforman en un archivo de características de Cucumber

Paso 3: El código JavaScript para la automatización de pruebas se crea a partir del archivo de características de Cucumber

Tras recopilar los requisitos y evaluar la disponibilidad y calidad de los datos, analizamos diversos modelos de lenguaje a gran escala. Desde las primeras pruebas de concepto, ya pudimos obtener resultados positivos en la generación automática de JavaScript para la automatización de casos de prueba.  

‍

Infometis CustomGPT “De BDD a JavaScript”

Para resolver el problema, se configuró una GPT (From BDD to JavaScript) personalizada en esta prueba de concepto. Se definieron las especificaciones relativas a las fuentes de datos, la estructura, el lenguaje y el contexto. Utilizando estas especificaciones estructuradas, el LLM pudo generar un resultado funcional.

‍

Ejemplo práctico: Buscar un curso de formación en la página web de Infometis

Supongamos que tenemos la siguiente historia de usuario:

Historia de usuario (Indicación)

  • Como usuario, me gustaría utilizar la barra de búsqueda de Infometis en el sitio web de Infometis para buscar un curso de formación.
  • Cuando el usuario busca la cadena de búsqueda "ChatGPT Prompt Engineering", quiere ver los resultados de búsqueda para esa cadena de búsqueda

‍

Salida CustomGPT

//

¡Gracias por tu solicitud! Ahora crearé el caso de prueba solicitado en formato Given-When-Then, lo convertiré en un archivo de características de Cucumber y, finalmente, generaré el código JavaScript correspondiente para la automatización de pruebas.

1. Caso de prueba en formato Dado-Cuando-Entonces

Título: Búsqueda de un curso de formación utilizando la cadena de búsqueda "ChatGPT Prompt Engineering"

Dado que el usuario se encuentra en el sitio web de Infometis

Cuando: el usuario introduce la cadena de búsqueda "ChatGPT Prompt Engineering" en la barra de búsqueda y comienza la búsqueda.

Entonces: el usuario debería ver los resultados de búsqueda de "ChatGPT Prompt Engineering".

‍

2. Archivo de características del pepino

3. JavaScript para la automatización de pruebas

Explicaciones sobre JavaScript:

//

‍

Ventajas de usar LLM para generar JavaScript

El uso de modelos de lenguaje grandes para generar JavaScript para la automatización de pruebas ofrece numerosas ventajas que hacen que el proceso de desarrollo sea más eficiente y efectivo. Las ventajas clave incluyen:

1. Conversión automatizada de historias de usuario en especificaciones BDD: Los LLM pueden convertir historias de usuario y requisitos en especificaciones BDD claramente estructuradas en el formato "Dado-Cuando-Entonces". Esto simplifica significativamente la transición del análisis de requisitos a la implementación de pruebas.

2. Generación automatizada de pruebas: Después de convertir las historias de usuario en especificaciones BDD, los LLM pueden convertir directamente estas especificaciones a JavaScript, lo que reduce significativamente el esfuerzo manual necesario para crear pruebas.

3. Ahorro de tiempo: La generación automática de especificaciones y pruebas BDD ahorra un valioso tiempo de desarrollo que puede utilizarse mejor para otras tareas, como desarrollar nuevas funcionalidades o mejorar la experiencia del usuario.

4. Calidad de código consistente: El uso de LLM garantiza que el código generado siga un estándar uniforme, lo que mejora la mantenibilidad y la legibilidad.

5. Escalabilidad:

- Los sistemas LLM permiten a los equipos escalar rápidamente a un gran número de pruebas sin necesidad de realizar ningún esfuerzo manual adicional.

- Mediante un complemento, los requisitos se pueden transferir directamente de Jira a un LLM, lo que hace que el flujo de trabajo sea fluido y eficiente.

Potencial de mejora: El resultado, concretamente el código JavaScript, de CustomGPT se puede utilizar para la automatización de pruebas, pero puede que necesite optimizarse en uno o dos puntos.

Ventajas de los modelos de lenguaje a gran escala (LLM): Las ventajas de los LLM radican en su capacidad para analizar y generar textos, patrones lingüísticos y código, ofreciendo así un enorme potencial. Para resolver este problema, se aplican tanto las capacidades analíticas (búsqueda, extracción, clasificación y ordenación) como las de generación de resultados (generación, resumen, reescritura y traducción) de los LLM.

‍

¿Te gustaría probarlo tú mismo?‍

‍

Te acompañaremos en tu aventura con la IA. Descubre el servicio ideal para ti en nuestra página web: ¡estaremos encantados de ayudarte con tu próximo proyecto!

‍

‍

¡Estamos listos para tu próximo paso!

¿Le gustaría aprovechar nuestra experiencia e implementar innovaciones tecnológicas?

Este sitio web
utiliza cookies.

Las cookies se utilizan para la navegación del usuario y el análisis web, y nos ayudan a mejorar este sitio web. Puede consultar nuestra política de cookies aquí o ajustar su configuración de cookies aquí . Al continuar utilizando este sitio web, acepta nuestra política de cookies.

Todos aceptan
Aceptar selección
Óptimas. Cookies funcionales para optimizar el sitio web, cookies de redes sociales, cookies con fines publicitarios y para ofrecer ofertas relevantes en este sitio web y en sitios web de terceros, así como cookies analíticas para realizar un seguimiento de las visitas al sitio web.
Funcionalidad limitada. Se utilizan varias cookies funcionales para la correcta visualización del sitio web, por ejemplo, para guardar su configuración personal. No se almacena ningún dato personal.
Volver a la descripción general

Hable con un experto

¿Tienes alguna pregunta o necesitas más información? Déjanos tus datos de contacto y te llamaremos.