Skip to content

Latest commit

 

History

History
110 lines (66 loc) · 4.53 KB

File metadata and controls

110 lines (66 loc) · 4.53 KB

Ejercicio de Test-Driven Development con JavaScript

> Proyectos KeepCoding - Web 18: 📁 repos-kc-web-18.md

> Selecciona tu Idioma: Inglés 🔄 Alemán

Objetivo del proyecto

Con el fin de demostrar los conocimientos adquiridos en clases virtuales, este proyecto consiste en realizar ejercicios de testing mediante la dependencia “jest”.

Conocimientos Aprendidos y Desarrollados

Pruebas de Software

Las pruebas son fundamentales para detectar errores antes del despliegue, aumentar la confianza en el código, apoyar decisiones de lanzamiento y fomentar buenas prácticas de desarrollo. Forman parte esencial de metodologías como Waterfall, Agile y DevOps, donde suelen automatizarse en ciclos de integración y entrega continua.

Tipos de Pruebas

1. Pruebas Externas (End-to-End)

  • Manuales: El tester verifica visualmente el comportamiento de la aplicación siguiendo pasos definidos.
  • Automáticas: Simulan interacciones del usuario para validar el funcionamiento tras cambios de código.

2. Pruebas Funcionales

  • Unitarias: Evalúan funciones o módulos individuales de forma aislada.
  • De integración: Comprueban que múltiples componentes funcionen correctamente en conjunto.
  • End-to-End: Simulan flujos completos del usuario para garantizar el correcto funcionamiento de la aplicación.

3. Pruebas No Funcionales

  • Seguridad: Detectan vulnerabilidades y validan la protección de datos sensibles.
  • Rendimiento: Evalúan tiempos de respuesta y comportamiento bajo carga.
  • Usabilidad: Analizan la experiencia real del usuario en la interfaz.
  • Accesibilidad: Verifican que la aplicación sea usable por personas con discapacidad.

Herramientas Utilizadas

  • Jasmine, Jest, Mocha + Chai: Pruebas unitarias en JavaScript y Node.js.
  • Supertest: Pruebas funcionales en entornos backend.
  • Selenium, Puppeteer, Protractor, Playwright: Pruebas E2E automatizadas en navegadores.

TDD (Test Driven Development)

El desarrollo guiado por pruebas consiste en escribir primero la prueba, luego el código mínimo para pasarla y finalmente refactorizar. Este enfoque mejora la calidad, evita sobrecargas innecesarias y detecta errores en etapas tempranas. Se apoya en principios SOLID y promueve un diseño más limpio y mantenible.

BDD y ATDD

BDD (Desarrollo guiado por comportamiento) y ATDD (Desarrollo guiado por pruebas de aceptación) buscan alinear a todo el equipo (desarrolladores, testers y negocio) mediante la definición clara de comportamientos esperados. Utilizan lenguajes estructurados como Gherkin para describir escenarios de prueba comprensibles por todos los involucrados.

Detalles del proyecto

TODO

Tecnologías utilizadas

  • Lenguajes: JavaScript.
  • Dependencias a destacar (Node.js): Babel, Jest y Axios.

Instrucciones de instalación y uso

1. Requisitos de Software

  • Node.js (testeado en la versión v22.15.1)
  • Git (testeado en la versión 2.47.1.windows.1)
  • Visual Studio Code (testeado en la versión 1.99.0)

2. Clonación del Repositorio

git clone https://github.com/pablo-sch/keepcoding-09-TDD-with-javascript.git

> Ver Demo de Clonanción en VSCode: 🎥 Gif Demo

3. Comandos

# Instala las dependencias del proyecto.
npm install

# Ejecuta las pruebas con Jest una vez.
npm test

# Ejecuta las pruebas en modo observación, corre solo las afectadas.
npm test:watch

# Ejecuta todas las pruebas en modo observación.
npm test:watchAll

# Muestra la lista de archivos de prueba.
npm test:list

# Ejecuta las pruebas y muestra el resultado en formato JSON.
npm test:json

Contribuciones y licencias

Proyecto bajo licencia MIT. Uso y distribución libres con atribución. No se aceptan contribuciones externas, pero las sugerencias son bienvenidas.