4 min lectura • Guide 302 of 877
Mejores Prácticas de Quality Assurance
La calidad no es una fase—es una práctica entretejida a lo largo del desarrollo. Los mejores equipos no testean calidad al final; la construyen desde el inicio. Esta guía cubre approaches prácticos para quality assurance que escalan con tu equipo.
Pirámide de Testing
| Nivel | Velocidad | Alcance | Cantidad |
|---|---|---|---|
| Unitario | Rápido | Pequeño | Muchos |
| Integración | Medio | Medio | Algunos |
| E2E | Lento | Completo | Pocos |
| Manual | Más lento | Variable | Dirigido |
Shift Left
APPROACH SHIFT LEFT
═══════════════════
TRADICIONAL (SHIFT RIGHT):
─────────────────────────────────────
Requirements → Dev → Dev → Dev → QA → QA → Deploy
QA al final:
├── Bugs encontrados tarde
├── Costoso de arreglar
├── Presión para enviar de todos modos
├── Calidad como afterthought
└── Modo apagar incendios
SHIFT LEFT:
─────────────────────────────────────
[QA] Requirements → [QA] Dev → [QA] Review → Deploy
QA a lo largo:
├── QA en planning
├── QA revisa requirements
├── Tests escritos temprano
├── Testing durante dev
├── Bugs detectados temprano
└── Calidad construida
PRÁCTICAS:
─────────────────────────────────────
Planning:
├── QA revisa criterios de aceptación
├── Identifica escenarios de test
├── Señala complejidad
├── Estima esfuerzo de testing
└── Parte del equipo
Desarrollo:
├── Developers escriben tests unitarios
├── TDD para caminos críticos
├── Pair con QA en escenarios
├── Testea mientras codeas
└── Sin "tirar sobre la pared"
Review:
├── Tests requeridos en PR
├── Thresholds de cobertura
├── Checklist de calidad
└── Demo antes de merge
QA en Sprints
ROL DE QA EN SPRINTS ÁGILES
═══════════════════════════
ANTES DEL SPRINT (Planning):
┌─────────────────────────────────────────────────────────────┐
│ • Revisar stories con PM/Dev │
│ • Identificar riesgos de testing │
│ • Escribir criterios de aceptación │
│ • Estimar effort de testing │
│ • Planificar automatización │
└─────────────────────────────────────────────────────────────┘
DURANTE EL SPRINT:
┌─────────────────────────────────────────────────────────────┐
│ • Testear features mientras se desarrollan │
│ • Testing exploratorio diario │
│ • Escribir tests automatizados │
│ • Pair con developers en edge cases │
│ • Dar feedback temprano │
└─────────────────────────────────────────────────────────────┘
FIN DE SPRINT:
┌─────────────────────────────────────────────────────────────┐
│ • Regression testing │
│ • Validar Definition of Done │
│ • Participar en demo │
│ • Contribuir a retro │
│ • Documentar bugs conocidos │
└─────────────────────────────────────────────────────────────┘
Automatización de Tests
ESTRATEGIA DE AUTOMATIZACIÓN
════════════════════════════
QUÉ AUTOMATIZAR:
┌─────────────────────────────────────────────────────────────┐
│ ✅ AUTOMATIZA: │
│ • Tests de regresión (corren cada build) │
│ • Smoke tests (verificación básica) │
│ • API tests (contract testing) │
│ • Tests de data (validación/transformación) │
│ • Tests de performance (benchmarks) │
│ │
│ ⚠️ MANTÉN MANUAL: │
│ • Testing exploratorio │
│ • Usabilidad y UX │
│ • Edge cases nuevos │
│ • Validación visual │
│ • Features nuevas (primero manual, luego automatiza) │
└─────────────────────────────────────────────────────────────┘