Probar gratis
3 min lectura Guide 350 of 877

Estrategias de Automatización de Tests

Buena automatización de tests detecta bugs antes que los usuarios. Mala automatización es lenta, flaky, y se ignora. La meta es construir automatización en la que los equipos confían y mantienen. Esta guía cubre approaches prácticos para automatización de tests.

Pirámide de Testing

NivelVelocidadCostoCobertura
UnitarioRápidoBajoMuchos
IntegraciónMedioMedioAlgunos
E2ELentoAltoPocos

Tipos de Tests

PIRÁMIDE DE TESTING
═══════════════════

                    ▲
                   /E\      Tests E2E
                  /2E \     (pocos, lentos)
                 /─────\
                /       \
               / Integra-\   Tests de Integración
              /   ción    \  (algunos, medio)
             /─────────────\
            /               \
           /  Tests Unitarios\  Tests Unitarios
          /                   \ (muchos, rápidos)
         /─────────────────────\

TESTS UNITARIOS:
─────────────────────────────────────
Propósito:
├── Prueban funciones/clases individuales
├── Aislados de dependencias
├── Ejecución rápida
├── Muchos tests
├── Fundación de automatización
└── Mayoría de tests

Características:
├── Corren en milisegundos
├── Sin dependencias externas
├── Sin base de datos, sin red
├── Mock de llamadas externas
├── Corren frecuentemente
└── Responsabilidad del developer

TESTS DE INTEGRACIÓN:
─────────────────────────────────────
Propósito:
├── Prueban interacciones de componentes
├── Base de datos real (instancia de test)
├── Llamadas API reales (a env de test)
├── Verifican que integraciones funcionan
└── Cobertura media

Manejo de Tests Flaky

TESTS FLAKY
═══════════

QUÉ HACER:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ 1. IDENTIFICAR:                                             │
│    • Monitorear tests que fallan intermitentemente        │
│    • Trackear historial de fallas                         │
│                                                             │
│ 2. CUARENTENAR:                                             │
│    • Mover a suite separada temporalmente                 │
│    • No bloquear CI mientras investigas                   │
│                                                             │
│ 3. INVESTIGAR:                                              │
│    • Problemas de timing/race conditions                  │
│    • Dependencias de orden de tests                       │
│    • State leaking entre tests                            │
│                                                             │
│ 4. ARREGLAR O ELIMINAR:                                     │
│    • Arreglar root cause                                   │
│    • O eliminar si no vale la pena                        │
│                                                             │
│ ❌ NUNCA: Ignorar tests flaky                              │
│ ❌ NUNCA: Re-run automático como "fix"                    │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Soluciones Relacionadas de GitScrum