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

AspectoStress TestingVolume Testing
EnfoqueLímites del sistemaProcesamiento de datos
Tipo de CargaUsuarios concurrentesVolumen de datos
ObjetivoPunto de rupturaValidar 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

See Also