Online

Construcción de Software Robusto con TDD

Empieza el 24/08
Del 24/08 al 28/08. Días: De Lunes a Viernes — 9:00 a 13:00 GMT-3.
AR$ 13.500- (IVA incluído)
AR$ 15.000-
AR$ 13.500-
(IVA incluído)
U$D 250-
U$D225-
(impuestos incluídos)
Early Bird - Hasta el 17/8/2020
¿Estás cansado de tener que estar emparchando tu código todo el tiempo?
¿Querés tirar el sistema en el que trabajás a la basura porque es inmantenible e inmanejable?
¿Te gustaría estar seguro de que los cambios que hiciste no generarán errores?
¿Te gustaría poder mejorar el diseño de tu sistema sin tener que rezar para no introducir bugs?
¡Entonces este curso es para vos!

El objetivo de este curso es transmitirte la técnica de desarrollo ágil denominada Test Driven Development (TDD), utilizando para ello ejemplos prácticos y cotidianos. El curso parte de una breve introducción teórica para luego concentrarse en ejercicios prácticos especialmente preparados para que aprendas la técnica, puesto que creemos que 'la mejor manera de aprender es haciendo'. 

Además de aprender la técnica de TDD, debido a la índole práctica del curso, se realizarán discusiones enriquecedoras de diseño y arquitectura que te permitirán complementar, validar y aumentar tus conocimientos sobre el desarrollo de software utilizando objetos. 

Una vez terminado el curso, dominarás la técnica de Test Driven Development, podrás analizar el impacto de implementarla en tu ambiente de trabajo y tendrás nuevas herramientas de diseño a tu disposición.

Temario

  • Metodología
  • Clasificación de los tests (Unitario/Funcional/Aceptación, Programación/Integración/Regresión, etc)
  • Herramientas de automatización de testing (xUnit, WebTest, etc)
  • Casos prácticos de testing  
  • Especificación de Comportamiento
  • Casos negativos
  • Triangulación
  • Cobertura
  • Reglas y heurísticas de buen diseño con Objetos
  • Refactoring
  • Mock Objects
  • Ventajas y beneficios que ofrece a un ciclo de vida iterativo/incremental
  • Relación e implementación en distintas tecnologías
  • Conclusiones sobre el significado y beneficios de TDD
  • Conclusiones sobre cómo diseñar e implementar software robusto


 Resultado esperado  

  • Los asistentes estarán capacitados para generar código robusto y correcto
  • Los asistentes agregarán a su conocimiento un conjunto de reglas y heurísticas de buen diseño con Objetos
  • Los asistentes podrán generar casos de prueba que les permitan administrar la evolución de sus diseños/código de una manera segura 
  • Los asistentes conocerán distintas técnicas de testing que podrán utilizar mientras realizan TDD

Que no cubre  
Conceptos particulares sobre los distintos tipos de testing 
Temas avanzados de TDD
Uso de algún lenguaje de programación particular

Pre-requisitos 
Haber realizado el curso Diseño Avanzado de Software con Objetos I o conocimientos acorde a lo presentado en dicho curso

Audiencia  
Programadores, Diseñadores, Arquitectos

Cursos relacionados  
Máximo Prieto es Licenciado en Sistemas. Se especializa en el área de Paradigmas de Programación, específicamente Programación Orientada a Objetos. Ha desarrollado software para empresas privadas e instituciones públicas desde 1986 y tiene experiencia académica desde 1991 en varias universidades, tanto en la Argentina como en el exterior (Universidad Nacional de Buenos Aires, Universidad Nacional de La Plata, École de Mines de Nantes, etc.).

Actualmente se desempeña como Profesor Adjunto en la Universidad Nacional de Quilmes. Ha participado activamente en varios congresos internacionales y nacionales como OOPSLA, ECOOP, TOOLS Europe, etc. Además, fue uno de los fundadores de EMOOSE (European Master on Object-Oriented Software Engineering).