¿Qué son las pruebas de ESTRÉS en las pruebas de software?

Pruebas de estrés

Pruebas de estrés Es un tipo de prueba de software que verifica la estabilidad y confiabilidad de la aplicación de software. El objetivo de la prueba de estrés es medir la solidez y la capacidad de manejo de errores del software en condiciones de carga extremadamente pesadas y garantizar que el software no se bloquee en situaciones de crisis. Incluso prueba más allá de los puntos operativos normales y evalúa cómo funciona el software en condiciones extremas.

imagen de prueba de estrés

En ingeniería de software, las pruebas de estrés también se conocen como Pruebas de resistencia. En las pruebas de estrés, el AUT se somete a estrés durante un corto período de tiempo para conocer su capacidad de resistencia. Un uso más destacado de las pruebas de estrés es determinar el límite en el que el sistema, el software o el hardware fallan.. También comprueba si el sistema demuestra una gestión eficaz de errores en condiciones extremas.

La aplicación bajo prueba se estresará cuando se copien datos de 5 GB del sitio web y se peguen en el bloc de notas. El Bloc de notas está bajo estrés y muestra el mensaje de error "No respondido".

¿Qué son las pruebas de ESTRÉS en las pruebas de software? Herramientas, necesidades y tipos

Necesidad de pruebas de estrés

Consideremos los siguientes ejemplos en tiempo real donde podemos descubrir el uso de las pruebas de estrés:

  • Durante la época del festival, un sitio de compras en línea puede presenciar un aumento en el tráfico o cuando anuncia una oferta.
  • Cuando se menciona un blog en un periódico importante, su tráfico aumenta repentinamente.

Es imperativo realizar pruebas de estrés para adaptarse a estos picos de tráfico anormales. No adaptarse a este tráfico repentino puede resultar en pérdida de ingresos y reputación.

Las pruebas de estrés también son extremadamente valiosas por las siguientes razones:

  • Para comprobar si el sistema funciona en condiciones anormales.
  • Mostrar el mensaje de error apropiado cuando el sistema está bajo estrés.
  • Un fallo del sistema en condiciones extremas podría provocar una enorme pérdida de ingresos
  • Es mejor estar preparado para condiciones extremas ejecutando pruebas de estrés.

Objetivos de las pruebas de estrés

El objetivo de las pruebas de estrés es analizar el comportamiento del sistema después de una falla. Para que las pruebas de estrés sean exitosas, un sistema debe mostrar un mensaje de error apropiado mientras se encuentra en condiciones extremas.

Para realizar las pruebas de estrés, a veces se pueden utilizar conjuntos de datos masivos que pueden perderse durante las pruebas de estrés. Los evaluadores no deben perder estos datos relacionados con la seguridad mientras realizan pruebas de estrés.

El objetivo principal de las pruebas de estrés es garantizar que el sistema se recupere después de una falla, lo que se denomina recuperabilidad.

Pruebas de carga versus pruebas de estrés

Imagen de prueba de carga versus prueba de estrés

Prueba de carga Pruebas de estrés
Prueba de carga es probar el comportamiento del sistema en condiciones normales de carga de trabajo, y es solo probar o simular con la carga de trabajo real Las pruebas de estrés sirven para probar el comportamiento del sistema en condiciones extremas y se llevan a cabo hasta que falla el sistema.
Las pruebas de carga no rompen el sistema Las pruebas de estrés intentan romper el sistema probando con datos o recursos abrumadores.

Tipos de pruebas de estrés

A continuación se presentan los tipos de pruebas de estrés y se explican a continuación:

Pruebas de estrés distribuidas:

Tipos de pruebas de estrés

En los sistemas cliente-servidor distribuidos, las pruebas se realizan en todos los clientes del servidor. La función del servidor de estrés es distribuir un conjunto de pruebas de estrés a todos los clientes de estrés y realizar un seguimiento del estado del cliente. Después de que el cliente se pone en contacto con el servidor, el servidor agrega el nombre del cliente y comienza a enviar datos para realizar pruebas.

Mientras tanto, las máquinas cliente envían una señal o un latido de que están conectadas con el servidor. Si el servidor no recibe ninguna señal de la máquina cliente, es necesario investigarlo más a fondo para depurarlo. En la figura, un servidor puede conectarse con los 2 clientes (Cliente1 y Cliente2), pero no puede enviar ni recibir una señal de los Clientes 3 y 4.

La ejecución nocturna es la mejor opción para ejecutar estos escenarios de pruebas de estrés. Las grandes granjas de servidores necesitan un método más eficiente para determinar qué computadoras han tenido fallas de estrés que deben investigarse.

Pruebas de estrés de aplicaciones:

Estas pruebas se concentran en encontrar defectos relacionados con el bloqueo y bloqueo de datos, problemas de red y cuellos de botella en el rendimiento de una aplicación.

