Usando ChatGPT para Pruebas Automatizadas

Ari Mahpour
|  Creado: Mayo 3, 2023  |  Actualizado: Septiembre 24, 2024
Usando ChatGPT para Pruebas Automatizadas

Ha estado en todas las noticias y si aún no has oído hablar de ello, es momento de echar un vistazo a ChatGPT de OpenAI. Es una herramienta increíblemente poderosa que funciona con Inteligencia Artificial. El concepto es que puedes preguntarle casi cualquier cosa o darle cualquier tarea y, hipotéticamente, respondería con la respuesta correcta o completaría la tarea por ti. Por ejemplo, la gente lo utiliza para escribir discursos, componer correos electrónicos, investigar temas o incluso escribir código. Aunque el modelo está lejos de ser perfecto, sigue siendo muy impresionante y contiene mucha buena información. Nuestro propio Mark Harris recientemente me demostró esta capacidad con un simple script que controla un instrumento para pruebas automatizadas. Decidí adentrarme en este mundo y experimentar con ChatGPT y las pruebas automatizadas. En este artículo, vamos a explicar cómo empezar con ChatGPT, aprender cómo hacerle preguntas y, lo más importante, entender cuáles son las preguntas correctas que se necesitan para lograr los resultados que estás buscando.

Comenzando con ChatGPT

Antes de sumergirte, querrás familiarizarte con ChatGPT y lo que tiene para ofrecer. Primero navega a chat.openai.com y regístrate o inicia sesión con una cuenta. En el momento de escribir este artículo, la herramienta se ofrecía de forma gratuita, así que deberías poder empezar de inmediato. Comienza con preguntas básicas como “¿cuánto es 1 + 1?” o “¿de qué color es el cielo?” Después de eso, puedes comenzar a asignarle tareas como componer un ensayo, redactar un correo electrónico o escribir una función simple en software. La interfaz es limpia y sencilla, solo escribe en el cuadro de mensaje en la parte inferior como si enviaras cualquier mensaje y haz clic en enviar (o presiona enter).

 

Using ChatGPT, Automated Testing, AI, Machine Learning, Embedded Software, Altium
Figura 1: Cuadro de mensaje con ChatGPT

Escribiendo Bibliotecas de Software

Una vez que te sientas cómodo teniendo una conversación con ChatGPT, puedes comenzar a experimentar con hacer que genere código para ti. Solicitudes básicas como "escribe una función en C para sumar dos números" es una tarea trivial que puede manejar fácilmente. Comienza a complicarse una vez que agregas más detalles a la solicitud. Me gusta tener todo mi código bien organizado en clases pequeñas y ordenadas, así que le digo explícitamente a ChatGPT que cree una clase que haga algo por mí. Aquí hay un ejemplo:

Test Automation, Chatbot Testing, Software Testing
Figura 2: Solicitud para la generación de clase

 

También notarás que le pedí que generara pruebas para mí usando Pytest. Manejó esta solicitud también, pero, desafortunadamente, el código tenía un montón de errores que fueron algo desafiantes de arreglar. Aún así, fue un gran proceso para ver cómo estructuraba el código y las pruebas unitarias. Ciertamente, aprendí una o dos cosas al verlo generar código de una manera que yo no habría hecho por mí mismo.

Generando Código Instructivo en ChatGPT

Un enfoque descrito anteriormente es tener a la IA entregándote la herramienta (es decir, la biblioteca de software) para que puedas construir el producto (es decir, el script de prueba). Otro enfoque es darle a ChatGPT especificaciones de prueba específicas y hacer que genere el código por ti. Esto es excelente para generar scripts de prueba rápidos y sucios para empezar antes de necesitar ajustar tu configuración y casos de prueba. Veamos un ejemplo.

He proporcionado el siguiente conjunto de instrucciones, muy simple, a ChatGPT para probar un convertidor de potencia conmutado:

Escríbeme un script en Python usando Pytest para realizar lo siguiente:

1. Encender una fuente de alimentación Rigol DP832 y configurarla a 5V y 2A en el canal 1

2. Encender una carga electrónica Rigol DL3021 y configurar la carga a 1.5A de corriente constante durante 3 minutos

3. Apagar el DP832 y el DL3021

No he incorporado pruebas específicas en este caso. Todo lo que quiero hacer es observar que mi convertidor DC-DC puede manejar una carga de 1.5A durante 3 minutos. El código generado fue bastante decente, pero de vez en cuando aparecían errores que lo hacían un poco desafiante de corregir. También puedes decirle a ChatGPT que incorpore afirmaciones específicas o pruebe fallos específicos, pero yo solo estaba interesado en probar lo básico con la aplicación de IA. Además, incluso puedes solicitarle que te escriba una clase de prueba (con o sin simulaciones) para validar el código. De nuevo, no todo estaba perfectamente alineado. Tuve que masajear el código en sí y la clase de prueba para que funcionara perfectamente. 

Conclusión

En resumen, la experimentación con ChatGPT fue una buena experiencia. Fue agradable tener un “agregador” para juntar algunos conceptos en código sin tener que hacer el trabajo manual o buscar en la web ejemplos. Aunque no es perfecto, fue útil y divertido experimentar con él. Después de revisar este artículo, deberías tener un entendimiento decente sobre cómo:

  1. Accede a ChatGPT
  2. Hazle preguntas básicas
  3. Crea bibliotecas de software basadas en una solicitud
  4. Crea código de ejecución de pruebas basado en una solicitud

Te animo encarecidamente a que lo compruebes y ejecutes los ejemplos que he proporcionado en este artículo o pruebes algunos de los tuyos. Ten en cuenta que ChatGPT todavía está, técnicamente, en beta, así que no tengas expectativas demasiado altas. Sé paciente y asegúrate de decirle cuando cometa errores para que pueda "aprender" de sus equivocaciones. ¡Feliz programación!

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Ari es un ingeniero con una amplia experiencia en diseño, fabricación, pruebas e integración de sistemas eléctricos, mecánicos y de software. Le apasiona integrar a los ingenieros de diseño, de verificación y de pruebas para que trabajen juntos como una unidad cohesiva.

Recursos Relacionados

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.