Saltar a contenido

🧪 Pruebas de Software e Integración Continua (CI/CD)

Asegurar la calidad del código de forma automatizada reduce drásticamente los errores en producción.


🔺 La Pirámide de Pruebas

flowchart TD
    E2E["Pruebas E2E / UI (Pocas, lentas)"]
    INT["Pruebas de Integración (APIs y DB)"]
    UNIT["Pruebas Unitarias (Muchas, rápidas, aisladas)"]

    E2E --> INT --> UNIT

🤖 Pipeline de Integración Continua (GitHub Actions)

Ejemplo de flujo .github/workflows/ci.yml para ejecutar pruebas en cada Pull Request:

name: Test Suite CI

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main, develop ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Configurar Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'
      - name: Instalar dependencias
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt pytest
      - name: Ejecutar pruebas unitarias
        run: pytest --maxfail=1 --disable-warnings -v