Está en la página 1de 11

Solución | Calidad

Guía práctica

IA Generativa
en la Calidad
del Software:
5 casos de uso
en prácticas de QA
Índice
03
Introducción

04
¿Qué es la IA Generativa? | ¿Cómo se relaciona la
IA Generativa con el mundo del QA?

05
¿Por qué es importante empezar a utilizar estas
herramientas en el ámbito de QA? | El papel de la
IA Generativa como “copiloto”

06
¿Qué casos de uso pueden ser aplicados con la
IA Generativa en las prácticas de QA?

10
¿Qué podemos concluir respecto a comenzar este
camino del uso de la IA Generativa en QA?

02
Introducción
La inteligencia artificial generativa está tomando un protagonismo
nunca antes visto en el ámbito mundial y en especial en el ciclo de vida
del desarrollo de software.

El siguiente documento tiene como objetivo guiar a nuestros clientes


en el camino de la comprensión de cómo estas herramientas podrán
ser un aporte en el mundo de la calidad del software a nivel de la
aceleración y productividad de las tareas de QA.

03
¿Qué es la IA Generativa?
Para introducirnos en el mundo de la utilización de herramientas con
inteligencia artificial generativa, es necesario comprender en primer
lugar qué significa.

IA Generativa se define como el subcampo de la inteligencia


artificial que se centra en el desarrollo de modelos que pueden
crear nuevos datos, como texto, imágenes, audio y video.

¿Cómo se relaciona la IA
Generativa con el mundo
del QA?
Los modelos que permiten generar nuevos contenidos tienen la
capacidad de contextualizarse en base a la información de entrada
que se le entregue a través de una pregunta en lenguaje natural, para
que posteriormente interprete dichos datos y realice una predicción, la
cual consistirá en su respuesta.

Bajo este principio, en el ámbito de QA lo que se hace es entregarle


información de contexto asociada a las prácticas de calidad
requeridas, para que posteriormente las respuestas que prediga el
modelo tengan relación en este caso, a las prácticas de QA. Es decir, si
se explica al modelo qué es un caso de prueba y cómo se debe escribir
correctamente, el modelo tendrá la capacidad posteriormente de
escribir nuevos casos de prueba en base a ese contexto que le entregó
el Ingeniero/a QA.

04
¿Por qué es importante
empezar a utilizar estas
herramientas en el ámbito
de QA?
El mayor valor y potencial de estas herramientas es que son
capaces de realizar tareas de interpretación de información y
posterior generación de contenido a través de predicciones de
respuestas en tan solo segundos, por lo que se convirtieron en
aliadas necesarias a la hora de tener que mejorar la productividad
de las tareas de los Ingenieros/as QA, dado que el mercado actual
requiere una gran velocidad para lograr el mejor time to market en
sus productos.

El papel de la IA Generativa
como “copiloto”
La figura más conocida de estas herramientas en la actualidad es la de
los chatbots, los cuales se comenzaron a convertir en asistentes que
utilizan inteligencia artificial generativa, para apoyar a las personas en
sus tareas mediante respuestas asociadas a preguntas en lenguaje
natural que realizan los usuarios bajo ciertos contextos.

Sin embargo, como la esencia de estos modelos es generar contenido


en base a predicciones, puede suceder que muestre una información
que no necesariamente tenga relación con el contexto solicitado, dado
que no logró interpretar correctamente la pregunta solicitada.

05
A raíz de esta situación, es clave considerar que en este caso los
Ingenieros/as QA son los que pilotean o guían a estos modelos,
mediante los diferentes contextos y preguntas requeridas, para
que pueda asistirlos en este caso en las prácticas de QA.

Por eso, siempre se habla que estos modelos no sean 100% autónomos
y el humano debe estar como parte de su iteración, por lo que en
definitiva son herramientas de asistencia y no herramientas de
automatización como tal.

¿Qué casos de uso pueden


ser aplicados con la IA
Generativa en las prácticas
de QA?
Para lograr este objetivo, se sigue la misma dinámica comentada
previamente, en donde se guía y contextualiza al modelo bajo
distintas actividades, para que posteriormente responda en base al
contexto de QA.

En el momento que se logra contextualizar al modelo bajo un ámbito


en específico, como lo es QA en este caso, el concepto que se suele
utilizar es el de agentes, los cuales en este caso tendrán distintas
tareas que deberán realizar, cada una asociada a una práctica de QA
en particular.

Para explicar situaciones en que serviría utilizar estos agentes,


consideraremos un ejemplo en donde en una célula de trabajo bajo
un enfoque de desarrollo ágil, se tendrá que certificar un sistema

06
que contiene un carro de compras, y en este caso los Ingenieros/as QA
harán uso de estos para acelerar su productividad.

1 - Estrategia de pruebas

El Ingeniero/a QA requiere definir la estrategia para certificar el


carro, en donde ya tiene documentado el requerimiento y el flujo de
negocio, por lo que posteriormente solicita asistencia a su agente
especialista en armado de estrategias de prueba.

Una vez que le entrega la información que ya posee de contexto, el


agente contesta en base a una estructura de estrategia con el
contenido generado bajo el contexto del carro de compras.

Esta tendrá como estructura los componentes a probar, riesgos,


criterios de aceptación y planificación según lo que se requiera, para
poder lograr un artefacto de calidad.

Finalmente, se realiza el proceso iterativo de revisión y mejora entre


el asistente y el Ingeniero/a QA, en donde va solicitando correcciones
y/o mejoras a cada punto de la estrategia, hasta que se logre un
contenido aceptable según las buenas prácticas y experiencia que
posee la persona.

2 - Diseño de pruebas

Posteriormente a definida la estrategia de qué tipos de pruebas se


realizarán, el Ingeniero/a QA tendrá que comenzar con la construcción
de los casos de prueba, en donde ya se juntó con el

07
Product Owner y el equipo de desarrollo para determinar cuál es la
historia de usuario y sus respectivos criterios de aceptación que hay
que dar cobertura.

En base a esto, acude a su agente especialista en casos de prueba, el


cual escribe combinaciones de casos de prueba ya sean positivos o
negativos, en lenguaje Gherkin siguiendo las buenas prácticas, y en
donde el contexto de información de entrada fue la historia de usuario
y los criterios de aceptación.

Finalmente, se realiza el proceso iterativo de revisión y mejora entre el


asistente y el Ingeniero/a QA, en donde va solicitando correcciones y/o
mejoras a cada caso de prueba que se va generando, hasta que se
logre un contenido aceptable según las buenas prácticas y experiencia
que posee la persona.

3 - Scripting de pruebas

Una vez que ya se tienen diseñados los casos de prueba, los cuales
fueron realizados en conjunto con el agente para generación de
casos, el Ingeniero/a QA reutiliza el contenido de este caso de
prueba y ahora emplea el agente que genera scripts de prueba
automatizados, el cual solicita la información del caso, el flujo de
negocio, la herramienta y lenguaje a utilizar, la ruta o dirección del
sistema y por último, un extracto del código fuente.

Con esta información, el agente se contextualiza con la información


suficiente para entregar un primer borrador del script, el cual es
depurado por el encargado de QA para ir validando si compila o no,
arreglando librerías o funciones que el modelo no haya podido
interpretar correctamente, hasta lograr un resultado aceptable.

08
4 - Gestión de datos de prueba

A continuación, para realizar la ejecución de los casos de prueba ya


sea en forma manual o automatizada con las regresiones, estos
requerirán datos de prueba, por lo que el Ingeniero/a QA se asistirá
por un agente que genera datos de prueba sintéticos basados en
las reglas y restricciones definidas por el negocio y que estarán
registradas en alguna base de datos o planilla.

El Ingeniero/a QA irá interactuando junto a este agente contextualizado


bajo esa planilla, para obtener las casuísticas necesarias para dar
cobertura a sus casos, como por ejemplo clientes que cumplan alguna
característica de productos configurados.

Todos estos serán revisados por el Ingeniero/a QA para garantizar la


consistencia y calidad del resultado generado, para posteriormente
ser utilizados en las respectivas ejecuciones.

5 - Análisis de resultados de pruebas

Finalmente, una vez que se tengan los resultados de las pruebas con
los determinados indicadores funcionales tales como cantidad de
casos pasados, fallidos, defectos, etc., y por otro lado a nivel no
funcional de los resultados de las pruebas de performance, el
Ingeniero/a QA acudirá a su agente que genera reportes bajo alguna
estructura definida a nivel de cliente que posee el contenido en
base a los resultados, incluyendo métricas y recomendaciones.

09
El Ingeniero/a QA irá interactuando junto a este agente con la
información generada del reporte, para ir ajustando y/o mejorando
la información, para que se adecue según el nivel aceptable que se
requiere a nivel del cliente, entre ellas por ejemplo apoyarse en la
generación de informes con una orientación más técnica y
otros más ejecutivos.

¿Qué podemos concluir


respecto a comenzar este
camino del uso de la IA
Generativa en QA?
Como se observa, el Ingeniero/a QA podrá acelerar cada una de
estas prácticas de QA mediante estos asistentes que actúan como
agentes para cada caso de uso, facilitando tareas que consistían en
solamente escribir de forma mecanizada y que podían tomar horas,
y ahora esto se traduciría en segundos, por lo que las delegaríamos
a las herramientas que utilizan IA Generativa.

Por lo tanto, el rol de QA estará más orientado a generar pruebas


más creativas y de mayor calidad, validando estos contenidos como
parte del proceso de iteración entre humano y máquina, pero
gastando su esfuerzo y energía en lo importante, que se resume en
lo siguiente:

10
Pensar la mejor forma de certificar un software entendiendo
el sistema a nivel de negocio y a nivel técnico.

Planificar las prácticas de QA, bajo un tipo de razonamiento


analítico, que permitirá tomar la decisión de qué estrategia
adoptar, para garantizar la calidad de ese sistema.

Considerar el funcionamiento de este sistema en el mundo


real, para replicar lo que eventualmente realizaría un
usuario final en la aplicación.

En resumen, los próximos pasos de esta travesía será comenzar a


educarse en el uso de estas herramientas aplicadas al QA, en donde
para cada actividad que solamente requería realizar alguna acción
más bien mecanizada o monótona, la ejecutarán los agentes por
cada caso de uso, optimizando los tiempos por práctica,
permitiendo que esa ganancia generada, el Ingeniero/a QA, ahora la
gaste en pensar y planificar la mejor estrategia de certificación para
el respectivo sistema.

11

También podría gustarte