¿Se aplica "testing ágil" con metodologías ágiles?

jueves, 18 de julio de 2013

Todos sabemos de qué estamos hablando cuando decimos “proyectos ágiles”. Ahora, ¿Cuándo hablamos de testing, decimos también “testing ágil” ?

Es sabido que ya sea que apliquemos metodologías de trabajo tradicionales o ágiles, los procesos de desarrollo de aplicaciones requieren tareas básicas, a grandes rasgos: análisis, construcción, pruebas, corrección de bugs, implementación. Pero uno de los puntos distintivos en las metodologías ágiles es la velocidad de respuesta frente a los cambios, característica no menor.

Las metodologías ágiles se caracterizan por la obtención de resultados hacia el cliente en el menor tiempo posible. Esto implica un cambio permanente en el software, y esto transforma el testing en ágil, lo que a su vez implica un cambio en la estrategia de testing y la vuelve fundamental ya que aporta uno de los valores primordiales en un proyecto de software ágil.

Más allá de las herramientas que se puedan aplicar para las tareas de testing y de gestión de los defectos, lo que quiero puntualizar en este artículo es la importancia que debe tomar el tester dentro de un equipo. 

Si bien es fundamental elegir las herramientas de apoyo a las tareas de testing desde el inicio del proyecto, tiendo a pensar que la mejor herramienta para un equipo ágil es el conocimiento, la confianza y el valor que tiene el aporte de cada uno. Lograr el fortalecimiento y la fluidez de las relaciones entre los integrantes del equipo, principalmente entre los desarrolladores y testers, es una de las claves para alcanzar con éxito los resultados esperados.

Tomo para ello algunos consejos que leí en este artículo . Cuando los desarrolladores y testers colisionan que me parecieron básicos pero muy interesantes, y que transcribo aquí porque pueden ser de utilidad:
  • Dilucidar juntos los requisitos de los clientes
  • Construir historias y pruebas unitarias juntos 
  • Consensuar cuándo una tarea está lista para pasar a testing para evitar “desencuentros” entre desarrollo y prueba
  • Definir entre todos claramente cuándo una tarea se considera como “Done”

Si bien puede sonar algo difícil de poner en práctica, en Tercer Planeta podemos dar fe que este tipo de acuerdos dentro del equipo hacen más fluida la forma de trabajo y con el tiempo se incorporan a un ritmo natural que favorece la relación entre los miembros.
 
Desde mi punto de vista, el "Testeo Ágil", está enteramente relacionado con el conocimiento y aprendizaje de la aplicación por todo el grupo, y fundamentalmente de la confianza que todos los integrantes del mismo le tengan al tester. Además de ser fundamental definir desde el comienzo y entre todos cuál va a ser la estrategia de testing a aplicar y elegir las herramientas que mejor se adapten a cada tipo de proyecto.

El test es una pata MUY importante en el desarrollo de software, vale la pena estar atentos a la evolución del mismo.

Otro artículo recomendado: ¿Como testear un proyecto ágil?