En informática , las pruebas de estrés (a veces llamadas pruebas de tortura ) se pueden aplicar tanto al hardware como al software. Se utilizan para determinar la capacidad máxima de un sistema informático y a menudo se emplean para fines como la escalabilidad para uso en producción y para garantizar la fiabilidad y la estabilidad. [ 1 ] Las pruebas de estrés suelen implicar la ejecución de una gran cantidad de procesos que consumen muchos recursos hasta que el sistema se bloquea o casi se bloquea.
Hardware
Una prueba de estrés (a veces llamada prueba de resistencia extrema) de hardware es una forma de prueba deliberadamente intensa y exhaustiva que se utiliza para determinar la estabilidad de un sistema o entidad. Consiste en realizar pruebas que superan la capacidad operativa normal , a menudo hasta el punto de ruptura, para observar los resultados.
Las razones pueden incluir: determinar los puntos de ruptura y los límites de uso seguro; confirmar que se cumplen las especificaciones previstas; buscar problemas dentro de un producto; determinar los modos de falla (cómo puede fallar exactamente un sistema) y probar el funcionamiento estable de una pieza o sistema fuera del uso estándar. Los ingenieros de confiabilidad a menudo prueban los elementos bajo el estrés esperado o incluso bajo un estrés acelerado para determinar la vida útil del elemento o los modos de falla . [ 2 ]
El término prueba de estrés, en lo que respecta al hardware (incluidos los componentes electrónicos, los dispositivos físicos, las centrales nucleares, etc.), probablemente tenga diferentes significados específicos en contextos concretos. Un ejemplo se encuentra en los materiales; véase Fatiga (material) .
Software
Las pruebas de estrés son una actividad de prueba de software que determina la robustez del software al someterlo a pruebas que superan los límites de su funcionamiento normal. Si bien son especialmente importantes para el software crítico , se utilizan para todo tipo de software. Generalmente, las pruebas de estrés hacen mayor hincapié en la robustez, la disponibilidad y el manejo de errores bajo cargas elevadas que en el comportamiento que se consideraría correcto en circunstancias normales.
Una prueba de estrés del sistema se refiere a pruebas que priorizan la robustez , la disponibilidad y el manejo de errores bajo una carga elevada, en lugar del comportamiento que se consideraría correcto en circunstancias normales. En particular, el objetivo de estas pruebas puede ser garantizar que el software no falle en condiciones de recursos computacionales insuficientes (como memoria o espacio en disco ), una concurrencia inusualmente alta o ataques de denegación de servicio .
Ejemplos:
- Un servidor web puede someterse a pruebas de estrés mediante scripts , bots y diversas herramientas de denegación de servicio para observar su rendimiento durante los picos de carga. Estos ataques suelen durar menos de una hora o hasta que se determina el límite de datos que el servidor web puede tolerar.
Las pruebas de resistencia pueden contrastarse con las pruebas de carga:
- Las pruebas de carga examinan todo el entorno y la base de datos, midiendo el tiempo de respuesta, mientras que las pruebas de estrés se centran en transacciones específicas, llevándolas a un nivel tal que provoquen fallos en las transacciones o los sistemas.
- Durante las pruebas de estrés, si se someten las transacciones a una carga selectiva, la base de datos puede no experimentar mucha carga, pero las transacciones sí se verán sometidas a una gran presión. Por otro lado, durante las pruebas de carga, la base de datos experimenta una carga elevada, mientras que algunas transacciones pueden no verse afectadas.
- Las pruebas de estrés del sistema, también conocidas como pruebas de estrés, consisten en sobrecargar el sistema con un número de usuarios concurrentes superior a su capacidad, de modo que se produzca una falla en el punto más débil del sistema.
Véase también
- Quemado
- Ensayos destructivos
- Herramientas de prueba de carga y rendimiento
- Pruebas de caja negra
- Pruebas de carga
- Pruebas de rendimiento de software
- Análisis de escenarios
- Simulación
- Pruebas de software
- Pruebas de caja blanca
- Technischer Überwachungsverein (TÜV): pruebas y certificación de productos
- Pruebas de concurrencia utilizando el verificador de modelos CHESS
- Jinx automatiza las pruebas de estrés explorando automáticamente escenarios de ejecución poco probables.
- Prueba de vida altamente acelerada
Referencias
- Pruebas de software
- Pruebas de producto