Plan de Estudio 2026

Learn
Testing

Desde cero hasta dominar testing en frontend con fundamentos que escalan directo al backend. Sin saltar etapas.

16
Semanas
240h
Totales
5
Fases
15h
Por semana
Scroll
01 — Fases del programa

Roadmap completo

5 fases progresivas desde fundamentos mentales hasta testing en backend.

🧠
Fase 1
Por que testeamos?
Semana 1-2
Confianza al refactorizar, documentacion viva, catch de regresiones. Testing no es solo "encontrar bugs".
mindsetTDD intro
🔺
Fase 1
La Piramide de Testing
Semana 1-2
Unit → Integration → E2E. Mas unitarios, menos E2E. Costo vs velocidad de feedback.
unitintegratione2e
✍️
Fase 1
Que hace un buen test
Semana 1-2
AAA pattern (Arrange, Act, Assert). Tests deterministas, aislados, rapidos y con nombres descriptivos.
AAAnaming
Fase 2
Vitest / Jest
Semana 3
Setup basico, describe/it/expect, matchers comunes. Vitest para Vite projects, Jest para el resto.
VitestJestmatchers
🔧
Fase 2
Funciones puras
Semana 3
Empieza aqui. Input → Output predecible. Cero side effects. El testing mas facil que existe.
pure functionsutils
🎭
Fase 2
Mocks, Stubs & Spies
Semana 4
vi.fn(), vi.mock(), vi.spyOn(). Aislar dependencias externas (APIs, localStorage, modulos).
vi.mockspyOnstubs
⚛️
Fase 2
Testing de Componentes
Semana 5
React Testing Library o Vue Test Utils. Testear comportamiento, no implementacion. getByRole sobre getByTestId.
RTLVue TUqueries
🔁
Fase 2
Hooks & Custom Logic
Semana 6
renderHook de RTL. Testear useEffect, useState, custom hooks sin renderizar UI completa.
renderHookact()
🌐
Fase 2
Peticiones HTTP
Semana 7
Mock Service Worker (MSW) para interceptar fetch/axios. Tests realistas sin servidor real.
MSWfetch mock
🅰️
Fase 2
Angular Testing
Semana 7-8
Testing en Angular tiene sus propias herramientas. TestBed para configurar el módulo de test, Spectator para simplificar setup, ng-mocks para aislar dependencias sin boilerplate.
TestBedComponentFixtureSpectatorng-mocksasync/fakeAsyncHttpClientTestingModule
🔗
Fase 3
Integration Testing
Semana 9-11
Testear multiples unidades juntas: formularios completos, flujos de estado con context/store, interaccion entre componentes.
RTLZustandRedux
🎪
Fase 3
Cypress
Semana 9-11
E2E en el browser real. cy.visit, cy.get, cy.intercept. Testear flujos criticos: login, checkout, forms complejos.
Cypressinterceptfixtures
🎭
Fase 3
Playwright
Semana 9-11
Alternativa moderna a Cypress. Multi-browser nativo, mejor para CI/CD, mas rapido. Elige uno y profundiza.
Playwrightmulti-browser
📋
Fase 3
Que testear con E2E (y que no)
Semana 9-11
Flujos criticos de negocio (auth, pago), navegacion entre paginas, formularios end-to-end. NO cada variante de UI (eso es unit), NO casos edge (eso es integration), NO logica interna de componentes.
best practicesstrategy
Reglas E2E SI: Auth, pagos, navegacion, forms completos
NO: Variantes UI, casos edge, logica interna
Fase 4
Accessibility Testing
Semana 12-16
jest-axe para checks automaticos. Queries semanticas en RTL. Testing con roles ARIA reales.
jest-axeARIAa11y
👁️
Fase 4
Visual Regression
Semana 12-16
Snapshots de UI con Storybook + Chromatic o Percy. Detectar cambios visuales no intencionados.
StorybookChromaticPercy
📈
Fase 4
Coverage Reports
Semana 12-16
Istanbul/V8 coverage. No busques 100%, busca cubrir paths criticos. Coverage como guia, no como meta.
IstanbulV8thresholds
🔄
Fase 4
TDD en practica
Semana 13-14
Red → Green → Refactor. TDD no se aprende en 1 semana — se internaliza con 2 semanas de práctica activa. Semana 13: ciclos cortos con funciones puras. Semana 14: TDD en componentes y servicios reales.
TDDred-green-refactorOutside-In TDDLondon SchoolBaby Steps
🤝
Fase 4
Contract Testing
Semana 15
Cuando el frontend y el backend son equipos distintos (o micro-frontends), los tests de contrato garantizan que la API que esperas consume la que el backend expone. Pact es el estándar.
PactConsumer-DrivenProvider TestsSchema ValidationAPI Contracts
🚀
Fase 4
Testing en CI/CD
Semana 16
GitHub Actions corriendo tests en cada PR. Bloquear merge si tests fallan. Parallelization para velocidad.
GitHub ActionsCIparallel
🌉
Puente
Puente hacia Backend
Transicion
Los fundamentos que aprendiste aplican directo al backend. El mindset, la piramide, AAA, mocks, coverage — todo es igual. Solo cambian las herramientas y lo que testeas.
mismo mindsetmisma piramidemisma logica de mocksnuevas herramientas
🟢
Fase 5
Jest para Node.js
Cuando quieras
Unit testing de funciones, services, utilidades. Mismo Jest, diferente entorno. Sin DOM, sin browser APIs.
JestNodeservices
🗄️
Fase 5
Mockeando DB & Servicios
Cuando quieras
jest.mock() para repos/ORMs. Test doubles para llamadas a base de datos. Testear logica sin SQL real.
jest.mockPrisma mockin-memory DB
🌍
Fase 5
API / Integration Tests
Cuando quieras
Supertest para testear rutas HTTP reales contra una instancia del servidor. Seed de datos y cleanup.
SupertestHTTP testingseed/teardown
📦
Fase 5
Testing de modulos Python/otros
Cuando quieras
Pytest (Python), Go test, JUnit (Java). Los conceptos son identicos. Las APIs son distintas.
Pytestgo testJUnit
02 — Semana tipo

