UT – Unit Testing

16 Horas

 

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

1.     Test Automation y Unit Testing

a.    Agile Testing Quadrant

b.    Automate Testing Pyramid

c.     Unit vs Integration vs System Testing

d.    Qué es Unit Testing e importancia

2.     xUnit Frameworks

a.    xUnit Frameworks Comparación

b.    Creación y organización de pruebas

c.     Estructura universal de una prueba

d.    Ejecución y Análisis de Resultados

e.    API avanzada de xUnit

3.     Prácticas Avanzadas de Unit Testing

a.    Convenciones Avanzadas de Nombres

b.    Patrones Avanzados de Organización

c.     Enfoques: Data Driven, Test First

d.    Métricas para medir la eficacia

4.     Facking and Mocking

a.    Inyección e inversión de Dependencias

b.    Técnica Fake Delegation

c.     Frameworks de productividad

d.    Stubs vs Mocks

e.    Técnicas de diseño para incrementar la testeabilidad

5.     Sostenibilidad, Efectividad y Heurísticas

a.    Mantenibilidad, Legibilidad y Confianza en las pruebas

b.    Test Reviews

c.     Tamaño e Independencia

d.    ¿Qué probar? ¿Con qué empezar?

e.    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