-
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
-
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
-
Clasificación de Pruebas
Existen distintas clasificaciones para las pruebas de software. Desde el punto de vista de cómo se ejecutan, podemos clasificar las pruebas en manuales o automatizadas. Por otro lado, desde el punto de vista de qué es lo que prueban, yo suelo clasificarlas en primera instancia en unitarias o no-unitarias. La prueba unitaria prueba… — read more
-
La clave es educarlos de chiquitos
Hoy compartí el almuerzo con mi colega JuanG y algunos otros profesionales de la informática. En un momento comenzamos a hablar sobre TDD y algunas otras prácticas ágiles. Durante la charla uno de los comensales comentó que le parecía muy difícil pretender que los programadores «junior» utilicen dichas técnicas cuando las mismas ni se mencionan… — read more
-
Probando excepciones
¿Como probar que un método lanza una excepción ante una determinada situación excepcional? Usando NUnit o JUnit 4, basta con escribir el método de prueba y poner una simple anotación indicando el tipo de excepción esperada. Pero no todos los xUnit brindan esta posibilidad, entonces debemos apelar a una estrategia similar a la siguiente. Asi… — read more
-
Escribiendo pruebas unitarias para código legacy
Desde que volví a trabajar en consultoría este es uno de los temas que más me he encontrado. Sinceramente no me sorprende pues: TDD y la automatización de pruebas, son dos temas que están en claro ascenso de popularidad Casi toda la bibliografía de TDD parte de la base de la creación de aplicaciones desde… — read more