Probar gratis
9 min lectura Guide 724 of 877

Integración de QA con GitScrum

La calidad no es una fase - está integrada en cada paso. GitScrum ayuda a los equipos a integrar QA a lo largo del ciclo de vida del desarrollo con flujos de testing, seguimiento de bugs y métricas de calidad que detectan problemas temprano.

QA en Ágil

Testing Shift-Left

ENFOQUE DE TESTING SHIFT-LEFT:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ TRADICIONAL (Pesado a la derecha):                         │
│                                                             │
│ [Requisitos]→[Diseño]→[Desarrollo]→[Testing]→[Release]    │
│                                          ▲                 │
│                                          │                 │
│                                     Todo testing          │
│                                     ocurre aquí           │
│                                     (bugs costosos)        │
│                                                             │
│ SHIFT-LEFT (Continuo):                                      │
│                                                             │
│ [Requisitos]→[Diseño]→[Desarrollo]→[Testing]→[Release]    │
│       ▲           ▲          ▲          ▲                  │
│       │           │          │          │                  │
│   Revisar      Revisar    Testing    Validación           │
│   y test       diseños    durante    final                │
│   criterios    temprano   dev                             │
│                                                             │
│ BENEFICIOS:                                                 │
│ • Bugs encontrados antes = más baratos de arreglar        │
│ • Calidad construida, no testeada después                 │
│ • Ciclos de release más rápidos                           │
│ • Menos retrabajo                                         │
│                                                             │
│ COSTO DE BUG POR FASE:                                      │
│ Requisitos: $1                                             │
│ Diseño: $5                                                 │
│ Desarrollo: $10                                            │
│ Testing: $20                                               │
│ Producción: $100+                                          │
└─────────────────────────────────────────────────────────────┘

Rol de QA en el Sprint

QA A LO LARGO DEL SPRINT:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ PLANIFICACIÓN DE SPRINT:                                    │
│ • QA revisa historias próximas                             │
│ • Clarificar criterios de aceptación                       │
│ • Identificar complejidad de testing                       │
│ • Estimar esfuerzo de testing                              │
│ • Señalar riesgos potenciales                              │
│                                                             │
│ INICIO DEL SPRINT:                                          │
│ • Escribir casos de prueba para items del sprint           │
│ • Revisar diseños para testabilidad                        │
│ • Configurar datos/entornos de prueba                      │
│ • Planificación de automatización                          │
│                                                             │
│ MITAD DEL SPRINT:                                           │
│ • Probar features conforme se completan                    │
│ • Reportar bugs inmediatamente                             │
│ • Verificar correcciones de bugs                           │
│ • Testing exploratorio                                     │
│ • Actualizar casos de prueba según se necesite             │
│                                                             │
│ FINAL DEL SPRINT:                                           │
│ • Testing de regresión                                     │
│ • Testing de integración                                   │
│ • Verificaciones puntuales de rendimiento                  │
│ • Aprobación de items completados                          │
│                                                             │
│ FIN DE SPRINT:                                              │
│ • Validación de release                                    │
│ • Participación en demo                                    │
│ • Input de retro sobre calidad                             │
│                                                             │
│ CLAVE: Sin "fase de testing" - testing es continuo         │
└─────────────────────────────────────────────────────────────┘

Integración de Flujo de Trabajo

Ciclo de Vida de Historia

