1. Introducción a la Automatización de Pruebas
- ¿Qué es la automatización de pruebas?
- Beneficios de la automatización frente a las pruebas manuales.
- Pruebas funcionales vs. no funcionales.
- Herramientas comunes para la automatización de pruebas.
2. Fundamentos de Cucumber
¿Qué es Cucumber?Ventajas de usar Cucumber en la automatización de pruebas.Introducción a Behavior-Driven Development (BDD).Instalación y configuración de Cucumber con Java y Maven/Gradle.Estructura de un proyecto en Cucumber.
3. Lenguaje Gherkin¿Qué es Gherkin y cómo se usa?Sintaxis básica: Feature, Scenario, Given, When, Then.Buenas prácticas al escribir escenarios de prueba.Ejemplos de escritura de archivos .feature claros y efectivos.
4. Selenium WebDriverInstalación y configuración de Selenium en un proyecto de Java con Cucumber.Fundamentos de automatización web con Selenium:
- Abrir navegadores (Chrome, Firefox, etc.).
- Localización de elementos: ID, Name, Xpath, CSS Selectors.
- Interacción con elementos: Click, Input, Select.
Tomar capturas de pantalla en caso de fallos.Manejo de ventanas emergentes, alertas y ventanas múltiples.Ejecución de pruebas en diferentes navegadores (Cross-browser testing). 5. Integración de Cucumber con Selenium
Crear Step Definitions en Cucumber para interactuar con la web usando Selenium.
Ejecutar pruebas automáticas desde escenarios escritos en Gherkin.Pruebas de ejemplo: automatización de un flujo de login, búsqueda y validación de resultados.Ejecución de pruebas paralelas con Selenium Grid.
6. Manejo de Datos en Cucumber
Uso de Data Tables en Gherkin.
Uso de Examples para pruebas parametrizadas.Reutilización de pasos con expresiones regulares.Cucumber Hooks (@Before, @After) para configurar y limpiar los entornos de prueba.
7. GitLab para Gestión de Código y CI/CD
Introducción a Git y GitLab.
Flujo básico de trabajo con Git: clonar, commit, push, pull, branches.Crear y gestionar un repositorio de pruebas automatizadas en GitLab.Integración de pruebas automatizadas en pipelines de CI/CD con GitLab: - Configuración del archivo .gitlab-ci.yml.
- Ejecutar pruebas de Cucumber/Selenium automáticamente en el pipeline.
Uso de GitLab Runner para ejecutar las pruebas en diferentes entornos. 8. Jira para Gestión de Proyectos y Defectos
Introducción a Jira como herramienta de gestión de proyectos ágil.
Creación de Historias de Usuario, Tareas y Epics.Integración de Cucumber con Jira:
- Asociar escenarios de prueba a historias de usuario en Jira.
- Automatizar el flujo de trabajo entre pruebas y tareas en Jira.
Instalación y configuración de Cucumber con Java y Maven/Gradle.Estructura de un proyecto en Cucumber. 9. Reportes de Pruebas
Generación de reportes automáticos con Cucumber Reports.
Personalización de reportes para incluir capturas de pantalla y logs.Integración con JUnit Reports para visualización en GitLab y Jira.
10. Mejores Prácticas en la Automatización de Pruebas- Diseño de pruebas mantenibles y escalables.
- Patrones de diseño en la automatización de pruebas (Page Object Model).
- Estrategias para evitar la "fragilidad" en las pruebas automatizadas.
- Técnicas para mejorar la velocidad de las pruebas (pruebas paralelas, selección de casos críticos).
11. Ejecución y Monitoreo de Pruebas
- Ejecutar pruebas localmente y en servidores remotos.
- Monitoreo de pipelines de CI/CD para asegurar la calidad continua del software.
- Analizar resultados de las pruebas y métricas de cobertura.
- Herramientas comunes para la automatización de pruebas.
12. Proyecto Final
- Desarrollar un proyecto de automatización completo:
- Definir escenarios de prueba en Gherkin.
- Implementar las pruebas con Cucumber y Selenium.
- Integrar la ejecución en GitLab CI/CD.
- Gestionar defectos en Jira.
- Presentación y retroalimentación sobre el proyecto.