CursosWorkshop IAEmpresasPreciosBlogNewsletter
  • Cursos
  • Workshop IA
  • Empresas
  • Precios
  • Blog
  • Newsletter
Suscríbete
  • Cursos
  • Empresas
  • Comunidades
  • Blog
  • Tarjeta regalo
  • Newsletter
  • Soporte
  • Tienda
  • ConfAiBot
  • Contacta
  • Aviso legal
  • Condiciones generales
  • Política de privacidad
  • Política de cookies

Curso de Testing: Introducción y buenas prácticas

Standard
Javier FerrerRafa Gómez

Por Javier Ferrer y Rafa Gómez – Diseño y Arquitectura de Software y Metodologías y buenas prácticas

Aprende qué aporta el testing, cómo testear y buenas prácticas para evitar que mantener tus tests sea un infierno con ejemplos de El Mundo Real™

Ir al curso

Curso con ejemplos prácticos y al grano donde aprenderás los distintos tipos de tests que usamos en nuestro día a día, estrategias y patrones de diseño que nos ayudarán a hacer nuestros tests más fácilmente mantenibles y tolerantes al cambio.

En el curso veremos cómo plantear una estrategia de testing donde definiremos qué elementos de nuestra aplicación testea cada tipología de test, maximizando el valor que aportan y minimizando el coste de mantenerlos.

En el curso aprenderás:

  • Bases del testing, no se requieren conocimientos previos de test.
    • Veremos ejemplos en los siguientes lenguajes:
      • PHP
      • Java
      • JavaScript
      • Scala
    • Conceptos a nivel de introducción como:
      • Qué entendemos como unidad en nuestros test unitarios
      • Pirámide de test
      • ¿Deberíamos cubrir el 100% de código con test?
  • Aspectos avanzados y concretos como:
    • Evitando instanciaciones complejas: ObjectMother
    • Cómo evitar tests lentos y acoplados: Fakes, Stubs y Mocks
    • Cómo solucionar tests que fallan aleatoriamente
    • Cómo evitar tests que pasan pero el código falla en producción
    • Mejorar la mantenibilidad y estructura de nuestros test
    • Aplicar el Principio de Responsabilidad Única de SOLID a nuestros tests
    • Patrón Given-When-Then o Arrange-Act-Assert
    • Aportar legibilidad y semántica a nuestros tests
    • Gestión de equipo y flujo de desarrollo
    • Dobles de test adicionales como Dummy y Spy
    • Resumen de TDD: Desarrollo Dirigido por Tests
    • Refactoring: Tips para añadir tests a una aplicación ya existente
    • Lidiando con legacy: Oportunidades para añadir tests

Recomendamos hacer el curso de Principios SOLID Aplicados y Arquitectura Hexagonal antes de empezar este curso para adquirir bases de diseño de Software que servirán para poder aprovechar mejor los conceptos que veremos en este curso.

Aquí el primer vídeo del curso para que te puedas hacer una idea del ritmo y calidad de los contenidos:

