Certified Agile Test Driven Development

iSQI

OBJETIVOS

El objetivo de esta formación es conseguir que los desarrolladores apliquen las mejores prácticas de desarrollo de software ágil. Después de la capacitación, podrán conocer las diferencias entre código pobre y código de calidad, siendo capaces de detectar defectos de diseño y sugerir soluciones mejorando el código en términos de facilidad de mantenimiento. Serán conscientes de las consecuencias de realizar código en un único bloque o fragmento, dándose cuenta de lo importante que es preocuparse por el código que escriben. Algunos de los participantes iniciarán la formación con la creencia de que el código está escrito para ordenadores, pero finalizarán dándose cuenta de que la calidad del código está en escribirlo para los lectores, ya que son los que van a mantenerlo. “Las máquinas actuales no son capaces de quejarse de la mala calidad del código”.

Los participantes comprenderán TDD, un método profesional para desarrollar software fiable fácil de mantener. También podrán utilizar TDD durante el desarrollo de pequeñas funcionalidades y problemas concretos en ámbitos bien definidos. Podrán mejorar en sus prácticas cotidianas con una base sólida en TDD. Las personas que se certifiquen adquirirán las habilidades necesarias para hacer frente a proyectos de gran envergadura y alcances indefinidos.

Junto con la información teórica precisa, este curso se centra principalmente en tratar TDD en un nivel práctico. Un ejemplo de cómo se logra esto es un ejercicio integral, en el que los participantes aprenden a través de sus propios errores, bajo la supervisión de un experto. Al finalizar del curso, los participantes serán capaces de:

  • Hacer evaluaciones de la calidad del código de producción y de la calidad de las pruebas automatizadas.
  • Mejorar la calidad del código existente sin alterar su comportamiento.
  • Comportamientos dirigidos por pruebas.
  • Producir baterías de pruebas de alta calidad y producir código legible.
  • Reconocer y evitar la sobrerregulación (gold-plating).
  • Evaluar si se introdujo deuda técnica en el desarrollo así como sus consecuencias.
  • Estar cualificado para aprender las técnicas más avanzadas de manera efectiva.

Dirigido a

Este es un curso para desarrolladores que aspiran a ser más eficaces y a mejorar continuamente sus habilidades. Básica- mente los participantes deben querer aportar más valor a sus usuarios mediante la entrega de mejores productos.

requerido para la obtención de la certificación. El examen se realiza el último día del curso al finalizar el temario con una duración de 4 horas y 30 minutos.

Como pre-requisito de este curso, los desarrolladores deben tener capacidad de codificar en Java o C#, no siendo obliga- torio un conocimiento profundo en estos lenguajes. Basta un conocimiento básico de programación orientada a objetos, por ejemplo, la comprensión de los conceptos de herencia y composición. No es necesario la experiencia previa con los marcos o modelos de pruebas, pruebas automatizadas o TDD.

Temario del curso

TEMARIO DEL CURSO DIA I

  • Introducción a los tests unitarios
  • Refactoring
  • Naming and duplication
  • SOLID design principles
  • Design Patterns
  • Introducción a TDD

TEMARIO DEL CURSO DIA II

  • 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