Distribucion semanal

15 horas semanales divididas en bloques diarios de 3 horas (Lunes a Viernes). Cada dia: teoria + practica del concepto.

Distribucion diaria · 3h
📖 Teoria + documentacion del concepto1h
⌨️ Implementar tests en proyecto real1h 30m
📝 Revisar, refactorizar y documentar30m
SemanaFaseTema principalHoras
W01F1Por qué testeamos, TDD intro, mindset, pirámide de testing15h
W02F1AAA pattern, qué hace un buen test: determinista, aislado, rápido, descriptivo15h
W03F2Vitest / Jest: setup, describe/it/expect, matchers — primeros tests sobre funciones puras15h
W04F2Mocks, Stubs & Spies: vi.fn(), vi.mock(), vi.spyOn() — aislar dependencias externas15h
W05F2Testing de Componentes: React Testing Library, queries semánticas, getByRole sobre getByTestId15h
W06F2Hooks & Custom Logic: renderHook, act(), testing de useEffect y custom hooks15h
W07F2HTTP Mocking: Mock Service Worker (MSW) — tests realistas sin servidor real15h
W08F2Angular Testing: TestBed, ComponentFixture, Spectator, ng-mocks, async/fakeAsync15h
W09F3Integration Testing: formularios completos, flujos de estado con context/store, interacción entre componentes15h
W10F3Cypress: cy.visit, cy.get, cy.intercept — flujos críticos: login, checkout, forms complejos15h
W11F3Playwright: multi-browser, CI/CD optimizado — qué testear con E2E y qué no15h
W12F4Accessibility Testing: jest-axe, queries semánticas ARIA, testing con roles reales15h
W13F4Visual Regression (Storybook + Chromatic) + Coverage Reports (Istanbul/V8, thresholds)15h
W14F4TDD en práctica I: Red/Green/Refactor con funciones puras y utilidades — ciclos cortos15h
W15F4TDD en práctica II + Contract Testing: Outside-In TDD en componentes + Pact, Consumer-Driven Tests15h
W16F4Testing en CI/CD: GitHub Actions, bloquear merge en fallos, paralelización, gates de cobertura15h
Vista panorámica de ciudad moderna representando proyectos digitales

Conectemos

Si te interesa mi trabajo, quieres colaborar o conversar sobre tecnología, escríbeme.