CRITERIO

Práctica · ejemplo: Regla de descuento

Aprender con TDD (cada prueba es una hipótesis)

Escribe la prueba de lo que crees que hará el código antes de escribirlo.

Evidencia práctica profesional120 min en total

TDD también es un método de aprendizaje: la prueba es tu hipótesis sobre el comportamiento (t<0), el código es el experimento (t=0) y el resultado verde o rojo es la evidencia (t>0). Sirve para aprender una librería nueva escribiendo pruebas de aprendizaje sobre ella.

Para quién
Todos los niveles con algo de Python.
Fuente
Beck (2002), Test-Driven Development: By Example. Los estudios sobre productividad son mixtos (Fucci et al., 2017).
Muy usada en la industria; poca investigación controlada.
Probar el ejemplo

El plan en el tiempo

Qué haces antes, durante y después. Mueve t y mira qué ya ocurrió.

Antes de encontrar el concepto t<0

  1. t=-1

    Escribes la prueba de cómo crees que se comporta un descuento

    Predicción · 5 min · Comprometerse con una predicción crea una expectativa que el resultado confirma o rompe.

El encuentro t=0

  1. t=0

    Escribes el código mínimo y ves el rojo pasar a verde

    Explicación · 30 min · El primer encuentro: alguien (o un texto) explica el concepto.

Después: consolidar t>0

  1. t=+1

    Siguiente regla: nueva prueba roja, luego verde

    Aplicación · 30 min · Usar el concepto en un problema nuevo construye transferencia.

  2. t=+3

    Refactorizas con las pruebas como red

    Aplicación · 30 min · Usar el concepto en un problema nuevo construye transferencia.

  3. t=+6

    Analizas una prueba que falló cuando no esperabas

    Análisis de errores · 15 min · Encontrar y explicar un error enseña los límites de una regla.

  4. t=+12

    Revisas qué pruebas te enseñaron algo

    Reflexión escrita · 10 min · Escribir qué esperabas y qué pasó convierte experiencia en criterio.

Trayectoria frente al método de control

0255075100-30+3+7+14+21+30
Aprender con TDD (cada prueba es una hipótesis)Releer y subrayar (control)

Se aplica en la ruta

Úsala programando, no solo leyendo

Pruébalo ahora

Regla de descuento

Predice si cada prueba pasa o falla en un ciclo rojo, verde, refactor.

Paso 1 · rojo

Nueva prueba

1def test_frecuente_tiene_10_por_ciento():
2    assert descuento(Cliente(frecuente=True), Producto(oferta=False)) == Porcentaje(10)

Todavía no existe descuento(). ¿La prueba pasa o falla?

Aplícalo esta semana

Con tu propio código de Python

Cuándo no usarla

Para explorar algo que no sabes ni qué hace: primero un prototipo descartable.

Señal de que funciona

Tus pruebas fallan cuando esperas y pasan cuando esperas.

Tu decisión

¿Aprender con TDD te hizo aprender?

Responde después de probar el ejemplo. Se guarda solo en este navegador.