Pruebas de estrés (informática)
En informática, las pruebas de estrés (a veces llamadas pruebas de tortura) se pueden aplicar tanto al hardware como al software. Se utiliza para determinar la capacidad máxima de un sistema informático y, a menudo, se utiliza para fines tales como escalar para el uso de producción y garantizar la confiabilidad y la estabilidad. Las pruebas de estrés suelen implicar la ejecución de una gran cantidad de procesos que consumen muchos recursos hasta que el sistema falla o casi lo hace.
Hardware
Una prueba de estrés (a veces llamada prueba de tortura) de hardware es una forma de pruebas deliberadamente intensas y exhaustivas utilizadas para determinar la estabilidad de un determinado sistema o entidad. Se trata de pruebas más allá de la capacidad operacional normal, a menudo a un punto de ruptura, para observar los resultados.
Las razones pueden incluir: determinar puntos de ruptura y límites de uso seguros; confirmar que se están cumpliendo las especificaciones previstas; determinar los modos de fracaso (cómo exactamente un sistema puede fallar), y probar el funcionamiento estable de una parte o sistema fuera del uso estándar. Los ingenieros de fiabilidad a menudo prueban artículos bajo estrés esperado o incluso bajo estrés acelerado para determinar la vida útil del artículo o determinar modos de fracaso.
El término Prueba de estrés como se refiere a hardware (incluyendo electrónica, dispositivos físicos, centrales nucleares, etc.) es probable que tenga diferentes significados refinados en contextos específicos. Un ejemplo es en materiales, ver Fatiga (material).Software
La prueba de estrés es una actividad de prueba de software que determina la robustez del software mediante pruebas más allá de los límites de la operación normal. Las pruebas de estrés son particularmente importantes para el software "crisis de emisiones", pero se utiliza para todo tipo de software. Las pruebas de estrés generalmente ponen un mayor énfasis en la robustez, disponibilidad y manejo de errores bajo una carga pesada, que en lo que se consideraría correcto comportamiento bajo circunstancias normales.
Una prueba de estrés del sistema se refiere a pruebas que ponen mayor énfasis en la robustez, disponibilidad y manejo de errores bajo una carga pesada, en lugar de en lo que se consideraría correcto comportamiento bajo circunstancias normales. En particular, los objetivos de tales pruebas pueden ser asegurar que el software no se estrella en condiciones de recursos computacionales insuficientes (como memoria o espacio en disco), concurrencia inusualmente alta o negación de ataques de servicio.
Ejemplos:
- Un servidor web puede ser probado por estrés usando scripts, bots y varias herramientas de denegación de servicio para observar el rendimiento de un sitio web durante las cargas máximas. Estos ataques generalmente tienen menos de una hora de duración, o hasta que se encuentre un límite de la cantidad de datos que el servidor web puede tolerar.
Las pruebas de estrés pueden contrastarse con las pruebas de carga:
- Las pruebas de carga examinan todo el entorno y la base de datos, al tiempo que miden el tiempo de respuesta, mientras que las pruebas de estrés se centran en las transacciones identificadas, empujando a un nivel para romper las transacciones o sistemas.
- Durante las pruebas de estrés, si las transacciones se enfatizan selectivamente, la base de datos puede no experimentar mucha carga, pero las transacciones están muy estresadas. Por otro lado, durante las pruebas de carga la base de datos experimenta una carga pesada, mientras que algunas transacciones pueden no ser estresadas.
- Las pruebas de estrés del sistema, también conocidas como pruebas de estrés, están cargando a los usuarios concurrentes más allá del nivel que el sistema puede manejar, por lo que se rompe en el enlace más débil de todo el sistema.