# Validador de Documentos
Este es un sistema web desarrollado para validar diferentes tipos de documentos como cédulas, tarjetas de identidad y teléfonos, mostrando los resultados en una tabla interactiva.
---
## Inicio del Proyecto
1. Clona el repositorio:
```bash
git clone https://github.com/tu_usuario/validador-documentos.git
cd validador-documentos-
Instala las dependencias necesarias:
npm install
-
Inicia la aplicación localmente:
npm start
Esto abrirá la aplicación en tu navegador (por ejemplo, en
http://localhost:5500/).
Las pruebas funcionales están organizadas por tipo: unitarias, de integración y de sistema. Todas se ejecutan con Mocha, Chai y JSDOM.
Archivo: unit-tests.js
Función: validarCedula()
Evalúa el comportamiento aislado de la función que valida cédulas. Se comprueba que solo acepte números, tenga 10 dígitos y rechace caracteres inválidos.
npx mocha unit-tests.jsArchivo: integration-tests.js
Función: validarDocumento()
Verifica la interacción entre el DOM y la lógica de negocio, asegurando que se tomen los valores desde la interfaz y se muestre el resultado correspondiente.
npx mocha integration-tests.jsArchivo: system-tests.js
Flujo completo del usuario
Simula el proceso completo: selección de documento, ingreso de datos, clic en “Validar” y verificación del mensaje y registro en la tabla.
npx mocha system-tests.jsEstas pruebas analizan el rendimiento, eficiencia, accesibilidad y buenas prácticas del sistema.
Herramienta: Apache JMeter
Objetivo: Simular múltiples usuarios concurrentes accediendo a http://localhost/index.html.
Detalles:
- 5 usuarios virtuales (threads)
- Cada uno realiza 5 validaciones (25 en total)
- Se midió tiempo promedio, máximo, mínimo, errores y throughput.
Resultado: El sistema respondió en promedio en 3 ms por solicitud, sin errores, con un tiempo máximo de 43 ms.
Herramientas: Node.js, Mocha, JSDOM
Objetivo: Medir el tiempo de ejecución interno de validarDocumento().
Pasos:
- Cargar
Index.htmlcon JSDOM - Configurar entorno
windowydocument - Importar la función desde
script.js - Ejecutar
validarDocumento() - Medir con
performance.now()
Resultado: Tiempo de ejecución eficiente bajo entorno simulado de navegador.
Herramienta: Lighthouse (DevTools de Chrome) Objetivo: Evaluar usabilidad, accesibilidad y buenas prácticas.
Pasos:
-
Abrir el sistema en
http://127.0.0.1:5500/ -
Ejecutar Lighthouse en modo Desktop
-
Seleccionar categorías:
- Rendimiento
- Accesibilidad
- Buenas Prácticas
- SEO
-
Analizar el reporte generado
Resultado: Informe automático con calificaciones por categoría, destacando accesibilidad y rendimiento.
- HTML5, CSS3, JavaScript
- Node.js
- Mocha + Chai (Testing)
- JSDOM (Simulación DOM)
- Apache JMeter (Pruebas de carga)
- Lighthouse (Auditoría web)
Code_validador/
│
├── index.html
├── styles.css
├── tests.js
├── ui-tests.js
├── package.json
│
└── features/
├── validador_documentos.feature
└── step_definitions/
└── validador_steps.js
- Diego Alandro Ramirez Castro
- Diegoarc.dev@gmail.com