• En progreso
  • 🧪QA Automation: Cypress (JavaScript)

    Curso para comenzar a convertirte en un Test Automation Engineer (TAE) con Cypress.

    Este curso tendrá la finalidad de introducir las habilidades básicas y tareas laborales QA.

    El contenido puede variar un poco en curso en curso, debido a la versatilidad y variedad del rol QA.

    Lo que está seguro, es que el curso está hecho para prepararlos para el trabajo en UPEX Galaxy, lo que significa que el temario será una ruta de aprendizaje para que puedan realizar las actividades de Tester Automation como Análisis, Planificación de Repo, Patrón de Diseño (POM), Scripts de Automatización, Refactorización, Ejecución y Reporte de Pruebas en Local y en Continuous Integration (CI), y Pull Requests.

    Las cantidades de clases están sujetas a las ceremonias del Sprint del Curso, y pueden variar dependiendo del curso, en este caso, son: 8

    POR FAVOR, NO LUCRAR CON EL CONTENIDO DE LA PRESENTE INFORMACIÓN.

    Copyright © 2023. UPEX Quality LLC. TODOS LOS DERECHOS RESERVADOS.

    Ceremonias Maestras, Clases y sus temarios:

    Ceremonia Inicial: Sprint Planning

    Aquí vamos a recibir una introducción general de cómo nos manejamos en UPEX Galaxy, esta ceremonia se debe atender por Microsoft Teams, ya que no es un temario específico del curso, sino una introducción al CAMPO LABORAL en el Sprint de UPEX Galaxy, cuya ceremonia es LA MÁS IMPORTANTE.

    A partir del segundo día del Sprint comienza las verdaderas clases:

    1. Artefactos Agile de la Gestión de Repositorios (Jira + GitHub):

      1. Qué es Git y GitHub y cómo debería usarse.

      2. Cómo configurar GitHub con Jira (para trazabilidad de tareas).

      3. Cuales son los tipos comunes de “tickets/work-item” para Pruebas Automatizadas.

      4. Cómo es el Flujo de entrega de una Historia de Usuario versión Automation.

      5. Cómo clonar un Proyecto nuevo de GitHub usando Git.

      6. Cómo crear una rama de trabajo de la Historia de Usuario asignada.

      7. Cómo crear el archivo de prueba para la Historia de Usuario (nomenclaturas).

      8. Cómo hacer los comandos básicos de Git para trabajar:

        1. git add

        2. git commit (+ nomenclaturas)

        3. git push.

      9. Cómo linkear y trazabilizar la rama de trabajo de GitHub con Jira.

    2. Repaso Básico de un Repositorio de Proyecto + JavaScript (JS):

      1. Vista General: Qué tiene un Repositorio a nivel de Estructura (debería)

      2. Vista General: Qué es una Variable, una Función, una Clase.

      3. Cómo funcionan las variables en JS y sus Scopes.

      4. Cuáles son los tipos de datos en JS (string, number, etc.)

      5. Cómo funciona una función en JS.

      6. Cómo funciona una Clase en JS.

      7. Vista General: Qué son los Módulos en un Repositorio y cómo se usan.

      8. Qué son las Dependencias y cómo se manejan con un Package Manager como NPM.

    3. Estructura y Diseño de Prueba en Cypress (Script de Automatización):

      1. Cómo es el Test Set (Suite) y cómo se arma con nuestra US.

      2. Cómo es el Test Case (TC) y cómo se arma con nuestra Cobertura de US.

      3. Qué son los Métodos Hooks y los métodos de utilidad (skip, only, etc.)

      4. Cómo entender la configuración del Framework (config.js)

      5. Cómo localizar selectores básicos con la app de Cypress.

      6. Cómo realizar acciones con métodos básicos de Cypress.

      7. Cómo Debuggear con la app de Cypress durante el proceso.

      8. Cómo ejecutar las pruebas automatizadas tanto en la app como en la terminal.

    4. Locators de Cypress con CSS Selectors con Page Object Model (POM):

      1. Qué es el POM y para qué se usa, y por qué usarlo.

      2. Cómo se debería distribuir cada Módulo del POM en el Repo.

      3. Cómo es la estructura de un PageObjectModel con ejemplo.

      4. Cómo agarrar Elementos Web con Cypress: tipo ID, Class, Atributo, Tags.

      5. Inteligencia en la selección de Elementos Web (Buenas Prácticas)

      6. Estrategias de Locators de Cypress para selección de elementos complejos:

        1. eq(), within(), next(), parent(), etc…

      7. Cómo nombrar y organizar bien los Locators de Cypress en un PageObject.

      8. Trabajar en el archivo Test con los Locators del POM (importar e instanciar)

    5. Métodos de Acción de Cypress con Page Object Model (POM):

      1. Cómo usar correctamente la nomenclatura de los métodos (acciones) del POM.

      2. Cómo hacer buenos scripts automatizados de métodos del POM.

      3. Cómo usar los métodos del POM adecuadamente en el archivo Test.

      4. Finalizar el archivo Test con los Selectores y Métodos del POM aprendidos.

      5. PLUS: Cómo Resolver Problemas de Automation de manera AUTÓNOMA:

        1. Aprende a buscar e interpretar otros códigos de otras fuentes y docus.

    6. Ejecución y Reporte de Pruebas para Cypress (Local y CI).

      1. Cómo ejecutar Pruebas y crear Reportes para Cypress en Local:

        1. Reporte de Pruebas en Terminal con Cypress (nativa)

        2. Configuración para Reporte de Pruebas HTML Mochawesome.

        3. Configuración para Reporte de Pruebas Allure.

      2. Cómo ejecutar Pruebas en CI (GithHub Actions) como Sanity Test.

        1. Git push y Pull Request para validación CI antes del Merge.

    7. Pull Request, Continuous Integration y Pruebas de Regresión en CI:

      1. Cómo crear un Pull Request excelente con buenas prácticas (según US).

      2. Cómo funciona el PR de Dev y QA con las pruebas de Regresión CI.

      3. Qué es el Continuous Integration (CI) exactamente para nosotros.

      4. Cómo usar adecuadamente el CI para un ambiente de Pruebas.

      5. Cómo armar un archivo YML de GitHub Actions para pruebas Cypress en CI.

      6. Cómo podemos mejorar el archivo YML a través de Plugins de GitHub Actions.

    8. Cultura de Automatización en equipos Ágiles y entrega de tareas:

      1. Cómo planificar las pruebas de Regresión Automatizadas en un proyecto Agile.

      2. Cómo podemos identificar qué necesita ser automatizado? y qué tipo de prueba hacer.

      3. Cómo podemos evitar las Pruebas Flaky en CI (a veces fallan), con ayuda de los Devs.

      4. PLUS: Demostración de Cómo se realiza una prueba Automatizada de Integración (API)

    Ceremonia Final: Sprint Review y Sprint Retrospective

    Aquí vamos a finalizar el Sprint con las típicas ceremonias del SCRUM, la Review y la famosa RETRO. Aquí todos deberán participar si es posible para poder PRESENTAR sus tareas asignadas y finalizadas en el Sprint actual a los Clientes (Yo) en el Sprint Review, y luego participar en el Sprint Retro donde hablaremos de las mejoras a realizar, consejos, feedbacks y futuras metas.