Automatización de Tests de Aceptación


Metodologías ágiles

Introducción
¿Te interesa conocer de que trata ATDD?
¿Querés practicar con distintas herramientas de test de aceptación como FitNesse?
¿Querés entender y manejar la relación entre ATDD y TDD?
¡Participá de este curso!
Descripción
El objetivo de este curso es introducir el concepto sobre tests de aceptación.
Entrenar a los participantes en las técnicas y herramientas más utilizadas para automatización de tests de aceptación.
Presentar el concepto de ATDD: Acceptance Test Driven Development
Demostrar el ciclo completo de automatización de la ejecución de tests de aceptación en un ambiente de integración continua.

Temario

  • Conceptos básicos

  • Criterios de aceptación

  • Ciclo de desarrollo guiado por tests

  • Estrategias de testing


    • Buenas prácticas de la automatización de tests

    • Test repetibles, independientes, expresivos, etc

    • Ejemplos de smells: tests frágiles, intermitentes, acoplamiento entre tests, tests demasiado lentos, etc.


      • Fitnesse/SLIM

      • Sintáxis básica de Fitnesse

      • Implementación de fixtures en Java

      • Formas distintas de escribir tests en Fitnesse: tablas de decisión, queries, scripts, template given-when-then.

      • Suites de tests. Setup y teardown a nivel test y suite


      • Estrategia de testing

      • Test a través de UI Web

      • Test a nivel API Java

      • Inserción y borrado de datos de test en base de datos

      • Ejecución de tests en ambiente local de desarrollo

      • Ejecución de tests en ambiente de integración continua


    • Aplicación de ejemplo:

    • eWine.com Login / Logout

    • Validar presencia de ciertos elementos en una página

    • Validación de reglas de negocio (ej: cálculo del costo de envío en función de la zona)

    • WS publicado al exterior para consultar información (ej: lista de pedidos a entregar)

    • Procesos de negocio involucrando envío de mail (ej: registración de un usuario con envió de mail para activación de cuenta)

    • Integración con servicio externo asincrónico (ej: pago con tarjeta de crédito)

    • Upload / download de archivos






Objetivos
Resultado esperado
  • Los participantes tendrán los skills necesarios para escribir y automatizar tests de aceptación en el contexto de aplicaciones Web no triviales, utilizando las herramientas más difundas para este fin. Durante el curso, los participantes desarrollarán habilidades para entender cómo encarar situaciones de test complejas y cómo el diseño y la arquitectura de la aplicación influyen en la testeabilidad de la misma.

  • Con esta base, los participantes estarán en condiciones de planificar y diseñar la automatización de tests de aceptación en el contexto de aplicaciones reales y tendrán elementos para evaluar las adecuaciones a realizar en aplicaciones existentes para poder emplear las técnicas aprendidas.


Pre-requisitos
Experiencia previa en desarrollo de software y/o en testing funcional

Audiencia
Desarrolladores, Analistas de QA, Analistas funcionales, Líderes Técnicos, Líderes de QA.

Cursos Relacionados
Clinica de Gestión Agil
Gestios Ágil de Proyectos de Software

Duración
20 horas
Lenguajes de programación
Smalltalk - Java - .Net - Ruby - Python - ObjectiveC - Php - Swift - JavaScript