Duración: 24 clases (3 horas cada una)
Modalidad: Online, sincrónico
Dirigido a:
- Profesionales de QA que desean automatizar procesos de prueba.
- Desarrolladores interesados en aprender técnicas avanzadas de pruebas de software.
- Estudiantes o recién graduados en TI que desean introducirse al campo del QA automatizado.
Requisitos previos:
- Conocimientos básicos de programación (preferentemente en cualquier lenguaje).
- Comprensión básica del ciclo de vida del desarrollo de software.
Objetivo del curso:
Al finalizar el curso, los participantes podrán:
- Comprender los fundamentos de QA y su rol en el ciclo de vida del software.
- Diseñar y automatizar pruebas funcionales, de integración, y de regresión con Python.
- Implementar frameworks de prueba utilizando herramientas como Selenium, Pytest, y Robot Framework.
- Integrar pruebas automatizadas en pipelines de CI/CD.
Contents
Temario Detallado
Módulo 1: Fundamentos de QA y Python
- Clase 1:Introducción a QA y testing
- Tipos de pruebas: funcionales, no funcionales, unitarias, de integración.
- Rol del QA en el ciclo de vida del software (SDLC).
- Clase 2:Introducción a Python para QA
- Instalación de Python y configuración del entorno.
- Estructuras básicas: variables, control de flujo, funciones.
- Clase 3:Manejo de datos en Python
- Archivos: lectura y escritura (CSV, JSON).
- Listas, diccionarios y su uso en casos de prueba.
- Clase 4:Introducción a librerías para pruebas en Python
- Overview de Pytest, Unittest, y Robot Framework.
- Configuración de un entorno básico de pruebas.
Módulo 2: Automatización de pruebas unitarias y funcionales
- Clase 5:Pruebas unitarias con Pytest
- Estructura de pruebas unitarias.
- Configuración y ejecución básica de Pytest.
- Clase 6:Estrategias avanzadas con Pytest
- Fixtures, parametrización y manejo de datos de prueba.
- Integración con reportes de pruebas.
- Clase 7:Automatización de pruebas funcionales con Selenium
- Introducción a Selenium y su configuración.
- Interacción con elementos web: inputs, botones, y formularios.
- Clase 8:Pruebas automatizadas avanzadas con Selenium
- Manejo de ventanas, alertas, y marcos (frames).
- Uso de XPaths y selectores CSS para elementos dinámicos.
Módulo 3: Frameworks de automatización y buenas prácticas
- Clase 9:Robot Framework: Introducción y casos básicos
- Configuración y primeros pasos con Robot Framework.
- Creación de casos de prueba basados en palabras clave.
- Clase 10:Robot Framework avanzado
- Extensión de funcionalidades con librerías externas.
- Gestión de reportes y logs avanzados.
- Clase 11:Creación de frameworks personalizados
- Diseño modular y reutilizable de scripts de prueba.
- Organización de carpetas y gestión de datos de prueba.
- Clase 12:Manejo de API Testing con Python
- Introducción a pruebas de API con
requests. - Validación de respuestas y creación de tests automatizados.
- Introducción a pruebas de API con
Módulo 4: Automatización de pruebas de regresión e integración continua
- Clase 13:Introducción a pruebas de regresión
- Conceptos y casos de uso.
- Ejecución masiva de casos de prueba automatizados.
- Clase 14:Automatización de pruebas de regresión con Selenium y Pytest
- Integración de scripts de prueba con Pytest.
- Optimización del tiempo de ejecución.
- Clase 15:Integración de pruebas en pipelines CI/CD
- Introducción a CI/CD con Jenkins, GitHub Actions.
- Automatización de pruebas en pipelines de despliegue.
- Clase 16:Generación de reportes y análisis de métricas de pruebas
- Uso de Allure y otras herramientas de reportes.
- Análisis de resultados y mejora continua.
Módulo 5: Testing avanzado y proyecto final
- Clase 17:Introducción a pruebas de rendimiento
- Conceptos básicos y herramientas como Locust y JMeter.
- Creación de pruebas de carga y estrés.
- Clase 18:Pruebas de seguridad con Python
- Conceptos básicos de seguridad.
- Identificación de vulnerabilidades con herramientas automatizadas.
- Clase 19:Automatización de pruebas móviles
- Introducción a Appium.
- Automatización de pruebas en dispositivos móviles.
- Clase 20:Revisión de pruebas automatizadas en entornos ágiles
- Estrategias para entornos Scrum y Kanban.
- Priorización y planificación de pruebas.
- Clase 21:Proyecto final: Planeación
- Definición de un problema real para automatizar pruebas.
- Organización de tareas y herramientas.
- Clase 22:Proyecto final: Implementación
- Creación de casos de prueba automatizados.
- Documentación y entrega del proyecto.
- Clase 23:Proyecto final: Presentación y retroalimentación
- Presentación de proyectos.
- Retroalimentación personalizada.
- Clase 24:Revisión final y próximos pasos
- Revisión de tendencias y herramientas emergentes.
- Consejos para continuar aprendiendo y certificarse en QA.
