Ciclo TDD
- Red
Escribir un test que falle - Green
Escribir el código que hará pasar el test - Refactor
Mejorar el código
Bienvenida e Introducción
Paso a paso para testing básico en Java
Introducción a tests en software
Tipos y beneficios de los tests
Preparación del IDE, proyecto y librerías
Instalación de IntelliJ IDEA, creación del Proyecto con Maven y Tests Unitarios
Creación de test unitario: lanzar una excepción para alertar sobre un error
Test unitario con JUnit
Organización de tests con JUnit
Testing en Java con JUnit para Verificar Contraseñas
Test con Mockito para simular un dado
Test con Mockito: simular el uso de una pasarela de pago
Análisis de los tests y mejoras
Reto 1: crear la función isEmpty
TDD
TDD: Definición, Beneficios, Ciclos y Reglas
Ejemplos de TDD: calcular el año bisiesto
Ejemplos de TDD: cálculo de descuentos
Reto 2: Práctica de TDD
Tests en una aplicación
Organización de una aplicación
App de Películas: Test de Negocio
App de Películas: test de búsqueda de películas por su duración
Creación de la base de datos y tests de integración con bases de datos
Test de integración con base de datos: guardar películas y búsqueda de películas individuales
Reto 3: Nuevas opciones de búsqueda
Requerimientos y tests
Test a partir de requerimiento
Reto 4: Búsqueda por varios atributos
Conclusiones
Resumen y conclusiones
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
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.
Puedes combinar las reglas del TDD con su ciclo tal como hizo el profesor:
Aportes 29
Preguntas 2
Ciclo TDD
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)
Tres pasos:
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!
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?
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?