En esta clase hablaremos sobre pruebas automatizadas y test driven development (TDD), una práctica que nos invita a desarrollar escribiendo primero las pruebas y luego el código.
Objetivos de la clase
- Conocer la práctica TDD y sus principales lineamientos.
- Aplicar la práctica TDD en un ejercicio de programación.
- Adquirir herramientas para poder elaborar escenarios de prueba.
¿Primero las pruebas o el código?
Probablemente, la técnica que hasta hoy conocen (y practican) a la hora de programar consiste en escribir código y luego, con algo de suerte, probarlo para ver si efectivamente hace lo que tiene que hacer. Esta prueba puede ser manual (por ejemplo, mediante un REPL o sencillamente apretando botones) o automatizada (mediante pruebas unitarias, end-to-end, lo que sea).
Esta clase les propone algo que puede resultar disruptivo y hasta molesto (al menos al principio): comenzar por las pruebas y luego escribir el código necesario para que ellas pasen. No ahondaremos aquí en las ventajas y desventajas de la práctica (hay mucho escrito en internet) pero sí diremos que TDD es una muy buena forma de encarar un problema que no tenemos mucha idea de cómo resolver, y de poner especial atención a las pruebas automatizadas… lo cual nos interesa especialmente en este momento.
Lecturas de la clase
- ¿Cómo elaborar casos de prueba? | Diseño de software orientado a objetos
Guía práctica de cómo elaborar los escenarios para escribir pruebas automatizadas.
- Desarrollo guiado por pruebas (TDD) | Diseño de software orientado a objetos
Una práctica de diseño de software, con un nombre que sugiere otra cosa y que te hará pensar en el código de otra forma.
Videos de la clase
Cómo ver las correcciones en GitHub
Gracias a Pablo Méndez, les acercamos un pequeño video-tutorial de cómo ver, comentar o protestar por las correcciones que les hacemos.