Unit Testing

Test Automation Survival - Módulo 1

16 horas

Las pruebas unitarias nos ayudan a desarrollar software de alta calidad interna y externa, y a realizar cambios de manera rápida y segura, todo esto permite al área de tecnología entregar un flujo de valor constante a la organización.

Descripción

A pesar de los beneficios, hay aspectos muy importantes que se deben tomar en cuenta para poder escalar estas pruebas a lo largo de los productos y proyectos, de tal manera que se mantengan como un activo importante y no una carga más que mantener.

Contenido

Test Automation y Unit Testing

  • Agile Testing Quadrant
  • Automate Testing Pyramid
  • Unit vs Integration vs System Testing
  • Qué es Unit Testing e importancia

xUnit Frameworks

  • xUnit Frameworks Comparación
  • Creación y organización de pruebas
  • Estructura universal de una prueba
  • Ejecución y Análisis de Resultados
  • API avanzada de xUnit

Prácticas Avanzadas de Unit Testing

  • Convenciones Avanzadas de Nombres
  • Patrones Avanzados de Organización
  • Enfoques: Data Driven, Test First
  • Métricas para medir la eficacia

Faking and Mocking

  • Inyección e Inversión de Dependencias
  • Técnica Fake Delegation
  • Fakes manuales
  • Frameworks de productividad
  • Stubs vs Mocks
  • Técnicas de Diseño para incrementar la testeabilidad

Sostenibilidad, Efectividad y Heurísticas

  • Mantenibilidad, Legibilidad y Confianza en las pruebas
  • Test Reviews
  • Tamaño e Independencia
  • Qué probar? Con qué comenzar?
  • Patologías

Conocimientos Previos

  • Conocimientos básicos de programación (creación de clases y métodos, declaración de variables, condicionales, bucles).
  • Sentirse confortable programando ejercicios simples en el computador.

Lenguajes de Programación para los Ejercicios

  • Java (JDK 7 o superior, Eclipse Neon)

Implementos Necesarios

  • Traer una laptop con alguno de los ambientes de desarrollo mencionados anteriormente.

¿Qué voy a aprender?

Beneficios de atender el curso que inmediatamente podrás aplicar:

  • Desarrollar scripts y pruebas automatizadas.
  • Crear pruebas mantenibles, legibles y confiables.
  • Aprender el uso correcto de una gran cantidad de herramientas disponibles.
  • Construir una estrategia de automatización de pruebas.
  • Colaborar entre desarrolladores y testers para una efectiva implementación.
  • Diseñar y desarrollar un framework complementario propia sobre las herramientas disponibles.
  • Principios y patrones de diseño de software que incrementan la testeabilidad.
  • Implementar y planificar la automatización de pruebas sobre código legado.


¿Qué voy a obtener?

Al participar del curso obtendrás:

  • Experiencia de primera mano en la implementación de pruebas automatizadas.
  • 1 hora de consultoría gratuita para el equipo o empresa de cada uno de los asistentes
  • Certificado de asistencia.
  • Material digital e impreso de referencia para utilizar durante y luego del curso.
  • Coffee breaks.

Destinado a

  • Desarrolladores, Líderes Técnicos y Arquitectos de Software.

  • Equipos de trabajo que van a iniciar con la automatización de pruebas.

  • Equipos de trabajo que han iniciado la automatización de pruebas y han encontrado dificultades en su implementación que quieren superar.

  • Equipos de trabajo que han iniciado la automatización de pruebas y quieren perfeccionar su estrategia de automatización.


Programa

  • Test Automation y Unit Testing
  • xUnit Frameworks
  • Prácticas Avanzadas de Unit Testing
  • Faking and Mocking
  • Sostenibilidad, Efectividad y Heurísticas
  • Trabajando con Legacy Code