# TEST PLAN - MGN-006: Compras

**Módulo:** MGN-006 - Compras
**Sprint:** Sprint 16-18
**Story Points:** 42 SP
**User Stories:** 12 US
**Fecha:** 2025-11-24
**QA Owner:** TBD
**Estado:** Draft

---

## 1. RESUMEN DEL MÓDULO

### 1.1 Descripción

El módulo MGN-006 Compras gestiona las funcionalidades core del subsistema de Compras del ERP Genérico.

### 1.2 Funcionalidades Principales

Ver [RF MGN-006](../../02-modelado/requerimientos-funcionales/mgn-006/)

### 1.3 Dependencias

**Módulos requeridos:**
- MGN-001: Fundamentos
- MGN-002: Empresas
- MGN-003: Catálogos

---

## 2. ALCANCE DEL TESTING

### 2.1 En Alcance

Ver requerimientos funcionales del módulo para lista completa de funcionalidades a testear.

### 2.2 Fuera de Alcance

Funcionalidades avanzadas marcadas como Fase 2 en los RFs.

---

## 3. ESTRATEGIA DE TESTING

### 3.1 Tipos de Tests

#### Unit Tests
- Backend services y controllers
- Frontend components y hooks
- Total estimado: 72 tests

#### Integration Tests
- API endpoints (CRUD completo)
- Database transactions
- Total estimado: 36 tests

#### E2E Tests
- Flujos críticos de usuario
- Total estimado: 12 tests (1 por US crítica)

---

## 4. TEST CASES

### 4.1 Casos de Prueba Funcionales

Los test cases detallados se derivan de:
1. Criterios de aceptación de User Stories
2. Reglas de negocio de Requerimientos Funcionales
3. Flujos principales y alternativos de RFs

Ver [User Stories MGN-006](../../03-user-stories/mgn-006/) para criterios de aceptación específicos.

### 4.2 Casos de Prueba No Funcionales

**Performance:**
- Response time <300ms (p95) para endpoints API
- Page load time <2s (p95) para páginas frontend

**Security:**
- Tenant isolation verificado
- Validación de permisos por rol
- SQL injection prevention
- XSS prevention

**Usability:**
- Navegación intuitiva
- Mensajes de error claros
- Feedback visual en acciones

---

## 5. DATOS DE PRUEBA

### 5.1 Test Data Requirements

Los datos de prueba específicos se definen en los seed scripts del módulo.

**Características:**
- Multi-tenant (datos en 3 tenants de prueba)
- Estados variados (draft, confirmed, done, cancelled)
- Casos edge (valores límite, campos opcionales, etc.)

---

## 6. AMBIENTE DE TESTING

### 6.1 Configuración

**Base de datos:** PostgreSQL 16
**Backend:** NestJS (port 3000)
**Frontend:** React (port 5173)
**API Base:** http://localhost:3000/api/v1

### 6.2 Environment Variables

Ver .env.test para configuración completa.

---

## 7. SCHEDULE

### 7.1 Timeline

**Sprint 16-18:**
- Implementación de funcionalidades según User Stories
- Writing unit e integration tests (developers)
- QA testing y E2E tests (QA engineers)
- Bug fixing y regression testing

**Duración estimada:** 4 semanas (basado en velocidad 20 SP/sprint)

---

## 8. ENTRY/EXIT CRITERIA

### Entry Criteria

- [ ] User Stories del módulo escritas y aprobadas
- [ ] Módulos dependientes completados
- [ ] Test data preparado
- [ ] Ambiente de QA disponible
- [ ] Código implementado y code review completado

### Exit Criteria

- [ ] Todos los tests ejecutados (120 tests)
- [ ] Unit test coverage >80%
- [ ] Integration tests 100% pasando
- [ ] E2E tests críticos 100% pasando
- [ ] Bugs P0/P1 resueltos (100%)
- [ ] Performance tests pasando
- [ ] Security tests pasando
- [ ] Criterios de aceptación validados por PO

---

## 9. DEFECT MANAGEMENT

### 9.1 Severidad de Bugs

**P0 - Blocker:**
- Funcionalidad core no funciona
- Pérdida de datos
- **SLA:** Fix en 24 horas

**P1 - Critical:**
- Funcionalidad principal afectada
- Workaround complicado
- **SLA:** Fix en 3 días

**P2 - Major:**
- Funcionalidad secundaria afectada
- Workaround existe
- **SLA:** Fix en 1 sprint

**P3 - Minor:**
- Problemas cosméticos
- **SLA:** Backlog

---

## 10. RIESGOS ESPECÍFICOS DEL MÓDULO

Los riesgos específicos se identifican durante la fase de análisis de RFs y se documentan en las matrices de trazabilidad.

**Mitigaciones generales:**
- Testing exhaustivo de funcionalidades críticas
- Code review obligatorio
- Regression testing automatizado
- Monitoring en producción

---

## 11. MÉTRICAS

### 11.1 Test Execution Metrics

**Total test cases:** 120
- Unit: 72
- Integration: 36
- E2E: 12

**Executed:** 0/120 (0%)
**Pass rate:** 0% (objetivo: >95%)

### 11.2 Coverage Metrics

**Unit test coverage:** 0% (objetivo: >80%)
**API coverage:** 0 endpoints (objetivo: 100%)
**E2E coverage:** 0 journeys (objetivo: 100%)

---

## 12. SIGN-OFF

**QA Engineer:** _______________  Date: _______
**Tech Lead:** _______________  Date: _______
**Product Owner:** _______________  Date: _______

---

## 13. REFERENCIAS

**Documentación del Módulo:**
- [User Stories MGN-006](../../03-user-stories/mgn-006/)
- [Requerimientos Funcionales MGN-006](../../02-modelado/requerimientos-funcionales/mgn-006/)
- [ET Backend MGN-006](../../02-modelado/especificaciones-tecnicas/backend/mgn-006/)
- [ET Frontend MGN-006](../../02-modelado/especificaciones-tecnicas/frontend/mgn-006/)
- [Matriz de Trazabilidad MGN-006](../../02-modelado/trazabilidad/TRACEABILITY-MGN-006.yaml)

**Referencias Generales:**
- [Master Test Plan](./MASTER-TEST-PLAN.md)
- [ADR-010: Testing Strategy](../adr/ADR-010-testing-strategy.md)

---

**Versión:** 1.0
**Última actualización:** 2025-11-24
**Estado:** Draft - Pendiente de aprobación
**Próxima revisión:** Sprint 16 Kickoff
