No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Básico de Testing en Java

Curso Básico de Testing en Java

Ferran Maylinch Carrasco

Ferran Maylinch Carrasco

TDD: Definición, Beneficios, Ciclos y Reglas

12/24
Recursos

El Test Driven Development (TDD) o desarrollo guiado por test, creado por Kent Beck, consiste en escribir primero los test antes que las clases permitiéndote ver si el diseño de una clase es la adecuada.

El ciclo del TDD

  • Red: escribe un test que falle.
  • Green: escribe el código necesario para que pase el test.
  • Refactor: mejora el código.

Reglas

  1. Sólo escribirás código de test hasta que falle.
  2. Sólo escribirás código de producción para pasar el test.
  3. No escribirás más código de producción del necesario.

Puedes combinar las reglas del TDD con su ciclo tal como hizo el profesor:

  1. Red: Escribirás el mínimo de código test que falle.
  2. Green: Escribirás el mínimo de código de producción que pase el test.
  3. Refactor: sólo cuando los tests estén pasando.

Aportes 29

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Ciclo TDD

  • Red
    Escribir un test que falle
  • Green
    Escribir el código que hará pasar el test
  • Refactor
    Mejorar el código

Este tema me saca del cuadro, ya quiero aprender todo sobre esto!

El TDD está genial, aunque no creo que sea la herramienta definitiva. Soy más partidario de usar un diseño previo, aunque supongo que todo depende del escenario. A veces puede ser mucho más rápido hacer TDD.

Muy buena y clara definición de TDD, hace poco me lo preguntaron en una entrevista laboral y no supe responder con buenas bases.

Por eso las clean arquitectures hace mas sencillo esto hay codigo espaguetti que vuelve un dolor de cabeza los test

Excelente la definición personal del docente frente a lo que son las reglas del TDD. Fue en ese momento que me quedó mucho más claro como empezar a pensar cuando inicio con esta herramienta de desarrollo. 😁

No me llama la atención usar TDD en mi vida profesional. Pero me lo piden en el trabajo jajaja.

TDD: Test Driven Development (Desarrollo guiado por Tests)

  • Comenzar a desarrollar creando primero los tests para comprobar las funciones de nuestra aplicacion.

Tres pasos:

  1. Test que falle.
  2. Test que pase (Escribiendo el codigo en nuestra función).
  3. Refactorizar código para hacerlo mejor.

Realizar TDD permite mejorar muchos los errores del código, debido a que se canaliza desde el primer momento de la codificación

Excelente clase!

Las 3 reglas del TDD 1. Solo escribirás código de test hasta que falle. 2. solo escribirás código de producción si es para pasar un test que falla 3. no escribirás más código de producción del necesario para pasar el test
TDD es transformar los test en algo util que mejora la calidad final del codigo escrito y le ayuda al dev a mejorar sus implementaciones. Solo leyendo como los test fueron escritos se puede evaluar facilmente el acoplamiento y cohesion, la rigidez, SOLID, DRY, KISS, testeabilidad, mantenibilidad, legibilidad, complejidad ciclomatica, funcionalidad y otros atributos de calidad de software. Empezando por TDD hace facil lo anterior si el test queda muy complejo probablemente el diseno o si tengo que mockear demasiadas dependencias es un indicio que implementacion no es el mejor.

Muchas gracias por este tremendo aporte profesor!

No sé que tan viable sea en el mundor eal aplicar TDD, lo digo porque todo parece indicar que la piedra angular es un buen diseño del sistema, eso quiere decir que los requerimientos y la arquitectura en sí está muy bien definida. Y pues en mi poca experiencia en el mundo real eso no es ni de cerca así ajajaj

Clara definición de TDD

Red-Green-Refactor

TDD: Consiste en tomar la funcionalidad que se desea trabajar y planear cómo se va a probar su funcionamiento, se escribe y se ejecuta el test esperando un rojo y se pasa a escribir únicamente el código necesario para conseguir pasar el test en verde, (Refactor) luego se revisa dicho código para encontrar mejoras, eliminar la redundancia, generando así una nueva versión del código, superada dicha funcionalidad del proyecto, seguimos con las siguientes.

El TDD es evolutivo y cíclico.

Excelente clase!

Estupenda explicación instructor Ferran, el enfoque diferente que nos da el Test Driven Development puede que nos haga demorar el desarrollo de una aplicación, sin embargo, nos permitirá estar seguros que estará funcionando frente a las situaciones que se le coloquen en cada test y además mejoraremos el código frente estas situaciones.

Excelente definición del TDD, queda claro el ciclo con el mapa conceptual, muy buenas explicaciones del profesor

Genial 😃 la he escuchado y algunas empresas la usan bastante para tener código limpio

Genial, no lo conocia pero se ve que es muy importante.

Gracias

No sería mejor pensar bien los test al principio, crear todos los test (todos fallarían) y de ahí ir creando el código para que vayan pasando cada test?