Mejorar nuestro TDD gracias a Happyprog

1
8196

Creación: 26-06-2011

Índice de contenidos

1.Introducción
2. Entorno
3. TDGotchi
3.1. Instalar TDGotchi
4. Pulse
4.1. Instalar Pulse
5. Conclusiones
6. Sobre el autor


1. Introducción

El TDD (Test-Driven Development) es una técnica de desarrollo de software que se basa en una sencilla regal: rojo –> verde –> refactorización.

Esto quiere decir que primero de todo escribimos el test (o mejor dicho un ejemplo de uso), como todavía no hemos escrito el código de producción el test no pasará, así que dará un rojo.
Ahora escribimos el código de producción para que el test (el ejemplo de uso) funcione, por lo que el test dará verde.
Y ahora, como tercer paso, estamos en condiciones de refactorizar (extraer métodos, quitar duplicados, mejorar el nombre de métodos, clases, atributos, …)

Un par de puntos importantes sobre TDD:

  • No se trata de una herramienta de testing, sino de diseño. Es decir con TDD intentamos mejorar nuestros diseños y código de producción en general. Por eso a mucho no les gusta la palabra “Test” y creen que se debería usar “Ejemplo” o algo similar (Desarrollo Dirigido por Ejemplos).
  • Cuando escribimos el código de producción para que pase el test, debemos intentar escribir el código mínimo. Es decir no hagáis sobre diseño ya que esto implica más clases, más código a mantener y al final muchas veces nunca se llega a usar este
    sobre diseño. El TDD es una técnica especialmente buena para hacer desarrollos incrementales iterativos, donde nos centramos en la funcionalidad que tenemos que hacer hoy, y mañana Dios dirá.
  • Para mejorar nuestras refactorizaciones os recomiendo que os leáis el libro Refactoring, de Martin Fowler

Para saber más sobre TDD os recomiendo leer el libro de Carlos

Blé: Diseño

Ágil con TDD. Está en castellano y es gratuito, aunque deberíais comprarlo o al menos hacer una donación para recompensar el esfuerzo realizado.

 

En este tutorial vamos a ver como mejorar y hacer más divertido (si cabe 😉 nuestro TDD, gracias a Happyprog, donde podemos encontrar tres sencillos plugins de Eclipse, dos
para mejorar nuestro TDD y un tercero para mejorar nuestro pair programming.

Happyprog home page

En este tutorial vamos ha hablar un poquito de TDGotchi
y de Pulse, que son los relacionados con TDD. Y Pair

Hero lo dejaremos para otra ocasión.


2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 17′ (2.8 GHz Intel i7, 8GB DDR3 SDRAM, 256GB Solid State Drive).
  • NVIDIA GeForce GT 330M with 512MB
  • Sistema Operativo: Mac OS X Snow Leopard 10.6.8
  • Eclipse 3.7, codename Indigo

3. TDGotchi

Happyprog TDGotchi page

Seguro que todos hemos oído hablar de los famosos Tamagotchi, esas criaturitas virtuales que teníamos que atender y alimentar como si de mascotas reales se tratara. Pues bien, TDGotchi es lo mismo, salvo que vive dentro de nuestro Eclipse y lo tenemos que alimentar con nuestro TDD      🙂

TDGotchi sigue un sencillo sistema de puntos:

Donde como veis, si hacemos un doble rojo penaliza enormemente 😮

Con estos puntos nuestro pequeño TDGotchi va evolucionando de la siguiente manera:

Fijaos que si tenemos una puntuación negativa, nuestro TDGotchi se convertirá en un zombie, así que cuidado con ese TDD  😛

TDGotchi no es más que una nueva View de Eclipse, donde se mostrará el pequeño TDGotchi y la puntuación que llevamos. Lo mejor es configurar esta ventana como una Fast View, para que simplemente veamos al muñequito en la esquina inferior izquierda del Eclipse. Por cierto la imagen no es estática, sino que se mueve y reacciona en función de si vamos haciendo bien o mal nuestro TDD      😀

3.1. Instalar TDGotchi

En el Eclipse nos vamos al menú Help –> Install New Software…

Eclipse Available Software Sites

Pinchamos sobre “Available Software Sites”

Eclipse Available Software Sites

Ahora Pulsamos sobre le botón Add, e introducimos la
URL: http://www.happyprog.com/tdgotchi/update

Eclipse Add Site for TDGotchi

Pulsamos el botón Ok, volviendo a la lista de Available Software

Sites, donde volvemos a pulsar el botón Ok.

Ahora en la ventana de Available Software, seleccionamos en Work with: la URL que acabamos de dar de alta, veremos como nos aparecen los plugins disponibles. En este caso TDGotchi, el cual marcamos.

Eclipse install TDGotchi

Ahora pulsamos el botón Next >, y seguir el proceso de instalación. Al final nos pedirá reiniciar el Eclipse, lo hacemos y ya estamos listos para trabajar con TDGotchi, nuesto
nuevo compañero de TDD.

 

4. Pulse

Happyprog Pulse page

Pulse es un sencillo plugin de Eclipse que nos muestra una View con nuestro “pulso” de TDD. Es decir, es como uno de esos monitores de los hospitales para comprobar las pulsaciones del corazón, de forma que cuando hagamos un rojo se mostrará un pico
hacia abajo, cuando hagamos un verde se mostrará un pico hacia arriba y cuando hagamos una refactorización se mostrará un pequeño pico azul hacia arriba.

 

Para empezar una sesión de Pulse tan solo tenemos que pulsar el botón de play (botón redondo verde con un triángulo blanco en el medio) que encontraremos en la propia View de Pulse.

Eclipse Pulse view

De esta forma Pulse nos ayuda a controlar nuestro ciclo de TDD para intentar que de verdad sea rojo –> verde –> refactoring, es una forma visual de ver si nuestro “pulso”
de trabajo es bueno y si nuestro “paciente” está sano.

4.1. Instalar Pulse

Se instala exactamene igual que TDGotchi, pero esta vez usaremos la URL: http://www.happyprog.com/pulse/update

5. Conclusiones

Tenemos que darle las gracias a Sebastián (twitter: @iamhappyprog,
email: sebastian@happyprog.com) por estos fantásticos plugins para Eclipse.

Sebastián nos demuestra que con un poco de imaginación se pueden hacer grandes cosas. Yo ya llevo tiempo con estos plugins instalados, y creo que ya no podría hacer TDD sin su compañía, así que no puedo hacer otra cosa que recomendaroslo a todos 😉

6. Sobre el autor

Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software) y Certified ScrumMaster

Socio fundador de Autentia (Desarrollo de software, Consultoría, Formación)

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L. – "Soporte a Desarrollo"

http://www.autentia.com

 

Alejandro es socio fundador de Autentia y nuestro experto en Java EE, Linux y optimización de aplicaciones empresariales. Ingeniero en Informática y Certified ScrumMaster. Seguir @alejandropgarci Si te gusta lo que ves, puedes contratarle para darte ayuda con soporte experto, impartir cursos presenciales en tu empresa o para que realicemos tus proyectos como factoría (Madrid). Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.

1 COMENTARIO

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad