-
Cómo enseñamos TDD
TDD es una práctica cuyo punto clave es la secuencia de pasos que se siguen para obtener la solución. En Algo3 explicamos la teoría y luego la ponemos en práctica haciendo dojos en las clases. También les damos ejercicios a los alumnos y les pedimos que los resuelven haciendo TDD, pero la realidad es no tenemos… — read more
-
Implementación de Step Definitions en Cucumber-JVM
Continuando con los dilemas del uso de cucumber, luego de un par de reuniones con los analistas/testers del proyecto, tomamos algunas decisiones: Escribir los steps con las menor cantidad de parámetros posibles Agrupar los step definitions en base a conceptos de negocio Utilitzar Step definitions con estado (stateful) A partir de esto, el flujo de trabajo… — read more
-
La polémica: TDD está muerto
Recientemente David Heinemeier Hansson, creador del framework Rails, publicó un artículo titulado TDD is dead, long live testing que causó cierto debate con referentes de la disciplina. Incluso Uncle Bob y Kent Beck dedicaron incluso algunas líneas a la cuestión. Personalmente creo que TDD es una práctica muy útil, la uso a menudo, pero no todo el tiempo ni para todo.… — read more
-
Estrategia de Continuous Delivery: git + jenkins + heroku (parte 1)
En uno de los proyectos open source en los que participo hemos montado una infraestructura de continuous delivery que nos viene dando buenos resultados por ello quiero dedicar algunas líneas a describir su estructura. El proyecto consta de 2 aplicaciones, una webapp y un servicio de backend pero cada una es manejada de forma independiente, por… — read more
-
Configuration Management in my .NET project
On these days I am working on big system that is built on several components: a couple of websites, some backend services and several shared libraries. At this moment all these components are stored in the same Subversion repository. As you can image, this is a huge repository. At the same time, the system is already running in… — read more
-
Cucumber: teoría y práctica
Teoría: Cucumber es una herramienta para hacer BDD y como tal logró su difusión. BDD una de las técnicas de la familia Test-First. Práctica: uno puede utilizar Cucumber sin hacer BDD ni Test-First. O sea, es posible usar Cucumber para escribir pruebas sobre aplicaciones ya existentes. Personalmente hace más de dos años que usé Cucumber por… — read more
-
Los dilemas del uso de Gherkin/Cucumber
Como mencioné anteriormente, estoy trabajando un proyecto ocupando el rol de Software Engineer in Test (SET). Una de las primeras cuestiones que debí resolver en el proyecto fue acordar con los analistas/testers la convenciones para escribir los tests con Gherkin. Todo aquel que haya trabajado con Gherkin en algún momento seguramente se ha enfrentado a… — read more
-
Las Heras Basket, historia de un logro merecido
Una vez más voy a tomarme una breve licencia para desviarme de la temática habitual de este espacio y dedicar algunas líneas a una iniciativa deportiva de la que soy parte. La iniciativa de la que quiero hablar no tiene un nombre oficial, pero si lo tuviera sería algo del tipo «Las Heras Basket». Me… — read more
-
Métodos de clase
Conceptualmente los métodos de clase son métodos que tienen la particularidad de pertenecer a la clase y no a las instancias de la clase. Por esto es que para invocar a un método de clase no es necesario crear una instancia de la clase que contiene el método. En aquellos lenguajes cuya sintaxis deriva de C,… — read more
-
Coursera: curso de Android, cierre y reflexiones
El domingo terminé finalmente el curso de Android. Se estiró bastante más de las 8 semanas inicialmente anunciadas, pues 8 semanas era sólamente el tiempo de clase y más allá de eso había un trabajo final que consistía en 3 actividades: resolver dos ejercicios de programación, hacer tres evaluaciones de pares y hacer una autoevaluación. El curso… — read more