Artículos

Artículos

Aprender unit testing en ISDI Coders

11 · Feb · 2021

Tanto si han programado con anterioridad como si no, quienes consiguen acceden a ISDI Coders son personas con un implicación del 100% en su futuro profesional. Para llevarles a la mejor versión de un programador, tenemos que prepararles para poder optar al máximo de ofertas de empleo posibles. El testing es una parte imprescindible del proceso de aprendizaje en ISDI Coders.

Existen muchas filosofías distintas en lo referente al testeo de aplicaciones. Algunas empresas no testean su código, otras ponen umbrales del 80% de cobertura; unas tienen perfiles específicos que solo testean las aplicaciones y otras prefieren que sean los propios desarrolladores quienes lo hacen.

Hay muchas categorías de test, pero principalmente hay cuatro grandes tipos: test unitario, de integración, de regresión y de aceptación. En la imagen de la izquierda podemos ver la conocida pirámide del testing, en la que vemos los distintos tipos ordenados por su el tiempo que requiere ejecutarlos. 

  • Test unitario o unit testing: prueba cada fragmento de código individual. El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes individuales son correctas.
  • Test de integración: mientras que las pruebas unitarias corren pruebas sobre partes del código de forma independiente las pruebas de integración se hacen necesarias cuando queremos probar de una manera sistemica un proyecto como un todo.
  • Test de regresión: después de la integración (y tal vez de la corrección de un error), debe volver a ejecutar las pruebas unitarias. El test de regresión se realiza para garantizar que los cambios posteriores no hayan roto ninguna unidad que ya se haya probado anteriormente.
  • Test de aceptación: este tipo de test debe probar que el programa funciona de la forma en que un usuario / cliente espera que funcione la aplicación. En general, las pruebas de aceptación garantizan que la funcionalidad cumpla con los requisitos comerciales.

¿Por qué en ISDI Coders se aprende Unit Testing?

Las semanas que nuestros alumnos y alumnas pasan en ISDI Coders tienen que llevarles a un nivel de Javascript muy profundo. Por un lado tenemos que introducir la sensibilidad por el código testeable (bien hecho) y por otro la capacidad de aprender nuevos formatos de testing. En palabras de Toni Navarro, jefe de Ingeniería de Fotocasa y Habitaclia (donde trabajan diversos exalumnos de ISDI Coders):

El testing Unitario es el más difícil de todos. Para que un código sea testeable a nivel unitario quiere decir que has tenido que seguir unos preceptos muy claros y regirte por principios SOLID. Si no, tu código no es testeable.

Es por esta razón que, en ISDI Coders, el testing no se imparte en un taller o una charla durante el curso: desde la primera hasta la última línea de código que hacen los alumnos en las 11 semanas tiene que estar testeada a nivel unitario. Para ello enseñamos distintas técnicas (conocidas como test doubles): dummies, fakes, stubs, spies & mocks. Con estas técnicas los alumnos descubren que el código no solo tiene que funcionar sino ser testeable, lo que les lleva a refactorizar el código siguiendo los principios SOLID para poder testearlo.

Con esta base les resulta mucho más fácil aprender los otros tipos de test cuando llegan a sus empresas. Lo más difícil ya lo hemos conseguido: un código bien planteado y afianzar la sensibilidad por el testeo. 

Conseguir un trabajo es lo que está en juego 

Un bootcamp de programación supone un gran reto. Aprender a realizar una aplicación web completa en pocas semanas es difícil, pero conseguir que la aplicación tenga que cumplir las mejores prácticas de programación es un reto mucho mayor. Implica una grandísima dificultad añadida, pero asegura que nuestros estudiantes optarán a un abanico mayor de ofertas de empleo:

  1. Presentarán un mejor código que otros candidatos en aquellas en las que el testing no sea necesario.
  2. Podrán optar aquellas en las que testear es un requisito y donde quienes no sepan testear no podrán acceder.

Necesitamos maximizar las posibilidades que los alumnos de ISDI Coders encuentren un trabajo al terminar nuestro bootcamp de programación web.