Desarrollo de pruebas en Javascript [Capítulo 0: Introducción]

in #palnet5 years ago (edited)

Seguramente trabajando en un equipo de desarrollo han sentido que en algún momento envían un cambio a producción y aún así cuando estamos 100% seguros de que todo va a salir bien, al final algo falla. Es aquí donde nos preguntamos si estamos probando bien nuestra aplicación antes de enviar algún cambio a producción, y si todo el resto del equipo va a querer matarte.


Tomado de giphy.com

Por suerte existe algo llamado integración continua lo cual consiste en que cada vez que envías cambios a producción se ejecutan una serie de pruebas automáticas que evalúan las funcionalidades más importantes de tu aplicación y si alguna de estas falla, no se despliega a producción, indicándote de que tu código esta rompiendo alguna otra funcionalidad.

Existen varias herramientas que nos ayudarán a ejecutar un set completo de pruebas. Estas herramientas son:

  • Circle CI
  • Travis CI
  • Jenkins

Aunque en esta serie de artículos no voy a hablarles de estas herramientas, si es importante tenerlas en cuenta para cuando hayas realizado tus pruebas en javascript y quieras ejecutarlas en el proceso de despliegue.


Ya entrando un poco más en materia, el propósito de esta serie de artículos nace a través de la poca información que he encontrado en internet respecto a los test en javascript. Por esta razón voy a desarrollar una serie de temas para hablar sobre los test del lado del frontend:

Temas

  1. TDD o Test Driven Development: En español: Desarrollo guiado a través de pruebas, esta metodología sugiere que el desarrollo de una funcionalidad se realice primero bajo la premisa de una prueba. Primero creamos una prueba muy básica sobre una funcionalidad que no existe, luego creamos la funcionalidad con lo mínimo necesario para cumplir con la prueba, luego refactorizamos la funcionalidad con todo el requerimiento completo y verificamos que la prueba se cumpla en todos los escenarios posibles.

  2. ¿Qué probar en una aplicación?: Desarrollar pruebas no es algo que tome poco tiempo, por lo tanto no es necesario probar toda una aplicación y es bueno saber cómo podemos probar ciertas funcionalidades. En esta sección aprenderemos a saber qué probar y cómo probarlo.

  3. Test unitarios: Los test unitarios representan pruebas sobre funcionalidades que no se ven afectadas por otras, por ejemplo: probar una función de suma.

  4. Test de integración: Los test de integración se refieren a funcionalidades que se ven afectadas por otras, por ejemplo para poder calcular la moda en estadística es necesario la funcionalidad de la división, la suma, la resta y la multiplicación.

  5. Test e2e (end to end): Los test end to end se refieren a test que se ejecutan simulando acciones del usuario. Aquí no se trata de funcionalidades que dependen meramente del código, si no de simular el llenado de un formulario, el click en un botón, la aparición de un texto. Éste tipo de test nos permitirá probar básicamente las acciones que el usuario desarrolla en una aplicación.

  6. Test en Angular: Aquí abordaremos todo acerca del desarrollo de pruebas en Ángular.

  7. Test en React: Aquí abordaremos todo acerca del desarrollo de pruebas en React.

  8. Test en Vue: Aquí abordaremos todo acerca del desarrollo de pruebas en Vue.

Espero me acompañen en éste nuevo camino puesto que quisiera empezar a trabajar sobre temas de desarrollo frontend poco vistos en internet.

Saludos a todos nuestros Frontends.

Sort:  

Thank you for using the #build-it tag. We have manually rewarded this post from our @build-it.curator account with BUILD tokens in the form of an upvote.


Build-it is a central hub for DIY and How-To projects. It's an opportunity to find and share the latest in DIY, and How-To tutorials. The recommended tags required when creating a DIY article are #diy, #build-it. #how-to, or #doityourself. Please read our guide


Need help? Live technical support on Discord or Telegram

|


This project is run and supported by our witness @gulfwaves.net. If you like what we do, click here to vote for us

This post earned a total payout of 2.837$ and 2.133$ worth of author reward which was liquified using @likwid. To learn more.