viernes, marzo 06, 2009

DevLab: TDD, pruebas de unidad.

En el desarrollo de software, ya sea usando metodología "formales" como la ingeniería de software o metodología ágiles, incluyen una fase que se denomina de pruebas.

Hay diferentes forma de realizar las pruebas, una de ellas, y quizás la menos optima, es darle la responsabilidad al programador que esta implementando la funcionalidad a que el mismo realice las pruebas.

Otra forma de hacer es tener un equipo formalmente de aseguramiento de calidad o Q&A.

Ambas opciones generalmente no son pruebas automáticas o que nos aseguren que la mecánica de la prueba va a ser siempre igual o que accidentalmente se omita alguna parte de la prueba.

El resultado derive en que cabe la posibilidad de que nuestro programa presente "bugs" al momento de llegar a producción.

Ante esta situación en la industria de desarrollo de software ha ideado practicas para poder realizar pruebas automáticas sobre el software.

Una de estas practicas es la llamada Pruebas de Unidad o Unit Testing. Las pruebas de unidad consisten en pequeños bloques de código que se ejecutan para probar el código de nuestra aplicación.

Las pruebas de unidad tiene como alcance el probar únicamente la funcionalidad propia de clase en cuestión y no su interacción con otras clases del sistema.

Como una extensión a la realización de pruebas de software, la Técnica Desarrollo Dirigido por Pruebas o Test Driven Development (TDD), nos indica que "alguien" tiene que escribir las pruebas de nuestro código a partir de las especificaciones del mismo, antes que esa funcionalidad sea implementada. Esto se debe a que el objetivo de TDD es dual, primero al escribir las pruebas para código que no existe, estamos realizando el diseño del software que vamos a construir y el segundo objetivo es que las pruebas realizas obedecen a una especificación, por lo tanto es posible identificar en que parte de nuestro software se implemento la especificación requerida.

Referencias


DevLab: TDD, pruebas de unidad from Mario A Chavez on Vimeo.

Material del Screencast

2 comentarios:

lastuser dijo...

Muy buen articulo!

Fernando dijo...

Muy buen screencast, que sigan llegando, se va a la seccion de favoritos :P