QA EN FLUJO DE TRABAJO DE HISTORIA:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ BACKLOG → DEV → CODE REVIEW → QA → DONE                    │
│                                                             │
│ BACKLOG:                                                    │
│ ☐ Criterios de aceptación definidos                        │
│ ☐ QA revisó y acordó                                       │
│ ☐ Enfoque de testing identificado                          │
│                                                             │
│ EN DESARROLLO:                                              │
│ ☐ Desarrollador ejecuta unit tests                         │
│ ☐ Happy path básico verificado                             │
│ ☐ PR incluye cobertura de tests                            │
│                                                             │
│ CODE REVIEW:                                                │
│ ☐ Tests revisados con código                               │
│ ☐ Requisitos de cobertura cumplidos                        │
│ ☐ Todas las verificaciones pasando                         │
│                                                             │
│ TESTING QA:                                                 │
│ ☐ Criterios de aceptación verificados                      │
│ ☐ Casos edge testeados                                     │
│ ☐ Regresión verificada                                     │
│ ☐ Cross-browser si aplica                                  │
│ ☐ Aprobación de QA dada                                    │
│                                                             │
│ DONE:                                                       │
│ ☐ Todos los criterios cumplidos                            │
│ ☐ Sin bugs abiertos                                        │
│ ☐ Documentación actualizada                                │
│ ☐ Listo para release                                       │
│                                                             │
│ RUTA BLOQUEADA:                                             │
│ Si QA encuentra problemas → Volver a Desarrollo            │
│ Debe arreglarse antes de Done                              │
└─────────────────────────────────────────────────────────────┘

Flujo de Trabajo de Bugs

FLUJO DE TRACKING DE BUGS:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ BUG ENCONTRADO → TRIAGE → DEV → VERIFICAR → CERRADO       │
│                                                             │
│ FORMATO DE REPORTE DE BUG:                                  │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ TÍTULO: [Área] Descripción clara del problema          ││
│ │                                                         ││
│ │ SEVERIDAD: Crítico/Alto/Medio/Bajo                      ││
│ │ ENTORNO: Producción/Staging/Dev                         ││
│ │ NAVEGADOR/DISPOSITIVO: Chrome 120, macOS               ││
│ │                                                         ││
│ │ PASOS PARA REPRODUCIR:                                  ││
│ │ 1. Ir a página de checkout                             ││
│ │ 2. Agregar item al carrito                             ││
│ │ 3. Clic en "Aplicar cupón"                             ││
│ │                                                         ││
│ │ ESPERADO: Descuento aplicado al total                  ││
│ │ ACTUAL: Mensaje de error "Cupón inválido"              ││
│ │                                                         ││
│ │ SCREENSHOT: [adjunto]                                   ││
│ │ ERRORES DE CONSOLA: [adjunto]                          ││
│ │ HISTORIA RELACIONADA: #123                              ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ DEFINICIONES DE SEVERIDAD:                                  │
│ Crítico: Sistema caído, pérdida de datos, seguridad       │
│ Alto: Feature principal rota, sin workaround              │
│ Medio: Feature afectada, workaround existe                │
│ Bajo: Problema menor, cosmético, caso edge                │
│                                                             │
│ SLA POR SEVERIDAD:                                          │
│ Crítico: Arreglar inmediatamente, mismo día               │
│ Alto: Arreglar dentro del sprint                          │
│ Medio: Arreglar dentro de 2 sprints                       │
│ Bajo: Backlog, arreglar cuando sea conveniente            │
└─────────────────────────────────────────────────────────────┘

Prácticas de Testing

Tipos de Tests

PIRÁMIDE DE TESTS:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│                        /\                                   │
│                       /  \                                  │
│                      / E2E \     Lentos, costosos, pocos   │
│                     /──────\                                │
│                    /        \                               │
│                   / Integración\  Velocidad media, más     │
│                  /──────────────\                           │
│                 /                \                          │
│                /   Unit Tests     \ Rápidos, baratos, muchos│
│               /────────────────────\                        │
│                                                             │
│ UNIT TESTS (70-80%):                                        │
│ • Rápidos de ejecutar                                      │
│ • Testean componentes individuales                         │
│ • Escritos por desarrolladores                             │
│ • Ejecutan en cada commit                                  │
│                                                             │
│ TESTS DE INTEGRACIÓN (15-20%):                              │
│ • Testean interacciones de componentes                     │
│ • Testing de API                                           │
│ • Integración con base de datos                            │
│ • Ejecutan en PR/merge                                     │
│                                                             │
│ TESTS E2E (5-10%):                                          │
│ • Testean flujos completos de usuario                      │
│ • Testing de navegador/UI                                  │
│ • Lentos, ejecutar menos frecuentemente                    │
│ • Solo rutas críticas                                      │
│                                                             │
│ ADEMÁS:                                                     │
│ • Testing exploratorio (manual, liderado por QA)           │
│ • Testing de rendimiento (periódico)                       │
│ • Testing de seguridad (periódico)                         │
└─────────────────────────────────────────────────────────────┘