Vídeos del curso

  • ❓ ¿Qué es el testing y qué aporta? ¿Por qué deberíamos testear? - Ejemplos de El Mundo Real™️

  • ☝️ Tipos de test y ejemplo de test unitario: Live coding!
  • 🤝 Test de integración - Ojo con Unit of Work!
  • ✅ Ejemplo test de aceptación
  • ¡Repasemos!
  • ¡A practicar! Test unitario de obtener curso

  • 🐘 Testing en PHP con PhpUnit
  • ☕ Testing en Java con jUnit
  • 🧬 Testing en Scala con ScalaTest
  • 💫 Testing en JavaScript con Jest
  • ¡Repasemos!
  • ¡A practicar! Exprime tu librería de testing

  • 👇 ¿Qué entendemos como unidad en nuestros test unitarios? Subject Under Test (SUT)
  • 🔺 Pirámide de test - Propuesta de estrategia para el día a día
  • ¡Repasemos!
  • ¡A practicar! Test unitario de uso obtener un video

  • 🧶 Evitando instanciaciones complejas: ObjectMother
  • 🐢 💨 Cómo evitar tests lentos y acoplados: Fakes, Stubs y Mocks
  • ¡Repasemos!
  • ¡A practicar! Test double para VideoRepository

  • 🔀 Cómo solucionar tests que fallan aleatoriamente
  • 🤯 Cómo evitar tests que pasan pero el código falla en producción
  • ¡Repasemos!
  • ¡A practicar! Forzando tests deterministas

  • 📂 Estructura de carpetas
  • 1️⃣ Aplicando el Principio de Responsabilidad Única de SOLID
  • 🔋 Patrón Given-When-Then o Arrange-Act-Assert
  • ¡Repasemos!
  • ¡A practicar! Tests de Aceptación para CoursesCounter

  • 📖 Aportando legibilidad y semántica a nuestros tests
  • ¡Repasemos!
  • ¡A practicar! Test más semántico

  • ⚡ Introducción a TDD
  • 👨‍💻 Introducción y ejemplo con TCR
  • ¡Repasemos!
  • ¡A practicar! flujo TDD crear video

  • ☝️ Introducción a ATDD e implementación del test de aceptación
  • 👇 Implementación del test unitario del caso de uso y cierre de círculos
  • ¡Repasemos!
  • ¡A practicar! flujo ATDD crear curso

  • 📤 Convenciones a nivel de equipo: GitHooks
  • 🤝 Cómo promovemos el testing en nuestras empresas
  • ¡Repasemos!

  • 👤 Cumpliendo firmas de métodos: Dummy
  • 🕵️‍♀️ Espiando nuestro propio comportamiento: Spy
  • ¡Repasemos!
  • ¡A practicar! creando un Dummy

  • Alternativa a los tests de Aceptación
  • Test de Aceptación y el Happy Path
  • Escenarios sin `When`

  • 🧟 Otros paradigmas de testing: Mutant y property based testing
  • 🤟 Automatizando la ejecución de test: Integración Continua
  • 🙌 Conclusiones y siguientes pasos
  • 🤔 Feedback de mejora y recomendaciones
Ir al curso

Cursos relacionados

Standard
Patrones de diseño: Inbox y Outbox

📬 Patrones de diseño: Inbox y Outbox

Javier FerrerRafa Gómez

Aprende cuándo utilizar (y cuándo no) los patrones Inbox y Outbox.

Ver curso
Standard
Cómo medir la productividad de equipos de desarrollo [Charla]

🔬 Cómo medir la productividad de equipos de desarrollo [Charla]

AudienseCodely

Charla donde Alfredo Artiles nos cuenta cuando y cómo tiene sentido medir la productividad de equipos de desarrollo.

Ver curso
Standard
Event bus en base de datos [Diseño de Infraestructura]

🚏 Event bus en base de datos [Diseño de Infraestructura]

Javier FerrerRafa Gómez

Añade escalabilidad utilizando tu propia base de datos como un Event Bus.

Ver curso
Ver catálogo completo

Paga según tus necesidades

lite (sólo mensual)

19 €
al mes
  • Cursos esenciales de programación para construir una base sólida
Popular

standard

24,92 €
Descuento vs mensual de 49 €
Pago anual de 299 €
al mes
  • Catálogo principal para dominar cómo escribir un código mantenible, escalable y testable
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa
  • Acumular descuentos al renovar

premium

41,58 €
Descuento vs mensual de 89 €
Pago anual de 499 €
al mes
  • Cursos exclusivos de IA para mantenerte siempre actualizado
  • Acceso anticipado a nuevos cursos
  • Descuento en workshops
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa
  • Acumular descuentos al renovar

No subiremos el precio mientras mantengas tu suscripción activa

SuscríbeteInicia sesión