Pruebas 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.

Pruebas de estrés sistémico:

Se trata de pruebas de estrés integradas que se pueden probar en varios sistemas que se ejecutan en el mismo servidor. Se utiliza para encontrar defectos en los que los datos de una aplicación bloquean otra aplicación.

Pruebas de estrés exploratorias:

Este es uno de los tipos de pruebas de estrés que se utiliza para probar el sistema con parámetros o condiciones inusuales que es poco probable que ocurran en un escenario real. Se utiliza para encontrar defectos en escenarios inesperados como

  1. Una gran cantidad de usuarios iniciaron sesión al mismo tiempo.
  2. Si un escáner de virus se iniciara en todas las máquinas simultáneamente
  3. Si la base de datos se ha desconectado cuando se accede a ella desde un sitio web,
  4. Cuando se inserta un gran volumen de datos en la base de datos simultáneamente

¿Cómo hacer pruebas de estrés?

El proceso de prueba de estrés se puede realizar en 5 pasos principales:

Paso 1) Planificación de la prueba de estrés: Aquí se recopilan los datos del sistema, se analiza el sistema y se definen los objetivos de la prueba de estrés.

Paso 2) Crear scripts de automatización: En esta fase, usted crea los scripts de automatización de las pruebas de estrés y genera los datos de prueba para los escenarios de estrés.

Paso 3) Ejecución del script: En esta etapa, ejecuta los scripts de automatización de las pruebas de estrés y almacena los resultados del estrés.

Paso 4) Análisis de Resultados: En esta etapa, analiza los resultados de la prueba de estrés e identifica cuellos de botella.

Paso 5) Ajustes y optimización: En esta etapa, usted ajusta el sistema, cambia las configuraciones y optimiza el código con el objetivo de alcanzar el punto de referencia deseado.

Por último, vuelve a ejecutar el ciclo completo para determinar que los ajustes han producido los resultados deseados. Por ejemplo, no es inusual tener que realizar de 3 a 4 ciclos del proceso de pruebas de estrés para lograr los objetivos de desempeño.

Herramientas recomendadas para las pruebas de estrés

LoadRunner

LoadRunner de HP es una herramienta de prueba de carga ampliamente utilizada. Los resultados de las pruebas de carga moldeados por Loadrunner se consideran un punto de referencia.

Jmetro

Jmeter es una herramienta de prueba de código abierto. Es un Java aplicación para el estrés y Test de rendimientoJmeter está diseñado para cubrir tipos de pruebas como carga, funcional, estrés, etc. Necesita JDK 5 o superior para funcionar.

Probador de estrés

Esta herramienta proporciona un análisis exhaustivo del rendimiento de la aplicación web, proporciona resultados en formato gráfico y es extremadamente fácil de usar. No se requieren secuencias de comandos de alto nivel y ofrece 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 aplicaciones. Esta herramienta puede simular miles de usuarios para evaluar el rendimiento de la aplicación bajo carga y analizar los tiempos de respuesta. También admite pruebas de estrés, carga y rendimiento integradas en la nube. Es fácil de usar, rentable y proporciona buena escalabilidad.

Métricas para pruebas de estrés

Las métricas ayudan a evaluar el desempeño de un sistema y generalmente se estudian al final de la prueba de estrés. Las métricas comúnmente utilizadas son:

Medición de escalabilidad y rendimiento

  • Páginas por Segundo: Mide cuántas páginas se han solicitado/Segundo
  • Rendimiento: Métrica básica: tamaño de datos de respuesta/segundo
  • Rondas: número de veces que se han planificado escenarios de prueba versus número de veces que un cliente ha ejecutado

Respuesta de la aplicación

  • Tiempo de visita: tiempo promedio para recuperar una imagen o una página.
  • Tiempo hasta el primer byte: Se toma tiempo para devolver el primer byte de datos o información.
  • Tiempo de página: Se toma tiempo para recuperar toda la información de una página.

Fallas

  • Conexiones fallidas: número de conexiones fallidas rechazadas por el cliente (débil Signal)
  • Rondas fallidas: número de rondas fallidas
  • Accesos fallidos: número de intentos fallidos realizados por el sistema (enlaces rotos o imágenes no vistas)

Conclusión

El objetivo de las pruebas de estrés es comprobar 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 recuperarse al estado normal. Comprueba si el sistema muestra mensajes de error apropiados mientras está bajo estrés.

Ejemplo de prueba de estrés

  1. El sitio web de comercio electrónico anuncia una oferta de festival
  2. Sitio web de noticias en el momento de algunos acontecimientos importantes.
  3. Sitio web de resultados de la Junta de Educación
  4. Sitios de redes sociales o blogs, aplicaciones, etc.