Fase 5 - Evaluacion - Guia de Aprendizaje Oficial SENA ADSO

Calidad de Software con Testing & QA

Cierra el ciclo Construir -> Verificar. Testea el codigo REAL de las 4 guias anteriores (Flask, FastAPI, JSP, React) con PyTest, Jest, JUnit, Playwright, CI/CD y Observabilidad en Coolify.

13Modulos
4Simuladores
40hDuracion
4Frameworks

🤔 Pregunta Esencial (PBL)

Como garantizas que el software que construyas no falle en produccion y cueste millones? El bug de Knight Capital (2012) perdio $440 millones en 45 minutos por un codigo de prueba no eliminado.

Simuladores

Simuladores Interactivos QA

Practica con 9 herramientas interactivas y gana XP.

Test Pyramid Builder

Assertion Validator

Quiz de Testing

⚙️ Secuenciador de Fases: Pipeline de Pruebas Automatizadas

📥 Descargar Proyecto

Descarga y ejecuta las pruebas

El codigo completo de testing esta en recursos/codigo-ejemplo/. Cubre PyTest, Jest, JUnit y Playwright.

📝 Requisitos

  • Python 3.11+ (para tests PyTest de FastAPI y Flask)
  • Node.js 18+ (para tests Jest de React)
  • JDK 21 + Maven (para tests JUnit de JSP)
  • Navegador Chromium (para Playwright E2E)

🛠 Instrucciones paso a paso

📂Terminal — Tests Python (FastAPI + Flask)
cd recursos/codigo-ejemplo

# Entorno virtual
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt

# Ejecutar tests por fases del flujo maestro
pytest tests/unit/ -v              # Fase 1: Pruebas unitarias de logica pura
pytest tests/integration/ -v       # Fase 3: Integracion HTTP y SQLite con TestClient
pytest tests/ -v                   # Todas las fases (26 tests automatizados)
pytest tests/ --cov=services --cov=routers --cov=schemas --cov-report=term-missing # Fase 6: Cobertura total
📂Terminal — Tests JavaScript (Vitest, API compatible con Jest)
cd recursos/codigo-ejemplo
npm install
npm test
npm run test:coverage
📂Terminal — Tests JUnit 5 (Maven / Spring Boot)
cd recursos/codigo-ejemplo
mvn test
# Cobertura con JaCoCo (agrega el plugin jacoco-maven-plugin)
mvn jacoco:report
📂Terminal — Playwright E2E
cd recursos/codigo-ejemplo
npx playwright install
npx playwright test
npx playwright show-report

📈 Ver cobertura

Cada framework produce su propio reporte. Apreta los reportes en la raiz del proyecto:

  • Python: pytest --cov=app --cov-report=html abre htmlcov/index.html.
  • JavaScript: npm run test:coverage genera coverage/index.html.
  • Java: mvn jacoco:report abre target/site/jacoco/index.html.

🛠 Script de setup automático

# setup.ps1
Write-Host "=== Configurando entorno de Testing ===" -ForegroundColor Cyan

# Python tests
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt

# Frontend tests
npm install

# Playwright
npx playwright install

Write-Host "Listo! Ejecuta 'pytest tests/ -v' para probar." -ForegroundColor Green

#### Prueba rapida de cURL ####
# Probar que la API FastAPI funciona (debe estar corriendo)
curl http://localhost:8009/api/fincas