Te damos la bienvenida a Learn Testing.

Este curso es una introducción a las pruebas para la Web y una exploración de ellas.

En este curso, aprenderás sobre los siguientes temas:

  • Aspectos básicos de las pruebas
  • Comparación entre las pruebas automáticas y manuales
  • Dónde y cómo ejecutar las pruebas
  • Prácticas recomendadas
  • La filosofía de las pruebas, que incluye qué probar, quién es responsable y cómo considerar probar un medio para un fin, no como un objetivo en sí.

El curso también incluye un código de muestra conciso y práctico del que aprender.

El alcance del curso incluye JavaScript y el modelo de documentos en el frontend, así como las pruebas de bibliotecas en el backend, que se ejecutan en un entorno como Node.js. No se supone que tenga experiencia previa en la prueba, pero necesitarás conocimientos básicos sobre JavaScript y experiencia con Node.js o algo similar. Es adecuado para desarrolladores principiantes y experimentados.

Debido a que la mayoría de los frameworks y las herramientas de prueba comparten un lenguaje en común, Learn Testing toma un enfoque general para las pruebas. Cuando es importante ser específico, usaremos Vitest, un framework de prueba que crece en popularidad, y demostraremos cómo probar los componentes para la Web escritos con React o Lit. Para obtener más información sobre esta opción, consulta el apéndice.

Puedes repasar este curso de principio a fin, pero también puedes usarlo como referencia para temas específicos. Cuando corresponda, el curso se vincula a los recursos.

Esto es lo que aprenderás:

Comienza a realizar pruebas

Qué son las pruebas

Esta es una introducción de alto nivel a las pruebas, que incluye ejemplos prácticos de pruebas en JavaScript. También incluye una introducción a la escala de cada prueba.

Dónde se ejecutan las pruebas

Las pruebas pueden ayudarte a aumentar la productividad y escribir software de manera eficiente. Además, si bien es posible ejecutarlas de forma manual con una línea de comandos, también puedes ejecutarlas como parte de un proceso automatizado o un sistema de compilación.

El entorno de pruebas

Las herramientas de entorno de ejecución, como Node, son para código de uso general; además, el código de prueba para el navegador se puede ejecutar en un entorno emulado o con un framework diseñado para realizar pruebas del navegador.

Tipos de pruebas automatizadas

Obtén información sobre las categorizaciones comunes de los tipos de prueba, que se corresponden principalmente con su escala. Es importante destacar que los tipos de prueba no tienen una definición estricta y cambiarán según tus necesidades.

Qué probar y su enfoque

Identificar las partes más importantes de tu base de código para aplicar pruebas rigurosas puede ser una decisión difícil. En este módulo, se presenta la idea de las pruebas como un medio para el fin y cómo evaluar el código para realizar pruebas.

Pruebas de componentes en la práctica

En este módulo práctico, aprenderás a probar un componente no tan ideal de React. Esto usa Vitest a través de tres ejemplos distintos: interceptar el tráfico de red realizado con fetch(), simular una dependencia externa y usar Context de React para proporcionar un fragmento de código personalizado solo para la prueba.

Análisis estático

El uso de herramientas como TypeScript y ESLint, si bien no existen enfoques de prueba bien establecidos, puede proporcionar un tipo de verificación automatizada. En este módulo, se analizan estas herramientas alternativas.

Aserciones y otras primitivas

Herramientas comerciales

Obtén información sobre las primitivas comunes a la mayoría de las bibliotecas o los frameworks de prueba, incluidas test() y assert, que serán los pilares de cada prueba que escribas en JavaScript.

Disponible dentro de poco tiempo

  • Evita errores comunes de prueba
  • Prueba dobles
  • Cómo probar bibliotecas y utilidades
  • Elige un framework de prueba

En el resto de esta sección, encontrarás más páginas sobre frameworks y bibliotecas de prueba, además de la forma en que deben usarse y cómo decidir cuál y qué otras herramientas usar.

Próximamente: Pruebas basadas en problemas

Aprenderás patrones para abordar varios desafíos comunes de las pruebas web.

Próximamente: Pruebas automatizadas en la práctica

Esta es una sección práctica en la que se muestra cómo probar un sitio de comercio electrónico compilado con Next.js, incluido el código que puedes revisar y aprender por tu cuenta. Aprenderás a probar sus componentes, trabajar con sus servicios externos (lo que incluye los pagos y realizar pruebas) y cómo compilar pruebas de extremo a extremo para un sitio que tiene una página de acceso opcional.

Próximamente: La filosofía de las pruebas

Las pruebas pueden ser un desafío de ingeniería, pero saber qué probar, quién es responsable y cuáles son las prácticas recomendadas también puede ser un desafío para un equipo de desarrollo.

Próximamente: Escribe código que se pueda probar

En este curso, se brinda orientación para probar el código tal como existe, pero tu equipo puede adoptar varios patrones para facilitar la prueba del código. En esta sección, se cubrirán algunos enfoques.