¿Qué es el breakpoint testing?
El breakpoint testing sube la carga hasta que el sistema falla para hallar su límite exacto. Cómo hacerlo, definir el fallo y evitar errores típicos.
¿Qué es el breakpoint testing?
El breakpoint testing (prueba de punto de ruptura) es una prueba de rendimiento que sigue aumentando la carga sobre un sistema, en pasos controlados, hasta que falla, para que sepas dónde está su límite. El resultado es una cifra con la que planificar: la carga a la que el tiempo de respuesta, la tasa de errores o el rendimiento cruzan la línea que definiste como fallo. También se llama prueba de capacidad, de carga puntual o de límites. (Si buscas los breakpoints de CSS del diseño adaptable, consulta diseño mobile-first.)
Cómo funciona una prueba de punto de ruptura
- Define primero el fallo. Por ejemplo, un tiempo de respuesta p95 por encima de un valor fijado, una tasa de errores superior a un porcentaje o un rendimiento que deja de crecer. Sin esto no sabrás cuándo has encontrado el límite.
- Sube la carga de forma gradual. Los saltos bruscos dificultan saber cuándo y por qué falló el sistema.
- Sigue durante la degradación. A diferencia de la mayoría de pruebas, esta no se detiene cuando el sistema se vuelve lento, sino cuando se cumple tu condición de fallo.
- Detén la prueba con un umbral o a mano. En k6, un umbral con
abortOnFailpuede terminar la ejecución automáticamente. - Localiza lo que se saturó. CPU, memoria, un pool de conexiones a la base de datos o un pool de hilos: eso es lo que hay que escalar o corregir.
Ejemplo
Cifras ilustrativas, no un benchmark. Una API mantiene un p95 estable con 100 usuarios virtuales. Añades 50 usuarios cada minuto. Hacia los 400 usuarios el p95 sube más deprisa que la carga, y con 550 usuarios la tasa de errores supera el 1 %. El punto de ruptura está en unos 550 usuarios, y el codo cercano a 400 es la cifra más prudente para planificar. Corrige el cuello de botella, repite la misma rampa y comprueba si ambas cifras se han movido.
Breakpoint testing frente a pruebas de estrés, capacidad y picos
- La prueba de capacidad busca la mayor carga que aún cumple tus objetivos. El breakpoint testing busca dónde dejan de cumplirse. Algunas fuentes usan ambos términos para lo mismo.
- Una prueba de estrés empuja más allá del pico esperado para ver cómo falla y se recupera el sistema. Una prueba de punto de ruptura mide dónde falla. Véase pruebas de carga frente a pruebas de estrés (en inglés).
- La prueba de picos aplica un salto repentino. La de punto de ruptura sube de forma constante. Ambas se apoyan en las pruebas de carga.
Errores habituales
- Dejar activado el autoescalado. La guía de k6 de Grafana advierte de que los entornos elásticos pueden seguir creciendo hasta alcanzar el límite de gasto de tu cuenta. Desactiva la elasticidad de los componentes probados, o medirás tu presupuesto.
- Subir la carga demasiado rápido, lo que oculta dónde está el codo.
- No definir el fallo, de modo que la ejecución termina cuando alguien se cansa.
- Un generador de carga saturado. Si a la máquina que genera la carga se le agota antes la CPU, mides el generador y no el sistema.
- Probar un sistema que no es tuyo o sin permiso. Una prueba de punto de ruptura está pensada para romper cosas: usa una copia de staging o una ventana acordada, nunca un sistema compartido o de producción sin autorización.
- Ejecutarla una sola vez. Repítela tras cada ajuste para ver si el límite se movió.
Pruebas de punto de ruptura con LoadFocus
En JMeter, el plugin Stepping Thread Group añade usuarios por tandas a intervalos fijos. En k6, un escenario de rampa con varias etapas hace lo mismo. LoadFocus ejecuta scripts de JMeter existentes y scripts de k6 en JavaScript desde hasta 25 regiones en la nube, y en los planes de pago hasta 20.000 usuarios virtuales simultáneos por prueba (el plan gratuito se limita a 10, así que buscar un techo real requiere un plan de pago). Puedes fijar como umbrales el tiempo de respuesta P95 y P99 máximo, la tasa de errores máxima y el rendimiento mínimo, y los resultados representan errores y códigos de respuesta frente al número de usuarios virtuales, la curva de la que se lee el punto de ruptura. Empieza en las pruebas de carga de LoadFocus. Sobre la rampa, véase el periodo de ramp-up de JMeter (en inglés).
Preguntas frecuentes: breakpoint testing
¿Es lo mismo que una prueba de estrés?
Se solapan. La prueba de estrés pregunta cómo se comporta y se recupera el sistema más allá de sus límites. El breakpoint testing pregunta dónde está exactamente el límite.
¿Cómo sé cuándo detener la prueba?
Cuando se cumple la condición de fallo definida de antemano, como un p95 por encima de un límite o una tasa de errores superior a un porcentaje. En k6, un umbral con abortOnFail puede detener la ejecución por ti.
¿Debo ejecutarla en producción?
Solo con aprobación explícita y un plan. La prueba está diseñada para provocar fallos, así que una copia de staging de producción es el lugar más seguro.
¿Cada cuánto debo repetirla?
Tras cambios importantes de código o infraestructura, cuando la carga crece y después de optimizar, para ver si el límite se movió.
Términos relacionados
- ¿Qué es el modo dispositivo del navegador?
- ¿Qué es capacity testing?
- ¿Qué es el Cloud Monitoring?
- ¿Qué es la ruta de renderizado crítica?
- ¿Qué es el CSS Object Model (CSSOM)?
- Cumulative Layout Shift (CLS): definición, causas y soluciones
- ¿Qué es el Digital Experience Monitoring (DEM)?
- ¿Qué es el DOM? Document Object Model explicado
Herramientas LoadFocus relacionadas
Lleva este concepto a la práctica con LoadFocus, la misma plataforma que potencia todo lo que acabas de leer.