"Codifica como si la persona que mantendrá tu código fuera un psicópata violento que sabe dónde vives."

✍🏼 Martin Golding

Las pruebas del software han sido ignoradas y hasta despreciadas por muchos. Otros las ven como una absurda obligación que sufren día a día.

Pero eso está cambiando, la industria del software ya no acepta más el negacionismo sobre la relación directa entre calidad y pruebas.

La detección temprana de errores, la validación de las funcionalidades y la mejora en el diseño del código permiten afirmar que: Las pruebas ahorran dinero.

Y la responsabilidad es compartida: cliente, empresa y programador. Cumple con tu responsabilidad de generar código correcto y fiable.

Claro que hay un proceso de aprendizaje y adopción. En este curso te mostraremos los fundamentos y las técnicas para incluirlos inmediatamente y mejorar la calidad de tus programas.

🛠 Herramientas

  • Utilidades para probar aplicaciones desarrolladas con tecnología web que se utilizarán en este tutorial.

Puppeteer

Puppeteer es excelente para manipular y simular cualquier actividad con el navegador ideal para e2e no funcional.

Cypress

Cypress es un framework de pruebas funcionales de integración o e2e. Se ejecuta en el navegador independiente del código bajo prueba.

Jest

JEST es un framework muy popular porque requiere zero configuration. Es muy ligero y sencillo. Ideal para unit testing y TDD.

Otras herramientas alternativas o complementarias

  • Playwright automatizador de diversos navegadores al estilo Puppeteer.
  • Karma es un ejecutador de pruebas muy interesante para integración continua.
  • Jasmine muy completo y bueno para user-behavior por su expresividad
  • Mocha muy utilizado para NodeJS.
  • Chai librería muy adecuada para BDD con NodeJS.

"Los desarrolladores no tienen que justificar las pruebas y la refactorización; porque esas disciplinas aumentan su eficiencia y la productividad"

-- ✍️ Robert C. Martin