Probar gratis
7 min lectura Guide 108 of 877

Coordinando Quality Assurance y Desarrollo

Quality assurance funciona mejor cuando se integra a lo largo del desarrollo en lugar de tratarse como una puerta final antes del release. GitScrum permite colaboración cercana QA-dev a través de vistas de tareas compartidas, criterios de aceptación estructurados, workflows de testing, y mecanismos de feedback que detectan issues temprano, reducen retrabajo, y crean ownership compartido de calidad en todo el equipo.

Modelos Integración QA

QA Embebido vs Separado

ESTRUCTURAS EQUIPO QA:
┌─────────────────────────────────────────────────────────────┐
│ CÓMO QA SE INTEGRA CON DESARROLLO                           │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ QA EMBEBIDO (Recomendado para Agile):                       │
│ ┌─────────────────────────────────────────────────────────┐│
│ │                                                         ││
│ │ EQUIPO DEV SCRUM                                        ││
│ │ ┌─────────────────────────────────────────────────────┐ ││
│ │ │ @dev-maria  @dev-carlos  @dev-ana  @qa-tom          │ ││
│ │ │                                                     │ ││
│ │ │ QA es miembro completo equipo:                      │ ││
│ │ │ • Participa en sprint planning                      │ ││
│ │ │ • Participa en refinamiento                         │ ││
│ │ │ • Mismo standup, retro                              │ ││
│ │ │ • Testea durante sprint, no después                 │ ││
│ │ │                                                     │ ││
│ │ │ Ratio: 1 QA por cada 3-5 developers                 │ ││
│ │ └─────────────────────────────────────────────────────┘ ││
│ │                                                         ││
│ │ Pros:                                                   ││
│ │ • Loops feedback más rápidos                            ││
│ │ • QA tiene contexto de requerimientos negocio           ││
│ │ • Bugs arreglados mismo sprint que se encuentran        ││
│ │ • Calidad se vuelve responsabilidad equipo              ││
│ │                                                         ││
│ │ Contras:                                                ││
│ │ • QA puede ser presionado por deadline sprint           ││
│ │ • Menos compartir conocimiento QA-a-QA                  ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ EQUIPO QA SEPARADO:                                         │
│ ┌─────────────────────────────────────────────────────────┐│
│ │                                                         ││
│ │ BOARD EQUIPO DEV       BOARD EQUIPO QA                  ││
│ │ ┌─────────────┐        ┌─────────────┐                  ││
│ │ │ Tareas dev  │  ──►   │ Cola QA     │                  ││
│ │ │             │  Pasar │             │                  ││
│ │ │             │  a QA  │             │                  ││
│ │ └─────────────┘        └─────────────┘                  ││
│ │                                                         ││
│ │ QA testea después que dev completa:                     ││
│ │ • Handoff cuando "Dev Listo"                            ││
│ │ • QA testea en fase separada                            ││
│ │ • Bugs vuelven al board dev                             ││
│ │                                                         ││
│ │ Pros:                                                   ││
│ │ • Especialización y expertise QA                        ││
│ │ • Testing objetivo (no influenciado por dev)            ││
│ │ • Mejor para industrias compliance/reguladas            ││
│ │                                                         ││
│ │ Contras:                                                ││
│ │ • Delays de handoff                                     ││
│ │ • Mentalidad "tirarlo por encima del muro"              ││
│ │ • Bugs encontrados más tarde cuestan más arreglar       ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Diseño Workflow

Estructura Board Compartido

