← Volver al Hub

REPORTE DE BUGS

🐛 ¿Qué es un Bug Report?

Un reporte de bug es un documento que describe un defecto encontrado en el software, con suficiente detalle para que el equipo de desarrollo pueda reproducirlo, entenderlo y corregirlo.

📝 Elementos Esenciales

1. Título Descriptivo

Debe ser claro, conciso y específico. Incluir el módulo afectado.

2. Severidad y Prioridad

CRÍTICA Sistema no funcional, pérdida de datos
ALTA Funcionalidad principal afectada
MEDIA Funcionalidad secundaria con workaround
BAJA Cosmético, no afecta funcionalidad

3. Descripción

Explicación clara del problema observado.

4. Pasos para Reproducir

Lista numerada y detallada de cómo replicar el bug.

5. Resultado Esperado vs Obtenido

Qué debería pasar vs qué pasó realmente.

6. Entorno

7. Evidencias

📋 Ejemplo Completo

🔴 BUG-TRF-042: Transferencias - Error 500 al enviar monto negativo

Severidad: ALTA

Prioridad: Alta

Módulo: Transferencias

Endpoint: POST /transferencias/

Descripción:
Al intentar realizar una transferencia con un monto negativo, la API retorna un error 500 (Internal Server Error) en lugar de validar el input y retornar un 400 (Bad Request) con un mensaje descriptivo.

Pasos para Reproducir:

  1. Acceder a Swagger UI: https://homebanking-demo.onrender.com/docs
  2. Expandir endpoint POST /transferencias/
  3. Hacer clic en "Try it out"
  4. Ingresar el siguiente payload:
{
  "monto": -5000,
  "cuenta_origen": "ACC001",
  "cuenta_destino": "ACC002",
  "descripcion": "Test"
}
  1. Ejecutar request

Resultado Esperado:
Status Code: 400
Response Body:

{
  "exito": false,
  "error": "MONTO_INVALIDO",
  "mensaje": "El monto debe ser mayor a $100"
}

Resultado Obtenido:
Status Code: 500
Response Body:

{
  "detail": "Internal Server Error"
}

Entorno:

  • OS: Windows 11
  • Browser: Chrome 144.0
  • API Version: 1.0.0
  • Environment: Production (Render)

Logs de Consola:

POST https://homebanking-demo.onrender.com/transferencias/ 500
Traceback (most recent call last):
  File "transfers.py", line 24
  ValueError: Monto inválido

✅ Mejores Prácticas

🚫 Errores Comunes

🛠️ Herramientas Recomendadas

📊 Ciclo de Vida de un Bug

  1. New - Bug recién reportado
  2. Assigned - Asignado a un desarrollador
  3. In Progress - En proceso de corrección
  4. Fixed - Corregido, pendiente de verificación
  5. Verified - QA confirma la corrección
  6. Closed - Bug cerrado
  7. Reopened - Si el bug persiste