Angel "Java" Lopez

NET, Java, PHP y Desarrollo de Software

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

.NET

ASP.NET

Windows Form

VB.NET

C#

Sitios

Blogs

Ejemplo de TDD con Python

Una de las prácticas que siempre intento “vender” a cualquiera involucrado en el desarrollo de software, es la práctica de Test-Driven Development. Una vez que se practica TDD, no quieren volver atrás. Es una forma de programar con tanta recompensa y gozo asociados, que me siento incómodo si no lo usa cuando escribo software real.

Gracias a un tweet de ayer de @jjfalcon, descubrí este ejemplo, en Youtube, del usuario objarni. El usa Ubuntu, programando en Python, usa pyTDDemon para ver inmediatamente el resultado de los tests.

Implementa algo sencillo: código que dado un string con una URL, identificar el protocolo, el dominio, y el recurso que está contenida en esa dirección. En TDD, se va escribiendo el test, el código que pasa el test, y se va progresando de a poco. No hace falta escribir el código correcto y completo desde el principio. Como en otras tantas actividades, el “baby-step”, el “pequeños pasos” de avance, nos ayuda para ir incrementalmente produciendo el resultado esperado.

Noten el ciclo rojo-verde-refactor, el código mínimo que se agrega en cada tests (a veces, retornando valores puestos a mano, sólo para pasar los tests), refactorizando el test si hay código duplicado, las micro-decisiones de diseño que se van tomando, etc… Excelente trabajo para mostrar en video!

Habría tanto para comentar de TDD. Por ahora, dos recursos. He “tagueado” más videos sobre TDD, en mi delicious:

http://delicious.com/ajlopez/tdd+video

Los enlaces que colecciono sobre TDD:

http://delicious.com/ajlopez/tdd

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Published Thu, Dec 24 2009 9:40 by lopez

Comments

# re: Ejemplo de TDD con Python@ Saturday, December 26, 2009 8:36 AM

Muy buen post! Hace un tiempo en Making Good Software leí un post interesante al respecto, donde se habla de la confusión entre TDD y las metodologías "test first":

www.makinggoodsoftware.com/.../tdd-is-not-about-testing

Saludos!

Milton Pividori

# re: Ejemplo de TDD con Python@ Monday, February 08, 2010 11:38 PM

Muy buen artículo. De hecho gracias a este post empecé a leer sobre TDD. Un detalle, el helper que usa en python se llama pytddmon.

Buscando pytddemon como pusiste no se encuentra nada! Así que porahí convenga corregirlo

gracias de nuevo!

Manuel

Manu

# re: Ejemplo de TDD con Python@ Monday, May 17, 2010 2:20 PM

usé este post de resource para una presentación que tengo que dar, así que te comento :)

gracias!

docs.google.com/.../edit

Manu

# re: Ejemplo de TDD con Python@ Sunday, March 25, 2012 5:04 PM

Sumamente interesantes los videos y el artículo en general.

Les comparto un enlace con material adicional relacionado con el tema.

camello.hourb.com/desarrollo-guiado-por-pruebas-en-python

Saludos!

Hugo

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above: