Desarrollo dirigido por pruebas en Python (I): Una historia que pasa todos los días

Vamos a iniciar una serie de artículos sobre desarrollo dirigido por pruebas en Python (TDD en inglés) con el objetivo de acercarlo a científicos e ingenieros. En el primero presentaremos la idea principal del desarrollo dirigido por pruebas, y para ello empezamos una pequeña historia:

Una empresa de desarrollo de productor de jardinería a medida, GardenTech, tiene un nuevo cliente, el señor Sellers. La reunión de requisitos podría ser algo así:

Ingeniero GardenTech: Buenos días señor Seller, díganos qué es lo que necesita.

Sellers: Necesito una manera de poder regar mis plantas.

GT: Podemos ayudarle, tenemos mucha experiencia en ese campo. ¿En qué ha pensado?

S: Tengo 5 macetas, así que me gustaría llevar el agua para allá y echársela.

GT: Perfecto, le pondremos a su aparato un agujero grande para que pueda llenarlo de agua y muchos pequeñitos para que no tronche las flores.

S: Pero ¿y si se me cae?

GT: Tranquilo, la usabilidad es nuestra especialidad, le añadiremos un asa para que pueda manejarlo y no será muy grande para que no pese.

S: ¿no será grande? Entonces igual lo pierdo.

GT: Todo está pensado, le daremos un color rojo brillante para que pueda encontrarlo a simple vista.

S: ¿Y si me mojo?

GT: Los agujeros pequeños estarán alejados del dispositivo mediante un tubo.

S: Perfecto, veo que piensan en todo.

GT: Somos buenos.

El señor Sellers y GardenTech están de acuerdo  en los requisitos que debe tener el artefacto, y GardenTech comienza a desarrollarlo. Un mes después la empresa llama al seños Sellers. En medio de la sala de reuniones hay una mesa con un bulto cubierto por una sábana.

Continue reading