Blog del grupo de investigación GRITS. Redes de próxima generación para el Internet del futuro, Fog Computing e Internet de las cosas para implementar nuestros diseños personalizados en nubes híbridas ciberseguras, en sistemas de almacenamiento a gran escala y comunicaciones de larga distancia.

21 Abril 2016 | Publicado por Editorial Team GRITS

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.

 

Share

Añadir nuevo comentario

CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.
1 + 0 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.