TDD o Test Driven Development

testing

El TDD o Test Driven Development, en español, desarrollo guiado por pruebas, es una técnica de programación que consiste en realizar las pruebas del código antes que el propio código. Consta de tres fases , primero se crea el test, y se hace que devuelva un resultado correcto. Después se implementa el código para que ese test siga dando correcto y finalmente se refactoriza el código final.

Con esta metodología se consigue que el código cumpla con las especificaciones, probadas por las pruebas, que el código sea fiable, y que además, cuando se tiene que modificar el código, su cambio sea seguro y siga cumpliendo con los requisitos que las pruebas les exige.

¿ Como se implementa TDD o desarrollo guiado por pruebas ?

Consta de tres fases

  • Creacion de tests. Con las especificaciones del problema, se realizanlos test que tiene que cumplir el programa para solucionar el problema.
  • Implementacion del código. Aqu es donde se codifica la solucion del problema, y este debe seguir pasando el test
  • Refactorizacion. Cuando hemos codificado, pasamos a rehacer el código para que quede correcto y funcione bien. También debe seguir pasando los tests.

¿ Que tipo de pruebas hay ?

Dentro de las pruebas o tests podemos distinguir entre varios tipos.

  • Pruebas de humo
  • Pruebas unitarias
  • Pruebas de integración
  • Pruebas de regresión
  • Pruebas de aceptación

Pruebas de humo

Consisten en unas pruebas rápidas iniciales para decidir si el software es suficientemente estable para comenzar a realizar las pruebas más exaustivas. Se realizan en la primera fase de desarrollo, por lo que se decide si el software es funciona,y y se continua o hay que corregir o incluso comenzar un nuevo desarrollo.

Pruebas unitarias

Son realizadas por el equipo de desarrollo, y consisten en realizar pruebas sobre las unidades más pequeñas de código del software, sin necesidad de tener el sistema completo.

Pruebas de integración

Estas se llevan a cabo, cuando se unen varios módulos o unidades de código, y tienen como objetivo probar el funcionamiento cuando se unen los módulos y que todo funciona correctamente.

Sería un ejemplo, algun proceso de dos pasos, que la consecucioón del primero lleve al segundo. Por ejemplo, introducir un código, que busque un producto. Serían dos procesos los implicados en la búsqueda. La introduccion y envío del código, y la búsqueda en si.

Este tipo de pruebas ya la debe llevar a cabo el equipo de calidad del software, especializado en pruebas.

Pruebas de regresión

Se hacen cuando se lleva a cabo modificaciones, y consisten en asegurarse qeu el sistema funciona correctamente después de los cambios.

Idealmente deben ser automáticas, aunque a veces es necesario realizar algunas manuales, por el tipo de proceso que se está probando.

Pruebas de aceptación

Esta es la fase más avanzada, y son las pruebas qeu se hacen en un escenario real, teniendo en cuenta todo el sistema.

Normalmente son pruebas manuales, y tienen la intervención del cliente, y por lo tanto, están mucho más valoradas.

Conclusion

Si todo esto se realiza, entonces el producto final, tendrá un grado de validez y precisión muy elevado.

Es una tranquilidad, y da confianza realizar cambios, si sabemos que el sistema nos va a decir que algo va mal, y debemos corregirlo.

Es como hacer equilibrio con red …


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Consentimiento de Cookies de acuerdo al RGPD con Real Cookie Banner