Testing de Aceptación

TESTING DE CRITERIOS DE ACEPTACIÓN:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ HISTORIA: Usuario puede aplicar cupón de descuento        │
│                                                             │
│ CRITERIOS DE ACEPTACIÓN:                                    │
│                                                             │
│ AC1: Cupón válido reduce total                             │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ DADO QUE tengo items en carrito totalizando $100       ││
│ │ CUANDO ingreso cupón válido "SAVE20"                   ││
│ │ ENTONCES el total muestra $80                          ││
│ │ Y mensaje "Descuento 20% aplicado" se muestra          ││
│ │                                                         ││
│ │ RESULTADO DEL TEST: ✅ PASA                             ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ AC2: Cupón inválido muestra error                          │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ DADO QUE estoy en checkout                             ││
│ │ CUANDO ingreso cupón inválido "EXPIRED"                ││
│ │ ENTONCES error "Cupón no válido" se muestra            ││
│ │ Y el total permanece sin cambios                       ││
│ │                                                         ││
│ │ RESULTADO DEL TEST: ✅ PASA                             ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ AC3: Un cupón por orden                                    │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ DADO QUE cupón ya está aplicado                        ││
│ │ CUANDO intento agregar otro cupón                      ││
│ │ ENTONCES "Solo un cupón por orden" se muestra          ││
│ │                                                         ││
│ │ RESULTADO DEL TEST: ❌ FALLA                            ││
│ │ BUG: Segundo cupón reemplaza primero sin mensaje       ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ ESTADO DE HISTORIA: Bloqueada - Bug encontrado en AC3     │
└─────────────────────────────────────────────────────────────┘

Métricas de Calidad

Rastreando Calidad

DASHBOARD DE MÉTRICAS DE CALIDAD:
┌─────────────────────────────────────────────────────────────┐
│ Reporte de Calidad Sprint 24                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ MÉTRICAS DE BUGS:                                           │
│ ├── Bugs encontrados en sprint: 12                         │
│ ├── Bugs arreglados en sprint: 15                          │
│ ├── Tasa de escape de bugs: 2 (llegaron a producción)     │
│ └── Bugs críticos: 0 ✅                                    │
│                                                             │
│ TENDENCIA DE BUGS:                                          │
│ Bugs│                                                       │
│   20│ ▄                                                    │
│   15│ █ ▄                                                  │
│   10│ █ █ ▄   ▄                                           │
│    5│ █ █ █ ▄ █ ▄                                         │
│    0└─────────────────                                      │
│      S19 S20 S21 S22 S23 S24                               │
│                                                             │
│ COBERTURA DE TESTS:                                         │
│ ├── Cobertura unit tests: 78% (+3%)                        │
│ ├── Tests de integración: 45 pasando                       │
│ ├── Tests E2E: 12 pasando, 1 flaky                         │
│ └── Cobertura código nuevo: 85%                            │
│                                                             │
│ TIEMPO DE CICLO:                                            │
│ ├── Tiempo promedio de Ready a QA: 2.5 días                │
│ ├── Tiempo promedio en QA: 0.8 días                        │
│ └── Tiempo promedio corrección bug: 4 horas                │
│                                                             │
│ RECOMENDACIONES:                                            │
│ • Investigar test E2E flaky                                │
│ • Cobertura de unit por debajo del objetivo 80%           │
│ • Tasa de escape de bugs mejoró del sprint anterior       │
└─────────────────────────────────────────────────────────────┘

Soluciones Relacionadas