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) ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