Unit Test: La importancia de usar tests unitarios
Publicado en Programación el 11 de May de 2009 por Manel Pérez MataTags: Unit Test
Un test unitario (Unit Test) es un trozo de código desarrollado con el único objetivo de verificar que una rutina o función de nuestro código está funcionando según esperamos.
En definitiva, lo que Unit Test pretende es tener trozos de código que se encargarán de testear por separado y de forma independiente cada uno de los métodos de las distintas clases que compongan el programa desarrollado, para que cuando se haga alguna modificación en el código, posibles errores derivados de esa modifiación puedan ser identificados y corregidos de manera rápida y eficaz.
La idea general que se destila de los tests unitarios es que si todas las partes de un código funcionan por separado, lo más probable es que el global que componen también funcione. Obviamente, siempre será necesario realizar un testeo general (o pruebas de integración) de la aplicación para comprobar que el todo que hemos compuesto funciona correctamente.
¿Porqué usar Unit Test?
Los más reticentes al desarrollo de tests os estareis preguntando… ¿Qué ventajas obtenemos de “perder tiempo” picando una serie de líneas de código que no están destinadas a hacer funcionar la aplicación?
Pues bien, estas pruebas aisladas proporcionan siete ventajas básicas:
- Facilita los cambios en la aplicación ya que las pruebas nos asegurarán que los nuevos cambios no han introducido errores.
- Simplifica la integración gracias a que permiten llegar a la fase de integración con un grado alto de seguridad de que el código está funcionando correctamente. De esta manera se facilitan las pruebas de integración.
- Documenta el código. Las propias pruebas son un libro abierto sobre el funcionamiento de la función y los resultados esperados.
- Separación de la interfaz y la implementación. Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro.
- Los errores están más acotados y son más fáciles de localizar: dado que tenemos preparado un test para cada función que puede desenmascararlo.
- Aunque pueda parecer mentira, los test unitarios aceleran el desarrollo de nuestro software debido a que.
- Ayuda a tener un código desacoplado gracias a que cada una de nuestras funciones está pensada para devolver un resultado que podrá ser testeado.














May 14th, 2009 19:45
[...] otro día os hablaba de la importancia de usar test unitarios. Hoy os dejo un pequeño documento sobre PHPUnit, un framework para PHP que nos permite crear y [...]
May 16th, 2009 22:02
[...] Incorpora Lime, un sistema propio de Symfony para realizar tests unitarios. [...]
September 17th, 2009 11:09
[...] algún tiempo, os hablaba de la importancia de usar Unit Testing en nuestros desarrollos para tender localizados los posibles errores en cada una de nuestras [...]