Construcción de Software Robusto con TDD

Éste curso no se encuentra disponible por el momento



¿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  

Lenguajes de programación

Smalltalk - Java - .Net - Ruby - Python - Php - JavaScript