Categorías del Tutorial

icono_twiter
Alejandro Pérez García

Alejandro es socio fundador de Autentia y nuestro experto en J2EE, Linux y optimización de aplicaciones empresariales.

Ingeniero en Informática y Certified ScrumMaster

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.

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2011-06-29

Tutorial visitado 4.140 veces Descargar en PDF
Mejorar nuestro TDD gracias a Happyprog

Mejorar nuestro TDD gracias a Happyprog

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:

Happyprog TDGotchi score

Donde como veis, si hacemos un doble rojo penaliza enormemente :-o

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

Happyprog TDGotchi evolution

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

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      :D

Happyprog TDGotchi fast view


3.1. Instalar TDGotchi

En el Eclipse nos vamos al menú Help --> Install New Software...

Eclipse Install New Software...

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.

Pulse anatomy of a session

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



A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2011-06-29-12:22:45

Autor: franferri

Que grande, lo voy a probar en 2 días.