PROGRAMMATIC SPAIN

View Original

Cómo utilizar ChatGPT para la automatización de pruebas

La automatización de pruebas es una tarea importante en el desarrollo de software, necesaria para la rápida ejecución de casos de prueba con el fin de comprobar la coherencia y la detección temprana de errores. Una de las IA más practicas y utilizadas, ChatGPT, es un modelo de lenguaje desarrollado por OpenAI. Tiene numerosas funcionalidades y ayuda a realizar con eficacia tareas como la automatización de pruebas. ChatGPT puede integrarse en el conjunto de herramientas de automatización de pruebas para validar datos, agilizar la generación de casos de prueba y simplificar escenarios complejos. En este artículo conocemos el paso a paso de su funcionamiento y el caso práctico que ha llevado a cabo el medio Simplilearn.

Comprendiendo ChatGPT

Para obtener un mejor resultado de ChatGPT en pruebas de automatización, es importante entender su mecanismo de funcionamiento. Se divide en tres partes:

  • Entrenamiento: Se entrena a través de numerosos recursos donde aprende reglas lingüísticas, patrones y contexto.

  • Comprensión lingüística: Analiza lo que se le pide y comprende el contexto en el que se produce.

  • Generación del texto: La respuesta textual se genera a partir de la comprensión del paso anterior.

Ventajas de ChatGPT en la automatización de pruebas

  • Genera rápidamente casos de prueba

  • Genera ideas e hipótesis para las consultas

  • Mejora la cobertura de las pruebas

  • Eficaz para pruebas generalizadas

  • Proporciona formatos estandarizados de casos de prueba

  • Ahorra tiempo y costes

  • Mejora la productividad

  • Integración con marcos de automatización

Ejemplos de uso de ChatGPT para Pruebas de Automatización

Escribir scripts de prueba con ChatGPT

ChatGPT puede generar scripts de prueba asumiendo de forma independiente diferentes escenarios en su automatización. El funcionamiento completo del mismo se pone de manifiesto cuando Simplilearn introduce la consulta de prueba "crear un script de prueba con 2 métodos supuestos para abrir el sitio web de una escuela y descargar el folleto". ChatGPT asume dos métodos, uno para descargar directamente el folleto a través del botón disponible, mientras que otro sirve para navegar por el sitio y llegar a la ubicación deseada para descargarlo.

Generación de datos de prueba

La automatización de pruebas ChatGPT implica la generación de datos de prueba. En este caso, se generan con la solicitud "generar datos de prueba de 10 pacientes de forma tabulada para investigar el microbioma intestinal de pacientes que padecen diabetes, ECV. Asegúrate de considerar todos los parámetros relevantes". ChatGPT generó los datos de prueba teniendo en cuenta múltiples parámetros directamente asociados. Además, también informó sobre la generación aleatoria e irreal de datos y la importancia de tomar datos reales.

Uso de ChatGPT para cambiar y corregir código
Simplilearn supone una simulación para indicar el movimiento del citoesqueleto (estructura biológicamente celular). Esta estructura es responsable del movimiento de las células, como las células inmunes que combaten las infecciones. La pregunta para arreglar el código es: "Tengo una función Python para simular el movimiento del citoesqueleto. Pero la simulación parece incapaz de representar con precisión los filamentos de actina y miosina. ¿Cómo arreglar el código para esto?" La automatización de pruebas ChatGPT solucionó el error introduciendo movimiento y pasos temporales aleatorios y mejorando la interacción entre ambos.

Diseñar muestras en casos de prueba
Los grupos sanguíneos de los seres humanos presentan múltiples alelos, lo que significa que el grupo sanguíneo puede tener diferentes genotipos. En este caso se considera para predecir el grupo sanguíneo de un niño. La instrucción de ChatGPT para la automatización de pruebas que añade Simplilearn es: "Casos de prueba para comprobar la probabilidad de la presencia de un grupo sanguíneo específico en un niño. Considere un escenario real en el que el grupo sanguíneo puede tener dos genotipos".

Formato de los datos

Las secuencias de ADN se almacenan en varios formatos. Esta consulta de Simplilearn se basó en los formatos FASTA y GenBank. El primero sólo proporciona la secuencia de ADN, mientras que el segundo lleva asociada otra información múltiple. En la prueba de automatización de ChatGPT para el formateo de datos, la pregunta era "Escribe un programa en Python y R para convertir las secuencias de ADN y proteínas del formato FASTA al formato GenBank simultáneamente". ChatGPT proporciona un programa independiente para cada lenguaje de programación para la manipulación de datos/secuencias utilizando bibliotecas específicas.

Análisis de los resultados de las pruebas

Las mutaciones son cambios en las secuencias genéticas. Con respecto a su inmensa importancia, se usó ChatGPT para la automatización de pruebas para comparar la frecuencia de mutación. Aquí está el prompt que introduce Simplilearn: "Analice los resultados de dos secuencias aleatorias de ADN con diferentes tasas de mutación. Indique la frecuencia de los diferentes tipos de mutaciones en ella".

Retos y limitaciones del uso de ChatGPT para la automatización de pruebas

Aunque ChatGPT no supone ningún esfuerzo para la automatización de pruebas existen ciertas limitaciones asociadas:

  • Puede malinterpretar las indicaciones.

  • Las hipótesis y la capacidad para simular escenarios o condiciones son limitadas.

  • Incapacidad para inferir a partir de consultas ambiguas.

  • Las respuestas son más generalizadas.

  • Proporcionar información confidencial sobre experimentos e innovación es arriesgado.

  • La incapacidad de interactuar realmente con experimentos o software reales limita su capacidad de adaptación.

  • No es adecuado para escenarios de prueba complejos.

  • Se observan errores de codificación y de hecho sin previo aviso.

  • Se requiere validación humana para añadir a las tareas ya disponibles

Mejores prácticas para utilizar ChatGPT en la automatización de pruebas

He aquí algunos consejos, según Simplilearn para superar los múltiples retos a los que puede enfrentarse un usuario al realizar la automatización de pruebas:

  • Sea específico con las palabras clave

  • Utilizar el propio ChatGPT para generar las ideas

  • Garantice la validación manual de su consulta centrándose en cada línea y paso

  • Evitar compartir información o ideas sensibles

  • Centrarse en la metodología de ChatGPT para desarrollar respuestas y modificarlas en consecuencia

  • Asegúrese de proporcionar contexto sobre sus consultas

  • Proporcionar información de fondo, específicamente para el dominio en cuestión

  • Integrar ChatGPT con el conjunto de herramientas de automatización tradicional

  • Considere cuidadosamente los posibles sesgos de ChatGPT y compruebe los resultados en consecuencia

Fuente: Simplilearn