🧑🏻‍💻 ¿Qué es Source Control Management?

🧑🏻‍💻 ¿Qué es Source Control Management?

Llegamos al módulo sobre repositorios — y arrancamos desde el principio. Antes de clonar, hacer commits o trabajar en branches, hay que entender por qué existe el Source Control Management y qué problema concreto resuelve. Porque una vez que lo entendés, no podés imaginar trabajar sin él.


🔍 Qué es el SCM

El Source Control Management — también llamado Version Control System o VCS — es un sistema que registra los cambios que se hacen sobre un conjunto de archivos a lo largo del tiempo. Permite saber quién cambió qué, cuándo y por qué, y volver a cualquier versión anterior si algo sale mal.

La analogía más simple: imaginá que cada vez que guardás tu código, el sistema toma una foto del estado exacto de todos los archivos en ese momento. Si mañana algo se rompe, podés volver a cualquier foto anterior. Si dos personas trabajan en el mismo archivo, el sistema ayuda a combinar esos cambios sin pisar el trabajo del otro.

Sin SCM, trabajar en equipo sobre un proyecto de código es un caos: archivos con nombres como script_v2_final_FINAL_este_sí.py, cambios que se pierden, versiones que se pisan y ninguna forma de saber exactamente qué cambió entre una versión y otra.


🔍 Git: el estándar de la industria

Hoy, cuando alguien habla de SCM en el mundo del desarrollo de software, casi siempre está hablando de Git. Es el sistema de control de versiones más usado del mundo — y la base de plataformas como GitHub, GitLab y Bitbucket donde viven la mayoría de los proyectos de código, incluyendo los proyectos de automation.


📚 Para profundizar

  • Git — Documentation — La documentación oficial de Git. Incluye un libro completo gratuito (Pro Git) que cubre desde los conceptos básicos hasta los flujos de trabajo más avanzados.

  • GitHub Skills — Cursos interactivos gratuitos de GitHub para aprender Git en la práctica, directamente en un repositorio real.


🤔 Para reflexionar

  • ¿Alguna vez perdiste código porque no tenías una forma de volver a una versión anterior? ¿Cuánto tiempo te costó recuperarlo?

  • ¿Cómo coordinás hoy los cambios de código con tu equipo cuando varias personas trabajan sobre el mismo proyecto?

Programación y trabajo con código para Testers

Comprar ahoraSaber más

Introducción al curso

  • 🤔 ¿Cómo hacer preguntas?
  • 🔥 Recomendaciones para sacarle el mayor provecho al curso
  • 💪🏻 Actividades del curso

Programación Orientada a Objetos

  • 🤓 ¿Qué es un lenguaje de programación?3
  • ⚗️ ¿Cuáles son los lenguajes más buscados para Automation Testing?1
  • ⚱️ ¿Qué es la Programación Orientada a Objetos y cómo se relaciona con Automation?1
  • 1️⃣ Primer pilar: El encapsulamiento.
  • 2️⃣ Segundo pilar: La herencia
  • 3️⃣ Tercer pilar: La abstracción.
  • 4️⃣ Cuarto y último pilar: El polimorfismo.
  • ⚙️ Aplicaciones reales de estos pilares en Automation Testing
  • 🙋🏻‍♂️ Cuestionario del módulo
  • 💡Asignación

Conceptos clave de la Programación Orientada a Objetos para Automation Testing

  • 🧩 ¿Qué es una Clase en programación?2
  • 👑 ¿Qué es el Método?
  • 📡 ¿Qué son los Tipos?
  • 🕹️ Los Condicionales2
  • 🧲 Los Loops2
  • 🖇️ Los bloques Try and Catch
  • 📋 Las listas: Qué son y para qué se usan?
  • 🗞️ Diccionarios en Programación: ¿Qué son y para qué sirven?
  • 🧑🏻‍💻 Cuestionario: Conceptos clave de la Programación Orientada a Objetos para Automation Testing
  • 💡Asignación

Los principios SOLID

  • 🧃 El Principio de la Responsabilidad Única: Qué es y cómo sirve en Automation?
  • 🐕 El Principio de Abierto/Cerrado: El concepto más importante de la POO.
  • 🎞️ El Principio de Sustitución de Liskov: De la mano de la abstracción.
  • 🔩 El Principio de Segregación de Interfaces: Más independencia, menos consecuencia
  • 🖲️ El Principio de Inversión de Dependencias: Separando los componentes.
  • 🔥 Cuestionario: Principios SOLID en Automation Testing
  • 💡Asignación

Trabajando con código en un repositorio

  • 🧑🏻‍💻 ¿Qué es Source Control Management?
  • 🏖️ ¿Por qué es necesario el SCM en un proyecto de Automation?
  • 🎩 Piezas de un repositorio de Automation.
  • 👀 Branches y Master: ¿Qué son y por qué usarlos?
  • 💡 Comandos para trabajar en equipo con SCM: Fork y Clone.
  • 🧢 Comandos para trabajar en equipo con SCM: Add, Commit y Push.
  • 👏🏻 Comandos para trabajar en equipo con SCM: fetch y pull.
  • 🔥 Comandos para trabajar en equipo con SCM: Checkout y creación de branches.
  • ⚔️ Cuestionario: Trabajando con código en un repositorio
  • 🔥Asignación

Lenguajes: Java

  • 🤠 Estructura básica de un programa en Java
  • 🍋 Tipos de datos y variables en Java
  • 🐭 Operadores en Java
  • 🎋 Control de flujo1
  • 🌋 Arrays en Java
  • 🔥Asignación

Conclusión y más...

  • 🤖 ¡Dejá tu testimonio inmortalizado en la web!