Test-Driven development (TDD) es una práctica de programación que implica el desarrollo de pequeñas piezas de código basándose en test cases escritos con anterioridad. ¿Y esto que quiere decir? Quiere decir que el desarrollador escribe los test cases antes de escribir el código. El tipo de pruebas (test cases) que hace el desarrollador suelen ser unitarias y automatizadas. ¿Como funciona?:
- Se selecciona un requisito.
- El desarrollado escribe el test case o test cases para probar ese requisito.
- Los ejecutan los test. Con el resultado de que todos los test cases fallarán (si el test no falla esto quiere decir que el requisito probablemente ya ha sido implementado o hemos escrito incorrectamente el test case)
- Se implementa el código, de tal manera que haga que la prueba pase satisfactoriamente.
- Una vez terminamos, se hace “refactoring”, para eliminar código duplicado.
- Podríamos lanzar los test cases otra vez para verificar que no hemos roto nada durante el refactoring.
La idea principal de esta técnica de programación es que los requerimientos sean traducidos a pruebas, así cuando las pruebas pasen correctamente estaremos garantizando que los requerimientos se han implementado correctamente. La idea es escribir la menor cantidad de código posible. Una limitación de esta técnica que debemos considerar es que para hacer TDD es necesario que nuestros test cases estén automatizados.
¿Es TDD compatible con el testing tradicional? Por supuesto, no sólo es compatible sino que el hacer TDD no implica que no debamos hacer más testing. Una vez ha terminado el desarrollo usando TDD debemos realizar actividades tradicionales de testing: test de integración, test de sistemas, User Aceptance Test…todo depende de las necesidades de vuestra empresa.
Referencias: http://www.testdriven.com












Leave a Reply