/
[HDP-040] TDD y BDD

[HDP-040] TDD y BDD

Este curso aborda metodologías ágiles, principios de diseño y pruebas, refactorización y herramientas clave como JUnit, Mockito y Cucumber. El alumno aprenderá a crear software de calidad mediante pruebas automatizadas, diseño simple, gestión de casos de uso y técnicas avanzadas de refactorización para mejorar el código.

Duración:                     20 horas

Perfil:                            Experto

Dirigido a

Esta acción formativa va dirigida a programadores, analistas, ingenieros de QA y jefes de proyecto que deseen mejorar sus habilidades en la creación de software de calidad utilizando metodologías ágiles, TDD (Test Driven Development) y BDD (Behavior Driven Development),  implementando prácticas de pruebas automáticas y refactorización en su flujo de trabajo.

Requisitos previos 

Los alumnos necesitarán tener experiencia con el lenguaje de programación Java o C# previos para poder comprender la materia del curso con éxito. 

Objetivos

  • Comprender y aplicar las metodologías ágiles, con enfoque en TDD y BDD.
  • Implementar prácticas de pruebas automatizadas, utilizando JUnit, Mockito, Cucumber y otras herramientas.
  • Mejorar la calidad del código mediante refactorización y principios de diseño como SOLID.
  • Desarrollar un enfoque de pruebas eficiente y efectivo para asegurar el correcto funcionamiento y las cualidades del software.
  • Aplicar técnicas de análisis de pruebas y cobertura de código para mejorar la fiabilidad del software.


Contenido

  1. Fundamentos y Metodologías Ágiles

    1. Introducción a las metodologías ágiles
    2. Prácticas clave en XP (Extreme Programming)
  2. Pruebas de Software

    1. Tipos de pruebas: caja negra y caja blanca
    2. Pruebas de funcionamiento y cualidades del software
    3. Imposibilidad de probar todo el software
    4. Impacto de los requerimientos y casos de uso en las pruebas
  3. Principios de Diseño de Software

    1. Diseño simple y principio SOLID
    2. Principios de diseño: "Dile, no preguntes" y "Divide y vencerás"
    3. Calidad del software: ¿Por qué no se puede codificar sin errores?
  4. Gestión y Ejecución de Pruebas

    1. Roles y responsabilidades en pruebas
    2. Métodos y métricas clave: MITs (Most Important Test), MIMs (Most Important Metrics)
    3. Análisis de datos y valores frontera en pruebas
    4. Técnicas de reducción de datos y análisis de rutas
  5. Metodología TDD (Test Driven Development)

    1. Ciclo de desarrollo basado en pruebas
    2. Ventajas de TDD y herramientas: JUnit, Hamcrest, Mockito
    3. Técnicas avanzadas: pruebas paramétricas, mocks, fakes y stubs
    4. Cobertura de pruebas (Code Coverage) y herramientas como EclEmma
  6. Refactorización de Código

    1. Principios y técnicas de refactorización
    2. Identificación y resolución de "malos olores" en el código
    3. Reutilización y simplificación de expresiones condicionales
    4. Herramientas de refactorización: Eclipse
  7. Pruebas de Aceptación (ATDD/BDD)

    1. Definición de requisitos mediante historias de usuario
    2. Desarrollo de escenarios de prueba con un lenguaje accesible
    3. Herramientas BDD: Cucumber



Documentación Recomendada

Mastering Software Testing with JUnit 5
Boni García

Octubre 2017| 350 páginas

ISBN: 9781787285736

Related pages