Desarrollo impulsado por pruebas


El desarrollo impulsado por pruebas ( TDD ) es un proceso de desarrollo de software que se basa en que los requisitos de software se conviertan en casos de prueba antes de que el software esté completamente desarrollado, y rastrea todo el desarrollo de software probando repetidamente el software con todos los casos de prueba. Esto se opone a que el software se desarrolle primero y los casos de prueba se creen más tarde.

El ingeniero de software Kent Beck , a quien se le atribuye haber desarrollado o "redescubierto" [1] la técnica, declaró en 2003 que TDD fomenta los diseños simples e inspira confianza. [2]

El desarrollo impulsado por pruebas está relacionado con los conceptos de programación de prueba de programación extrema , que se inició en 1999, [3] pero más recientemente ha creado un interés más general por derecho propio. [4]

Los programadores también aplican el concepto para mejorar y depurar código heredado desarrollado con técnicas más antiguas. [5]

Hay varios aspectos del uso del desarrollo basado en pruebas, por ejemplo, los principios de "hazlo simple, estúpido" ( KISS ) y " No lo vas a necesitar " (YAGNI). Al centrarse en escribir solo el código necesario para aprobar las pruebas, los diseños a menudo pueden ser más limpios y claros de lo que se logra con otros métodos. [2] En Desarrollo basado en pruebas por ejemplo , Kent Beck también sugiere el principio " Fíngelo hasta que lo logres ".

Para lograr algún concepto de diseño avanzado, como un patrón de diseño , se escriben pruebas que generan ese diseño. El código puede seguir siendo más simple que el patrón de destino, pero aún así pasar todas las pruebas requeridas. Esto puede ser inquietante al principio, pero permite que el desarrollador se concentre solo en lo que es importante.


Una representación gráfica del ciclo de vida del desarrollo basado en pruebas