¿Hay algún buen tutorial en línea para TDD para un progtwigdor experimentado que es nuevo en las pruebas?

Estoy trabajando con un equipo de desarrollo de Python que tiene experiencia con la progtwigción en Python, pero que ahora está tratando de adquirir TDD. Como tengo experiencia en el trabajo con TDD, me han pedido que haga una presentación al respecto. Principalmente, solo quiero ver artículos sobre esto para poder ver cómo otras personas están enseñando TDD y obtener ideas para material para poner en mi presentación.

Preferiblemente, me gustaría que la introducción fuera para Python, pero cualquier lenguaje funcionará siempre que los ejemplos sean fáciles de leer y los conceptos se transfieran a Python fácilmente.

Una sugerencia que haría es comenzar un grupo Dojo de encoding . Es útil iniciar TDD desde cero con un grupo, con la mayoría de las mejores prácticas recomendadas y centrarse en TDD.

Sus ideas básicas son tomar un desafío simple (como un progtwig que transforma las cadenas de algarismos romanos en caracteres ints) y comenzar a codificarlo, a partir de entradas simples, y codificar solo cuando falla una prueba. No es el objective de esto terminar con el problema, sino comenzar a hacerlo de la manera correcta.

Aquí hay otro enlace al respecto, del cual recuperé la siguiente parte:

  • Hay un desafío de encoding que se anuncia de antemano.
  • Hay una sala con una computadora conectada a la pantalla de video.
  • El presentador explica el desafío de encoding e inicia la encoding. El presentador puede o no elegir tener un copiloto. Si se trata de una sesión de Randori, generalmente se asigna un copiloto de modo que cuando se produce el cambio, el copiloto asum el control del codificador.
  • La mitad del par se cambia cada 5 minutos si la sesión es Randori.
  • El progtwigdor debe explicar continuamente lo que está haciendo.
  • El progtwigdor debe detenerse cuando alguien del público se cae del trineo (tiene una pregunta sobre cómo entender lo que está haciendo el par) y solo debe continuar cuando esa persona vuelva a encarrilarse.
  • Todos los codificadores utilizan TDD (Test-Driven Development).
  • Todo el código producido se pondrá a disposición del público utilizando la Licencia Pública Común de Eclipse.
  • El lenguaje de progtwigción a utilizar se anuncia por adelantado por sesión.

El libro de Kent Beck da algunos ejemplos en Java y algunos en Python (para ser honesto, Kent no me parece una superestrella en ninguno de los dos idiomas, a juzgar por el código de ejemplo en este libro … pero definitivamente aparece como un superestrella en TDD & c – también debería, dado que básicamente lo inventó así como la progtwigción extrema, vea su entrada en wikipedia ).

Me complació mucho con el artículo de dos partes “Test Driven Development in Python” en el sitio de O’Reilly:

http://www.onlamp.com/pub/a/python/2004/12/02/tdd_pyunit.html

http://www.onlamp.com/pub/a/python/2005/02/03/tdd_pyunit2.html

Esto realmente aclaró cómo usar el módulo de prueba de unidad de Python para TDD, además de brindarme una buena dosis de la mentalidad de TDD.

Creo que los capítulos que cubren las pruebas en Dive Into Python son bastante buenos. Cubren la construcción de un progtwig básico desde cero utilizando TDD.

Comenzando con Tdd en Java usando Eclipse por Brett L. Schuchert

Es un conjunto de capturas de pantalla sobre TDD en Java y en C #. Está empezando desde cero y enseñando lo básico.

Comencé a hacer pruebas de unidad hace unos pocos años, y he leído bastantes desde mi libro inicial. Sin embargo, mi inicial fue “Test Driven” por Lasse. Para mí, el autor lo hizo fácil de entender. Tal vez podrías sacarle algo de información para tu enseñanza.

Y por cierto, también he enseñado TDD. Descubrí que asegurarse de que la audiencia entienda cómo usar las pruebas unitarias antes de ingresar a TDD es bastante útil.

¡Buena suerte! 🙂