Pruebas y calidad de código con Copilot

Desarrollo de software con GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Lo que has aprendido

 

  • Completado de código — sugerencias al escribir
  • Copilot Chat — preguntas, explicaciones y refactorización
  • Modo agente — tareas autónomas en varios pasos
  • Herramientas personalizadas — amplían las capacidades de Copilot
Desarrollo de software con GitHub Copilot

Ahora, a aplicarlo

nanobanana: half: El recorrido de una persona desarrolladora como un camino con tres hitos: testing, security y performance, desde un editor de código hasta una app desplegada, ilustración vectorial plana

 

  • Pruebas — detecta bugs antes de producción
  • Seguridad — detecta vulnerabilidades pronto
  • Rendimiento — escribe código que escale
Desarrollo de software con GitHub Copilot

Copilot facilita las pruebas

nanobanana: half: Un asistente de IA generando código de pruebas en la pantalla de una persona desarrolladora, con marcas verdes junto a los resultados, ilustración vectorial plana

 

  • ✔ Genera suites de pruebas completas
  • 💡 Cubre casos límite
  • 🤖 Maneja el boilerplate
Desarrollo de software con GitHub Copilot

Casos límite que se escapan

 

def calculate_discount(price, discount_pct):
    discount = price * (discount_pct / 100)
    return price - discount

calculate_discount(50, 20)  # → 40.0 ✓

 

¿Pero qué pasa con...

  • price negativo
  • discount_pct > 100
  • Pedido con cantidad cero
Desarrollo de software con GitHub Copilot

[screencast]

Desarrollo de software con GitHub Copilot

[screencast]

Desarrollo de software con GitHub Copilot

Cuándo profundizar

nanobanana: half: Una persona desarrolladora concentrada con un portátil escribiendo un mensaje en una interfaz de chat con IA

Casos simples

  • /tests

 

Casos especiales

Write pytest unit tests for calculate_discount covering: negative price, discount > 100%, and empty item list. Use parametrize for edge cases.

Desarrollo de software con GitHub Copilot

Más allá de las unitarias

nanobanana: half: Una pirámide de pruebas con tres capas horizontales: la base ancha etiquetada unit tests, la capa del medio integration tests y la cima estrecha end-to-end tests

 

  • Unitarias — /tests o un prompt simple
  • Integración — describe cómo se conectan los componentes
  • Extremo a extremo — usa el contexto de todo el código
Desarrollo de software con GitHub Copilot

Pruebas de integración

 

  • Adjunta cada archivo relevante con #file:
  • Describe la interacción y la estrategia de mocking
  • Usa /fixTestFailure si falla una prueba

 

Write integration tests for the checkout flow. Use #file:cart.py and #file:payment.py. Mock the payment gateway and assert that order status updates correctly.

Desarrollo de software con GitHub Copilot

Pruebas extremo a extremo

 

  • @workspace descubre código relevante automáticamente
  • Funciona bien con Playwright y Cypress
  • Usa #terminalLastCommand para depurar fallos

 

@workspace Write Playwright end-to-end tests for the user registration flow. Assert that the confirmation email is triggered.

Desarrollo de software con GitHub Copilot

[screencast]

Desarrollo de software con GitHub Copilot

¡Vamos a practicar!

Desarrollo de software con GitHub Copilot

Preparing Video For Download...