BOARD INTEGRADO QA-DEV:
┌─────────────────────────────────────────────────────────────┐
│ COLUMNAS WORKFLOW                                           │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ ┌─────────┬──────────┬──────────┬──────────┬──────────────┐│
│ │ Backlog │ En Dev   │ En QA    │ En UAT   │ Listo        ││
│ ├─────────┼──────────┼──────────┼──────────┼──────────────┤│
│ │         │ WIP: 3   │ WIP: 2   │          │              ││
│ │ ┌─────┐ │ ┌─────┐  │ ┌─────┐  │ ┌─────┐  │ ┌─────┐      ││
│ │ │Tarea1│ │ │Tarea3│ │ │Tarea5│ │ │Tarea7│ │ │Tarea9│     ││
│ │ └─────┘ │ │@maria│  │ │@tom │  │ │@client│ │ │  ✓  │      ││
│ │ ┌─────┐ │ └─────┘  │ └─────┘  │ └─────┘  │ └─────┘      ││
│ │ │Tarea2│ │ ┌─────┐  │ ┌─────┐ │          │ ┌─────┐      ││
│ │ └─────┘ │ │Tarea4│ │ │Tarea6│ │          │ │Tarea10│    ││
│ │         │ │@carlos│ │ │@tom │  │          │ │  ✓  │      ││
│ │         │ └─────┘  │ └─────┘  │          │ └─────┘      ││
│ │         │          │          │          │              ││
│ └─────────┴──────────┴──────────┴──────────┴──────────────┘│
│                                                             │
│ LÍMITES WIP:                                                │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Columna En QA tiene límite WIP = personas QA × 2        ││
│ │                                                         ││
│ │ Por qué: Previene cuello botella QA, mantiene flujo     ││
│ │                                                         ││
│ │ Cuando QA está lleno:                                   ││
│ │ • Devs no pueden mover más a QA (bloqueados)            ││
│ │ • Señal: Ayudar a QA o reducir nuevo dev                ││
│ │ • Considerar: Developer asiste con testing              ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Integración Criterios Aceptación

Escribiendo Criterios Testeables

MEJORES PRÁCTICAS CRITERIOS ACEPTACIÓN:
┌─────────────────────────────────────────────────────────────┐
│ CRITERIOS QUE QA PUEDE REALMENTE TESTEAR                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ FORMATO: Dado-Cuando-Entonces                               │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Tarea: Reset Contraseña Usuario                         ││
│ │                                                         ││
│ │ Criterios Aceptación:                                   ││
│ │                                                         ││
│ │ ✅ TESTEABLE:                                            ││
│ │ CA1: Dado usuario en página login                       ││
│ │      Cuando hace clic "Olvidé Contraseña"               ││
│ │      Entonces formulario input email se muestra         ││
│ │                                                         ││
│ │ CA2: Dado email válido ingresado                        ││
│ │      Cuando envía formulario                            ││
│ │      Entonces email reset enviado en 30 segundos        ││
│ │      Y mensaje éxito mostrado                           ││
│ │                                                         ││
│ │ CA3: Dado formato email inválido                        ││
│ │      Cuando envía formulario                            ││
│ │      Entonces error validación mostrado                 ││
│ │      Y ningún email enviado                             ││
│ │                                                         ││
│ │ ❌ VAGO (No hacer esto):                                 ││
│ │ • "Reset contraseña debería funcionar"                  ││
│ │ • "Mensajes error amigables"                            ││
│ │ • "Entrega email rápida"                                ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ INCLUIR CASOS BORDE:                                        │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ CA4: Dado email no existe en sistema                    ││
│ │      Cuando envía formulario                            ││
│ │      Entonces mensaje éxito genérico mostrado           ││
│ │      (seguridad: no revelar si email existe)            ││
│ │                                                         ││
│ │ CA5: Dado reset solicitado dos veces en 5 minutos       ││
│ │      Cuando envía de nuevo                              ││
│ │      Entonces mensaje límite rate mostrado              ││
│ │      Y ningún segundo email enviado                     ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Gestión Bugs

Workflow Bug

PROCESO MANEJO BUGS:
┌─────────────────────────────────────────────────────────────┐
│ DESDE DESCUBRIMIENTO HASTA CIERRE                           │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ TEMPLATE TAREA BUG:                                         │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Título: [Componente] Descripción breve                  ││
│ │                                                         ││
│ │ **Ambiente:**                                           ││
│ │ Navegador: Chrome 120                                   ││
│ │ SO: Windows 11                                          ││
│ │ Ambiente test: staging.app.com                          ││
│ │                                                         ││
│ │ **Pasos para Reproducir:**                              ││
│ │ 1. Navegar a /dashboard                                 ││
│ │ 2. Clic botón "Exportar"                                ││
│ │ 3. Seleccionar formato "CSV"                            ││
│ │ 4. Clic "Descargar"                                     ││
│ │                                                         ││
│ │ **Resultado Esperado:**                                 ││
│ │ Archivo CSV descarga con datos                          ││
│ │                                                         ││
│ │ **Resultado Actual:**                                   ││
│ │ Mensaje error: "Exportación falló"                      ││
│ │                                                         ││
│ │ **Labels:** type/bug, severity/high, component/export   ││
│ │ **Vinculado a:** Tarea #123 (Feature exportación)       ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Soluciones Relacionadas