Desarrollo dirigido por pruebas y comportamiento (TDD y BDD)
Dominar los enfoques de desarrollo dirigido por pruebas (TDD) y por comportamiento (BDD), aplicando principios de diseño SOLID y técnicas avanzadas de pruebas de aceptación e integración para asegurar que el software cumpla con criterios de calidad, fiabilidad y funcionalidad en proyectos ágiles.
Programa
- 01Introducción a TDD/BDD y principios de diseño orientado a objetos10 h
Conocimiento de las definiciones, conceptos básicos, beneficios y herramientas de TDD y BDD
- Definiciones y conceptos básicos de TDD y BDD
- Beneficios de TDD y BDD en proyectos de desarrollo ágil
- Herramientas y frameworks de testing en el desarrollo ágil
Conocimiento de los principios de diseño SOLID y desarrollo orientado a objetos
- Introducción al diseño orientado a objetos
- Principios SOLID y aplicación en el desarrollo orientado a objetos
- Relación con TDD y BDD para evitar dependencias
- 02Pruebas unitarias, de integración, de aceptación y BDD20 h
Realización de pruebas unitarias y de integración
- Fases del ciclo TDD (red, green y refactor)
- Tipos de tests (unitarios, de integración y de aceptación)
- Tests unitarios con stubs y mocks
- Frameworks xUnit de AAA (arrange, act, assert, etc.)
- Implementación con frameworks específicos (JUnit, NUnit, entre otros.)
Realización de pruebas de aceptación con acceptance TDD y snapshot TDD
- Diferencias y similitudes entre ATDD y STDD
- Historias de usuario y definición de criterios de aceptación
- Técnicas de validación con mocks y simulaciones
- Herramientas y automatización de pruebas de aceptación
Desarrollo dirigido por comportamiento (BDD)
- Estructuración de escenarios en BDD (given-when-then)
- Uso de frameworks BDD (cucumber, SpecFlow, entre otros.)
- Integración de escenarios de BDD en el flujo de desarrollo
- 03Test funcionales para aplicaciones web10 h
Aplicación de test y pruebas funcionales
- Herramientas de automatización de pruebas para la web (selenium, cypress, entre otros.)
- Configuración de entornos para pruebas funcionales en aplicaciones web
- Estrategias para test de integración en aplicaciones web
Valoración de la importancia de apostar por la eficiencia y energética y la sostenibilidad
- Optimización del consumo energético mediante la gestión eficiente de recursos
- Utilización de tecnologías de virtualización para consolidar servidores
- Gestión eficiente del almacenamiento para reducir el desperdicio de espacio
- Implementación de prácticas de reciclaje y disposición responsable de hardware