PROGRAMA

Automatización de Pruebas

El Curso de Automatización de Pruebas con IA es un programa intensivo de 4 meses que te lleva desde los fundamentos hasta un nivel avanzado, para que aprendas a diseñar y ejecutar pruebas automatizadas de alto impacto utilizando las herramientas más demandadas del mercado junto con inteligencia artificial (como ChatGPT y asistentes de código). Trabajarás en proyectos reales, acompañado por expertos y una comunidad activa de QA, y al finalizar serás un QA de nueva generación, capaz de combinar Testing e IA para destacar en procesos de selección y aportar más valor a cualquier equipo.
Como bono exclusivo, obtendrás el Curso Introductorio de Programación Orientada a Objetos en Java con Apoyo de IA, ideal si recién empiezas o quieres reforzar tus bases: en pocas semanas comprenderás la lógica de la programación mientras usas herramientas de IA para resolver dudas y practicar, llegando al curso principal de Automatización con la confianza y el nivel técnico necesarios para aprovecharlo al máximo.
PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA
AUTOMATIZACIÓN DE PRUEBAS

1. Introducción a la Programación Orientada a Objetos (POO) + IA

  • Definición de POO.

2. Fundamentos de Java

  • Breve historia de Java.
  • Instalación del JDK y configuración del entorno de desarrollo (IDE).
  • Primer programa en Java: "Hello World".
  • Estructura básica de un programa Java.

3. Clases y Objetos

  • ¿Qué es una clase?
  • Crear objetos en Java.
  • Atributos y métodos de una clase.
  • Instanciación de objetos.

4. Encapsulamiento

  • Definición de encapsulamiento.
  • Modificadores de acceso: private, public, protected.
  • Métodos getter y setter para acceder a los atributos.
  • Ventajas de usar encapsulamiento.

5. Herencia

  • Concepto de herencia en POO.
  • Crear una clase base y una clase derivada.
  • Uso del operador extends.
  • Reutilización de código mediante la herencia.
  • Sobreescritura de métodos (override).

6. Polimorfismo

  • Concepto de polimorfismo.
  • Sobrecarga de métodos (overloading).
  • Sobrescritura de métodos en clases derivadas.

7. Abstracción

  • Definición de abstracción.
  • Clases abstractas.
  • Métodos abstractos.
  • Interfaces: qué son y cómo implementarlas.
  • Diferencias entre clases abstractas e interfaces.

8. Constructores

  • ¿Qué es un constructor?

9. Manejo de Excepciones

  • Concepto de excepciones.
  • Uso de try, catch, finally para manejar excepciones.
  • Tipos de excepciones en Java.
  • Excepciones personalizadas.

10. Clases y Métodos Estáticos

  • Diferencia entre métodos estáticos y no estáticos.
  • Uso de la palabra clave static.
  • Acceso a variables y métodos estáticos.

11. Paquetes y Modificadores de Acceso

  • Organización del código mediante paquetes.
  • Importar clases de otros paquetes.
  • Control de acceso a clases y métodos.

12. Programación Orientada a Objetos en la Práctica

  • Ejemplos prácticos de POO en Java.

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 WebDriver

  • Introducción a Selenium WebDriver.
  • Instalació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. Manejo de Base de Datos en Automatización de Pruebas (SQL)

  • Conexión de una base de datos a un proyecto de automatización.
  • Creación de frases en Cucumber para interacción con bases de datos.
  • Implementación de conexión y consultas SQL dentro de pruebas automatizadas.
  • Uso de bases de datos para validaciones y manejo de datos en pruebas.

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

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

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

11. 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).

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

13. 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.
Created with