GuíaBásico

Guía de Performance y Load Testing con k6

Aprende la diferencia entre "¿funciona?" y "¿aguanta bajo carga?" con performance y load testing usando k6, la herramienta estándar de la industria. Cubres los tipos de prueba (smoke, load, stress, spike, soak), la anatomía de un script k6 y su modelo de VUs (usuarios virtuales), las métricas que importan de verdad (latencia p95/p99, throughput/RPS, tasa de error — y por qué el promedio miente), los perfiles de carga con `stages`, y los thresholds: umbrales que hacen PASAR o FALLAR una prueba automáticamente, como un quality gate de rendimiento. El caso de estudio es una API de Reservo (`GET /rooms`, `POST /quote`, `POST /book`) corriendo en local: como k6 no está instalado en el entorno de la guía, sus scripts y su salida se muestran como contenido claramente rotulado y verificado contra la documentación oficial, mientras que las métricas reales (p95, RPS, tasa de error) se calculan de verdad con un generador de carga en Python que golpea la API. Cierra con un proyecto final: una prueba de carga completa smoke → load → stress, con thresholds, checks del flujo de negocio (cotizar → reservar) y el pipeline de CI.

64
lecciones
8
módulos
Inglés · Español
disponible en
certificado
Gratis
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Distinguir "¿funciona?" (testing funcional) de "¿aguanta?" (testing de carga) y reconocer los tipos de prueba: smoke, load, stress, spike y soak
  • Leer y escribir la anatomía de un script k6: la función `default`, `http.get`/`post`, `check()`, `sleep()`, y el modelo de VUs (usuarios virtuales concurrentes)
  • Interpretar las métricas clave de una prueba de carga: percentiles de latencia (p90/p95/p99, y por qué el promedio miente), throughput/RPS, y tasa de error
  • Modelar perfiles de carga realistas con `stages` (ramp-up, steady, ramp-down) y distinguir executors por VUs vs. por tasa de llegada
  • Definir thresholds (SLOs) que hacen PASAR o FALLAR una prueba de carga como un quality gate de rendimiento, y elegir el umbral correcto
  • Usar `check()` y `group()` para verificar la corrección de las respuestas bajo carga, parametrizar datos y correlacionar un flujo completo (cotizar → reservar)
  • Analizar resultados, exportar métricas, detectar una regresión de rendimiento entre corridas, y correr una prueba de carga en CI como gate del pipeline
  • Diseñar una prueba de carga completa de una API real: smoke → load → stress, con thresholds, checks del flujo de negocio, y el pipeline de CI

Antes de empezar

Qué necesitas traer

Es para ti si...

  • Backend devs que necesitan saber si su API aguanta tráfico real antes de que lo descubra un usuario en producción
  • Equipos que quieren poner umbrales de rendimiento (SLOs) que bloqueen un deploy automáticamente, no solo revisarlos a ojo
  • Devs que confunden "anduvo en mi máquina" con "aguanta bajo carga concurrente" y quieren medir en vez de suponer
  • Equipos evaluando adoptar k6 como herramienta de carga y quieren entender su modelo antes de instalarlo en CI

Requisitos y materiales

  • Conocimientos básicos de HTTP (métodos, códigos de estado, JSON) y de una API REST simple
  • Python 3.14 instalado localmente (el generador de carga usa `threading`/`concurrent.futures`/`statistics` de la librería estándar)
  • No hace falta tener k6 instalado — la guía lo trata como contenido; opcionalmente se puede instalar para correr los scripts reales

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!