erp-construccion/docs/06-test-plans/README.md

3.7 KiB

TEST PLANS - ERP CONSTRUCCION

Fecha: 2025-11-25 Basado en: ADR-010 Testing Strategy Version: 1.0.0


Estrategia de Testing

Basado en ADR-010, el ERP Construccion implementa una estrategia de testing en piramide:

Piramide de Testing

        /\
       /  \     E2E Tests (60% coverage)
      /----\    - Flujos criticos completos
     /      \   - Happy paths principales
    /--------\  Integration Tests (70% coverage)
   /          \ - APIs
  /------------\ - Database
 /              \ Unit Tests (80% coverage)
/----------------\ - Logica de negocio
                   - Validaciones
                   - Utilidades

Objetivos de Cobertura

Tipo de Test Objetivo Herramienta
Unit Tests 80% Jest / Vitest
Integration Tests 70% Jest + Supertest
E2E Tests 60% flujos criticos Playwright

Estructura de Directorio

04-test-plans/
+-- README.md (este archivo)
+-- PLAN-PRUEBAS-GENERAL.md
+-- PLAN-PRUEBAS-INTEGRACION.md
+-- PLAN-PRUEBAS-E2E.md
+-- MATRIZ-CASOS-PRUEBA.md
+-- modulos/
|   +-- TEST-PLAN-MAI-001.md
|   +-- TEST-PLAN-MAI-002.md
|   +-- ...

Plan General de Pruebas

Fase 1: Unit Tests (Backend)

Prioridad: P0 Cobertura objetivo: 80%

Modulos criticos:

  1. MAI-001 - Autenticacion y RBAC
  2. MAI-003 - Calculos de presupuesto
  3. MAI-008 - Calculos de estimaciones

Casos de prueba:

  • Validaciones de entrada
  • Logica de calculos
  • Transformaciones de datos
  • Funciones utilitarias

Fase 2: Integration Tests

Prioridad: P0 Cobertura objetivo: 70%

Modulos criticos:

  1. MAI-001 - Auth endpoints
  2. MAI-002 - CRUD Proyectos
  3. MAI-004 - Flujo de requisiciones
  4. MAI-005 - Captura de avances
  5. MAI-008 - Workflow estimaciones

Casos de prueba:

  • APIs CRUD
  • Validaciones de negocio
  • RLS policies
  • Workflows de estado

Fase 3: E2E Tests

Prioridad: P1 Cobertura objetivo: 60% flujos criticos

Flujos criticos:

  1. Login -> Dashboard -> Logout
  2. Crear fraccionamiento -> Etapas -> Lotes
  3. Crear presupuesto -> Asignar a prototipo
  4. Requisicion -> Aprobar -> OC -> Recibir
  5. Capturar avance -> Aprobar -> Estimacion
  6. Estimacion -> Workflow -> Aprobar

Criterios de Aceptacion

Para Unit Tests

  • Cobertura >= 80%
  • Todos los tests pasan
  • Sin mocks excesivos
  • Tests aislados

Para Integration Tests

  • Cobertura >= 70%
  • Database real (test)
  • Cleanup despues de cada test
  • Tests independientes

Para E2E Tests

  • Flujos criticos cubiertos
  • Screenshots en fallas
  • Tiempos de respuesta < 3s
  • Multi-browser (Chrome, Firefox)

Herramientas

Backend

  • Jest: Framework de testing
  • Supertest: Testing de APIs
  • Faker.js: Generacion de datos
  • TestContainers: PostgreSQL para tests

Frontend

  • Vitest: Unit tests
  • React Testing Library: Componentes
  • MSW: Mock de APIs
  • Playwright: E2E tests

CI/CD

  • GitHub Actions: Pipeline de CI
  • Coverage Reports: Codecov / SonarQube

Ambiente de Testing

test_environment:
  database: PostgreSQL (TestContainers o dedicada)
  redis: Redis (mock o TestContainers)
  storage: LocalStorage mock
  external_apis: MSW mocks

test_data:
  seeds: /database/seeds/test/
  factories: /src/test/factories/

Proximos Pasos

  1. Crear TEST-PLAN-MAI-001.md a MAI-013
  2. Definir casos de prueba por modulo
  3. Configurar Jest/Vitest
  4. Configurar Playwright
  5. Configurar CI pipeline

Referencias


Ultima actualizacion: 2025-11-25 Version: 1.0.0