Testeando el código
Hemos oído muchas veces palabrejas tales como tests unitarios, tests funcionales, tests de comportamiento o tests de integración. También nos hemos preguntado muchas veces: ¿Para qué deben servir? ¿Cómo se hacen? Y los atrevidos incluso se habrán puesto a intentar aplicarlos en su código hasta que finalmente se dan cuenta de que están perdiendo el tiempo.
La realidad es que, como pasa con todo, a veces vale la pena aplicar esta metodología y a veces no. Es importante entonces saber cuál es el objetivo de los tests. En la asignatura de Testing impartida en el MUPWAR podemos aprender cuáles son estos objetivos y, por lo tanto, cuándo aplicar testing y cuándo no.
Aprendemos también la metodología de testing. Puede parecer sencillo al principio, pero a medida que se van adquiriendo conocimientos sobre qué se está haciendo y cuáles son los objetivos de lo que se está haciendo, nos damos cuenta que el testing es una campo muy extenso. Nos ayuda también incluso a diseñar el software, es decir, la parte funcional de la aplicación siguiendo los principios SOLID y nos ayuda a detectar code smells; si nos cuesta hacer tests unitarios para una clase, un método, etc. algo hemos diseñado mal.
Para corregir el diseño nos tendremos que remitir entonces a la asignatura de Diseño Eficiente anteriormente cursada.
Y, para acabar esta pequeña introducción de los beneficios del testing, éste nos ayuda a documentar el código (mediante la implementación de los tests de manera semántica) y nos dan seguridad cuando tenemos que hacer refactors de nuestro código ayudándonos a comprobar que no rompemos nada cuando cambiamos las líneas de código.
Personalmente, este es una de aquellas asignaturas que me hace sentir diferenciado profesionalmente de muchos otros programadores y, por lo tanto, me da muchos puntos a la hora de hacer una entrevista de trabajo. También me sirve para romper esa barrera de “novato” que dificulta siempre las primeras iteraciones de aprendizaje sobre un tema determinado.