Test Driven Development
TDD cycle

Un desarrollador profesional necesita usar métodos y herramientas profesionales. TDD es una técnica de desarrollo que produce código de calidad y excelentes baterías de pruebas automáticas cuando se practica correctamente. ¿Aún no lo practicas?

TDD es una práctica del método XP (eXtreme Programming). Las prácticas no tienen sentido si no se entienden los valores y principios que promueven. Por eso este es, en realidad, un curso de Introducción a XP. Además de practicar TDD, practicaremos Pair Programming e incluso Collective Code Ownership. La forma de impartir el curso es programando prácticamente todo el tiempo con la supervisión y la guía del experto. La diferencia con leer libros o ver vídeos es que hay a tu lado un experto para corregir tus errores y acelerar el proceso de aprendizaje, minimizando riesgos a la hora de luego poner en práctica el método en tu día a día.

Este curso es presencial: son 2 días intensivos, jornada completa. Para contratar el curso o inscribirte a una edición en abierto, por favor escríbenos a: contact@codesai.com

Contenidos
Primer día

Introducción a XP: Valores, Principios y Prácticas

Introducción a los tests unitarios

Refactoring

Naming and duplication

Less Surprise Principle y SOLID design principles

Design Patterns

Introducción a TDD

Segundo día

Practicando TDD con state-based validation

Diseño emergente y arquitectura

Integration tests

Mock objects, test stubs, test spies

Practicando TDD con interaction-based tests

Test doubles frameworks

End-to-end tests

Conclusiones

Características
Lenguajes

Generalmente, usamos Java porque es el lenguaje en el que la mayor parte de la gente se defiende, pero en el curso se pueden usar también otros lenguajes, eso no es problema. Si Java / IntelliJ no es para ti un problema, será la opción por defecto.

Público

Este es un curso para personas que sepan programar. Fundamentalmente programadores pero también testers que quieran conocer más sobre calidad de código y pruebas automáticas. Lo que hace falta es venir con ganas y la mente abierta. Si nunca has probado TDD antes, te sorprenderá.

Requisitos

Lo ideal, es que cada persona venga con su portátil y las herramientas de desarrollo que use habitualmente, previamente instaladas. A ser posible, que también tenga instalado Git, Mercurial o ambas.
Se trabaja en pareja, con lo cual es buena idea crear un usuario nuevo para el curso, así como para poder rotar de unas máquinas a otras sin preocuparse por la privacidad de la cuenta.
Solamente hace falta una máquina por pareja, por lo que en caso de no poder traer tu máquina, no hay problema. No obstante, necesitamos que nos avises con antelación para asegurarnos que contamos con el número mínimo de máquinas necesarias.

Lugar

El curso lo impartimos in-house, es decir cerrado para la empresa que lo contrata, o bien en abierto. Cada trimestre impartimos una edición en abierto donde todo el que paga su plaza es bienvenido. Típicamente las empresas pequeñas envían gente a los cursos en abierto. Si quieres que te avisemos de las próximas ediciones en abierto, por favor rellena el formulario.

Precio

Este curso cuesta más de 1500 euros en países como Alemania o Reino Unido. Sin embargo, en España el mercado es diferente. Por ello, pagas menos de la mitad... ¡390 euros por persona!

Fechas

Próximo curso en abierto: Aún no hay fecha para el próximo curso.

Los cursos in-house se realizan una vez nos contrate el cliente. Necesitaremos saber la fecha con más de un mes de antelación para poder cuadrar agendas.

Motivación

Incluso, aunque después no practiques TDD, vas a mirar el código fuente de otra manera, con más conciencia sobre lo que está bien y está mal en términos de facilidad de mantenimiento. Vas a saber reconocer un trabajo profesional a primera vista. Contarás con la ayuda que necesitas para arrancar con confianza en el uso del método.

Este curso acelera tu aprendizaje, mucho mas rápido que empezar por tu cuenta con libros, listas de correo y cometiendo los errores típicos de los que te libra un experto. Errores, que te pueden costar caros cuando quedan en tu código de producción o tus baterías de tests.

Nunca te enseñaron a escribir software con el cuidado suficiente para que otras personas lo entiendan y lo mantengan. Es hora de hacerle la vida más fácil a otros programadores, a tu “yo” del futuro y de satisfacer a los usuarios verdaderamente.

Nadie se ha arrepentido de venir al curso, a todo el mundo le ha aportado valor.

Aprenderás a programar con un nivel de modularidad y reusabilidad que nunca habías probado antes, y que te quitará de las madrugadas con pizza y bugs justo antes de la salida a producción.

"Un must-do para todo aquel que quiera dedicarse al desarrollo de software profesional". Vicenç García

"La formación en TDD y el coaching han supuesto un impulso increíble en nuestra forma de trabajar tanto técnicamente como a nivel de equipo". Daniel Ortube

"Los comienzos suelen ser difíciles y TDD no fue una excepción. El curso de Carlos me ayudó a afianzar conceptos y a resolver todas esas dudas que surgen al empezar a practicar TDD". Javier Acero