Prueba de estrés
Prueba de estrés es un tipo de prueba de software que verifica la estabilidad y confiabilidad de la implementación del software. El propósito de una prueba de esfuerzo de software es medir su robustez y capacidad de manejo de errores en condiciones de carga muy pesada y garantizar que el software no caiga en condiciones críticas. Prueba incluso más puntos operativos que los normales y evalúa cómo funciona el software en situaciones extremas.
En Ingeniería de Software, las Pruebas de Estrés se denominan Prueba de Resistencia. Bajo Stress Testing, AUT se enfatiza por un corto tiempo por su potencial a pesar de ser conocido. Uso más notable Las pruebas de estrés están rompiendo el límite, rompiendo el sistema, el software o el hardware.. También comprueba si el sistema demuestra una gestión de errores eficaz en situaciones extremas.
La aplicación que se está probando se resaltará al copiar datos de 5GB del sitio web y pegarlos en el Bloc de notas. El Bloc de notas está estresado y muestra un mensaje de error «Sin respuesta».
En este tutorial, aprenderá:
Necesidad de pruebas de estrés
Considere los siguientes escenarios:
- Durante el tiempo del festival, un sitio de compras en línea puede ver un aumento en el tráfico o cuando anuncia una venta.
- Cuando se menciona un blog en un periódico popular, hay un aumento repentino en el tráfico.
Las pruebas de estrés son necesarias para cumplir con estos picos de tráfico anormales. No atender este tráfico repentino puede resultar en la pérdida de ingresos y reputación.
Las pruebas de estrés también son muy valiosas por las siguientes razones:
- Compruebe si el sistema funciona en condiciones anormales.
- Muestre un mensaje de error apropiado cuando el sistema esté bajo tensión.
- La falla del sistema en condiciones extremas podría resultar en una gran pérdida de ingresos
- Es mejor estar preparado para los extremos realizando una prueba de esfuerzo.
Objetivos de la prueba de esfuerzo
El propósito de la prueba de esfuerzo es analizar el comportamiento del sistema después de una falla. Para que una prueba de esfuerzo tenga éxito, un sistema debe mostrar un mensaje de error apropiado cuando se encuentra en extremos.
Para realizar una prueba de esfuerzo, a veces es posible utilizar grandes conjuntos de datos que pueden perderse durante una prueba de esfuerzo. Los evaluadores no deben perder estos datos relacionados con la seguridad al realizar pruebas de esfuerzo.
El objetivo principal de las pruebas de estrés es garantizar que el sistema se recupere después de una falla conocida. recuperabilidad.
Pruebas de carga frente a pruebas de estrés
Prueba de carga | Prueba de estrés |
---|---|
Prueba de carga es decir, para probar el comportamiento del sistema en condiciones normales de carga de trabajo, y es simplemente una prueba o simulación con la carga de trabajo real | La prueba de estrés es la prueba del comportamiento del sistema en situaciones extremas y se realiza hasta que el sistema falla. |
Las pruebas de carga no rompen el sistema | Las pruebas de esfuerzo intentan romper el sistema probando con datos o recursos primordiales. |
Tipos de prueba de esfuerzo:
Los tipos de pruebas de resistencia son los siguientes y se explican a continuación:
Prueba de estrés de distribución:
En los sistemas de distribución cliente-servidor, todos los clientes se prueban desde el servidor. La función del servidor de estrés es distribuir un conjunto de pruebas de estrés a cada cliente de estrés y realizar un seguimiento del estado del cliente. Después de que el cliente contacta con el servidor, el servidor agrega el nombre del cliente y comienza a enviar datos para la prueba.
Mientras tanto, las máquinas cliente envían una señal o latido que está conectado al servidor. Si el servidor no recibe ninguna señal de la máquina cliente, debe investigarse más a fondo para depurarlo. En la figura, un servidor puede conectarse a los 2 clientes (Cliente1 y Cliente2), pero no puede enviar ni recibir una señal de los Clientes 3 y 4.
Correr de noche es la mejor opción para ejecutar estos casos de prueba de esfuerzo. Las granjas de servidores grandes necesitan un método más eficiente para determinar qué equipos han tenido fallas por estrés que deben investigarse.
Prueba de esfuerzo de la aplicación:
Esta prueba se enfoca en encontrar fallas relacionadas con el bloqueo y bloqueo de datos, problemas de red y cuellos de botella de desempeño en una aplicación.
Prueba de estrés transaccional:
Realiza pruebas de estrés en una o más transacciones entre dos o más aplicaciones. Se utiliza para ajustar y optimizar el sistema.
Prueba de estrés sistémico:
Se trata de una prueba de esfuerzo integrada que se puede probar en varios sistemas que se ejecutan en el mismo servidor. Se utiliza para encontrar fallas cuando los datos de una aplicación son bloqueados por otra aplicación.
Prueba de esfuerzo exploratoria:
Este es uno de los tipos de pruebas de estrés que se utilizan para probar el sistema con parámetros o condiciones anormales que es poco probable que ocurran en un caso real. Se utiliza para encontrar fallas en situaciones inesperadas como
- Una gran cantidad de usuarios iniciaron sesión al mismo tiempo
- Si se inició un escáner de virus en todas las máquinas al mismo tiempo
- Si la base de datos se ha desconectado cuando se accede desde un sitio web,
- Cuando se ingresa una gran cantidad de datos en la base de datos al mismo tiempo
¿Cómo hacer una prueba de esfuerzo?
El proceso de Stress Testing se puede realizar en 5 pasos principales:
- Planificación de la prueba de esfuerzo. Aquí recopila datos del sistema, analiza el sistema, define los objetivos de la prueba de esfuerzo
- Crear scripts automatizados: en este paso, crea los scripts automatizados para probar Stress, genera los datos de prueba para los escenarios de estrés.
- Ejecución de secuencias de comandos: en este paso, ejecuta las secuencias de comandos automatizadas en las pruebas de estrés y almacena los resultados de estrés.
- Análisis de resultados: en este paso, analiza los resultados de la prueba de esfuerzo e identifica los cuellos de botella.
- Ajuste y optimización: en este paso, usted afina el sistema, cambia las configuraciones, optimiza el código y logra el objetivo de alcanzar el punto de referencia deseado.
Finalmente, vuelve a ejecutar el ciclo completo para determinar que los ajustes han producido los resultados deseados. Por ejemplo, no es raro que haya entre 3 y 4 ciclos del proceso de Stress Testing para lograr los objetivos de desempeño.
Herramientas recomendadas para pruebas de estrés:
LoadRunner
LoadRunner es una herramienta de prueba de carga de HP ampliamente utilizada. Los resultados de la prueba de carga en forma de corredera de carga se consideran un punto de referencia.
Jmeter
Jmeter es una herramienta de prueba de código abierto. Es puro Java aplicación de estrés y Pruebas de rendimiento. Jmeter está destinado a cubrir tipos de pruebas como carga, funcional, estrés, etc. Requiere JDK 5 o superior para funcionar.
Probador de estrés
Esta herramienta proporciona un análisis extenso del rendimiento de las aplicaciones web, proporciona resultados en un formato gráfico y es extremadamente fácil de usar. No se requieren secuencias de comandos de alto nivel y ofrecen un buen retorno de la inversión.
Neo carga
Esta es una herramienta popular disponible en el mercado para probar la web y Móvil solicitud. Esta herramienta puede simular miles de usuarios con el fin de evaluar el rendimiento de la aplicación bajo carga y analizar los tiempos de respuesta. También admite pruebas integradas en la nube: rendimiento, carga y estrés. Es fácil de usar, rentable y ofrece una buena escalabilidad.
Métricas para pruebas de estrés
Las métricas ayudan a evaluar el rendimiento del sistema y generalmente se estudian al final de la prueba de esfuerzo. Las métricas más utilizadas son:
Medir la escalabilidad y el rendimiento
- Páginas por segundo: mide cuántas páginas solicitadas / segundo
- Rendimiento: Métrica básica: tamaño de los datos de respuesta / segundo
- Rondas: número de horas que se planificaron los casos de prueba frente al número de horas ejecutadas por el cliente
Respuesta a la solicitud
- Hit time: tiempo promedio para recuperar una imagen o página
- Tiempo hasta el primer lote: se tarda en devolver el primer lote de datos o información.
- Tiempo de página: toma tiempo recuperar toda la información de una página.
Fracasos
- Enlaces fallidos: número de conexiones de cliente fallidas (señal débil)
- Rondas fallidas: número de rondas fallidas
- Hits Failed: Número de intentos fallidos del sistema (enlaces rotos o imágenes sin precedentes)
Conclusión
El propósito de una prueba de esfuerzo es verificar el sistema en condiciones extremas. Supervisa los recursos del sistema, como la memoria, el procesador, la red, etc., y comprueba la capacidad del sistema para volver al estado normal. Comprueba si el sistema muestra los mensajes de error apropiados cuando está estresado.