
En este módulo vamos a estar aprendiendo todo lo necesario para empezar a trabajar en Automation Testing como profesionales. Los pilares de la Programación Orientada a Objetos y cómo estos se relacionan con nuestro trabajo como Testers.
Este curso está orientado particularmente a Automation Testers, SDETs y Performance Testers para lograr un trabajo profesional y un mantenimiento óptimo en el código para el tester y el equipo que trabaje con él.
En esta primera sección vamos a definir qué es un lenguaje de programación y cómo lo usamos para instruir a un programa para que realice lo que deseamos.
En esta sección voy a contarles qué lenguajes son los más importantes y buscados por los empleadores en el mundo de Automation Testing y cuáles vamos a enfocar para conseguir trabajo, diferenciando entre grandes empresas y startups.
Objetos? Programación? Luego de esta clase vas a poder entender finalmente cómo es que la Programación Orientada a Objetos funciona y por qué es tan importante en el mercado actual del desarrollo de software.
Les gusta ocultar cosas? Conozcan al Encapsulamiento! Primer pilar de la Programación Orientada a Objetos. Qué es? Cómo se usa? Cómo se aplica realmente en Automation Testing? Ejemplos prácticos.
Nada mejor que heredar cosas para ahorrarnos trabajo. Pasa en la vida y pasa en Automation Testing! Qué es? Cómo funciona? Cómo se aplica realmente en Automation? Ejemplos prácticos.
A veces necesitamos generalizar... por suerte existe la abstracción! Qué es? Cómo funciona? Cómo se aplica realmente en Automation Testing? Ejemplos prácticos.
Es lindo generalizar para ahorrarnos tiempo, pero cuando hay que trabajar, necesitamos que las cosas tomen distintas formas! Esto nos trae al último pilar de la Programación Orientada a Objetos: El polimorfismo! Qué es? Cómo funciona? Cómo se aplica realmente en Automation Testing? Ejemplos prácticos.
Todo muy bello con los pilares de la Programación Orientada a Objetos pero... los usamos realmente en Automation? En este módulo van a aprender cuáles y de qué manera se usan!
En este módulo vamos a entender qué es una Clase en el mundo de la programación. Por qué está compuesta y vamos a tomar dos ejemplos muy sencillos de entender.
En la clase freerangetesterhomepage.py que encuentran adjunta, pueden ver cómo se ve una clase. En este caso, es una clase de Python, pero la convención es muy similar entre los diferentes lenguajes como verán en los otros cursos disponibles sobre Automation en Java, JavaScript y Python.
Pueden observar, que tiene una sección al comienzo donde se declaran los imports. Estos imports son librerías que vamos a estar usando en esta clase. Importamos piezas que vamos a utilizar en esta clase.
Luego, con la palabra reservada "class" vamos a definir el nombre de la clase, que es a elección nuestra (aunque siempre recomiendo que sea algo coherente con lo que hace la clase). En este caso verán que la clase se llama TheFreeRangeTesterHomePage.
En Python no hace falta abrir y cerrar el cuerpo de la clase, como vamos a ver que SI es el caso en lenguajes como Java (con {}) y JavaScript.
Finalmente pueden ver que hay atributos, como URL, NAVIGATION_BUTTON y POPUP_INICIO y métodos como "init", "load" "enable_navigation" y "close_popup".
Estamos definiendo ambos en esta clase. Recuerdan que les dije que en los atributos se definían en la instancia que se crea del objeto generalmente? Bueno, en Automation y particularmente el Page Object Model (ya lo veremos más adelante en el curso de Automation con Selenium) sucede algo diferente. Los atributos corresponden a los elementos en la página web y van a ser definidos en la misma clase, respondiendo al pilar del encapsulamiento.
Las clases están compuestas de Atributos y Métodos (también conocidos como Funciones), pero... qué son realmente? En este módulo lo definimos y damos ejemplos siguiendo con nuestra Clase Persona!
En esta clase vamos a ver en detalle y con ejemplos, los condicionales: If, elif, else y mucho más.
Otra de las herramientas que más vamos a usar de la programación en Automation Testing son los loops. Aprende sus fundamentos, cómo usarlos y qué hacen en esta clase!
Comenzamos con los Principios SOLID y el primero del que vamos a ocupar va a ser el Principio de Responsabilidad Única!
Otro de los principios SOLID, en este caso el de Open/Closed. Va a ser uno de los que más atención tengamos que poner a la hora de desarrollar y crear nuestras funciones!
La L en SOLID la pone el Principio de Sustitución de Liskov. En él, vamos a comprender cómo superclases y clases derivadas deberían poder intercambiar funciones sin romper.
Vamos que nos quedan solo dos principios! El principio de Segregación de Interfaces expande un poco lo propuesto por el principio de Responsabilidad Única.
El último principio: Inversión de Dependencias. No se preocupen si suena demasiado técnico, es para que sepan que estos principios existen y luego, en los cursos cuando les diga "se acuerdan cuando hablamos de este principio? Acá lo estamos usando!" sepan de dónde viene!
En esta sección vamos a aprender algo que, en mi opinión, es clave para empezar a trabajar en Automation y buscar trabajo: SCM. Pero...qué es?
En esta clase explico por qué es importante SCM y por qué ustedes, en sus roles de testers, deben aplicar esta forma de trabajar incluso cuando estén en equipos que no lo hacen.
Qué componentes encontramos en un repositorio remoto? Vamos a ver un pantallazo sobre ellos y sus fundamentos.
Qué son los branches en un repositorio? Por qué debemos usarlas?
Listo, entramos ya en el flujo de trabajo! Tenemos nuestros cambios hechos y necesitamos hacérselo saber al mundo... cómo se hace correctamente?
Nuestro equipo va a trabajar y modificar muchas cosas en el repositorio que trabajemos juntos... cómo obtener esos cambios?
Última clase para terminar con los conocimientos que vas a necesitar para los próximos cursos ya automatizando con distintas herramientas: Creación de branches.
Automation Testing es mucho más que usar un par de herramientas. Es programar! Y para eso hacen falta algunos conocimientos claves que vas a tener que tener antes de empezar cualquier curso de Automation!
Por eso es que en este curso vas a encontrar desde cuáles son los lenguajes de programación más populares dependiendo qué mercado busques, a las definiciones y demostraciones prácticas de qué es una clase, un método, variables, condicionales, loops, manejo de errores, versionado de software y mucho más!
La clase está compuesta de videos de una duración corta en su gran mayoría, con la excepción de los videos de Condicionales y Loops que requieren más demostración para explicar sus conceptos.
Una vez terminado este curso, vas a tener los conocimientos necesarios para empezar con el pie derecho a aprender herramientas de Automation que requieran codificar y, además, estar preparado/preparada para trabajar en equipos profesionales usando Source Control Management.
Este es, ni más ni menos, que tu comienzo en el viaje de aprender Automation Testing! Considero este curso el prerequisito para comenzar los demás cursos que pueden encontrar en mi perfil: Desde Automatización en ETL Datawarehouses, a E2E Testing con herramientas como Cypress y Playwright, el viaje que tenés por delante en esta hermosa disciplina es largo, pero satisfactorio.