TL;DR
- Stress testing: incrementa usuarios concurrentes hasta el punto de quiebre (CPU, memoria, umbral de errores)
- Volume testing: inunda el sistema con grandes volúmenes de datos para probar la base de datos y el procesamiento de archivos
- Ambos están definidos por ISTQB como tipos de pruebas de rendimiento no funcionales con objetivos distintos
- k6 o JMeter para stress testing; sysbench o scripts personalizados para volume testing
- Clave: un sistema que maneja 10.000 usuarios puede fallar al procesar 100 millones de registros — necesitás ambas pruebas
El stress testing y el volume testing son dos tipos distintos de pruebas no funcionales definidos por el estándar ISTQB. Según el Glosario ISTQB, el stress testing evalúa el comportamiento “más allá de la capacidad operativa normal, a menudo hasta un punto de quiebre”, mientras que el volume testing evalúa el rendimiento al procesar “grandes volúmenes de datos”. Las encuestas de la industria muestran que el 60% de las interrupciones en producción son causadas por fallas de capacidad que habrían sido detectadas con stress o volume testing adecuados (Gartner, 2023). El mercado global de performance testing alcanzó $4.300 millones en 2023 y se espera un crecimiento del 14% anual hasta 2028 (Grand View Research). Aunque ambos buscan encontrar los límites del sistema, el stress testing apunta a la carga de usuarios concurrentes — como 10.000 solicitudes simultáneas — mientras que el volume testing apunta a la cantidad de datos: 100 millones de filas en la base de datos o una importación de archivo de 500 GB. Ambos son esenciales para una estrategia de rendimiento completa.
Stress Testing
Definición
Evalúa el comportamiento del sistema más allá de la capacidad operativa normal para identificar puntos de ruptura.
Configuración
stress_test:
start_load: 100
increment: 50
max_load: 2000
Métricas Clave
- Response Time: > 5x normal
- Error Rate: > 5%
- CPU Usage: > 90%
- Recovery Time: < 5 min
Volume Testing
Definición
Evalúa el rendimiento del sistema al procesar grandes volúmenes de datos.
Configuración
volume_test:
database_records: 10_million
file_size: 1_GB
batch_size: 100_000
Escenarios
-- Test de base de datos
INSERT INTO orders
SELECT * FROM generate_series(1, 10000000);
«Los equipos suelen confundir el stress testing con el volume testing porque ambos “presionan el sistema con fuerza”. La distinción importa: el stress testing revela cómo escala tu infraestructura horizontalmente, mientras que el volume testing revela cómo escala tu capa de datos con el número de registros. He visto sistemas manejar 50.000 usuarios concurrentes sin problemas y luego caerse cuando alguien ejecutaba un reporte contra 200 millones de filas.» — Yuri Kan, Senior QA Lead
Diferencias Clave
| Aspecto | Stress Testing | Volume Testing |
|---|---|---|
| Enfoque | Límites del sistema | Procesamiento de datos |
| Tipo de Carga | Usuarios concurrentes | Volumen de datos |
| Objetivo | Punto de ruptura | Validar manejo de datos |
Conclusión
Stress testing identifica límites del sistema, mientras volume testing valida capacidades de procesamiento de datos. Ambos son esenciales para estrategias completas de performance testing (como se discute en Database Performance Testing: Query Optimization).
Recursos Oficiales
- Glosario ISTQB — Stress Testing — definición oficial de ISTQB del stress testing como tipo de prueba no funcional
- Documentación k6 — Stress Testing — ejemplos prácticos de configuración de stress tests con ramp-up gradual de carga
- Web Performance
- Core Web Vitals
See Also
- Performance Testing: De la Carga al Estrés - Guía completa de pruebas de rendimiento: JMeter, Gatling, K6,…
- DDoS Testing: Probar Resiliencia del Sistema - Probar resiliencia DDoS: simulación de ataques, rate limiting,…
- Burp Suite para Ingenieros QA: Guía Completa Testing Seguridad - Testing seguridad con Burp: configuración proxy, scanner,…
- Database Performance Testing: Optimización de Consultas - Testing de optimización de BD: rendimiento de consultas,…
