3.7 KiB
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:
- MAI-001 - Autenticacion y RBAC
- MAI-003 - Calculos de presupuesto
- 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:
- MAI-001 - Auth endpoints
- MAI-002 - CRUD Proyectos
- MAI-004 - Flujo de requisiciones
- MAI-005 - Captura de avances
- 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:
- Login -> Dashboard -> Logout
- Crear fraccionamiento -> Etapas -> Lotes
- Crear presupuesto -> Asignar a prototipo
- Requisicion -> Aprobar -> OC -> Recibir
- Capturar avance -> Aprobar -> Estimacion
- 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
- Crear TEST-PLAN-MAI-001.md a MAI-013
- Definir casos de prueba por modulo
- Configurar Jest/Vitest
- Configurar Playwright
- Configurar CI pipeline
Referencias
Ultima actualizacion: 2025-11-25 Version: 1.0.0