Pruebas de estrés: ¿Qué es y por qué es importante?

By 8 Nov 2022 noviembre 9th, 2022 Tecnología

Ya sea en los Cybers o alguna temporada de descuento, tal vez experimentó que algunas webs no cargaron o no respondieron. Es más, en Atentus hemos visto como diversos ecommerce y aerolíneas han perdido millones en ventas debido a que la pagina colapsó porque no soportó la cantidad de usuarios que ingresaron a navegar ¿Cómo ayuda las pruebas de estrés en ese sentido?

Pruebas de estrés y carga

¿Qué es una prueba de estrés?

La prueba de estrés es un tipo de prueba que se utiliza para determinar los límites del sistema, app o web, sometiendolas a un alto nivel de concurrencia de usuarios en simultáneo, con el objetivo de encontrar su punto de inflexión, ya sea a nivel de aplicación como de su infraestructura.

De hecho, hemos visto que diversos ecommerce colapsaron en los Cybers o Black Friday porque no soportaron los altos niveles de tráfico, tampoco realizaron una prueba de estrés, perdiendo ventas y millones dólares.

Es por ello que en Atentus ofrecemos este servicio que consiste en realizar pruebas de carga y estrés a sus plataformas web, determinando su capacidad de atención frente a una alta concurrencia de usuarios. Esto es posible gracias a los Atentubots que generan una navegación automática y masiva, estresando y degradando la aplicación o plataforma web de la empresa, con el fin de conocer su real comportamiento y capacidad ante la demanda de múltiples sesiones simultáneas.

Necesidad de pruebas de estrés

Considere los siguientes ejemplos en tiempo real donde podemos implementar las pruebas de estrés:

  • Durante los Cybers, black Friday o temporadas de descuento, un sitio de compras en línea puede presenciar un aumento del tráfico.
  • Cuando su empresa realiza una campaña digital a gran escala, con el finde de atraer ventas.

Es necesario realizar pruebas de estrés para adaptarse a estos picos de tráfico anormales. Si no se adapta a este tráfico repentino, se pueden perder ingresos y disminuir 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.
  • La falla del sistema en condiciones extremas podría resultar en una enorme pérdida de ingresos
  • Es mejor estar preparado para condiciones extremas ejecutando Stress Testing.

Objetivos de las pruebas de estrés

El objetivo de las pruebas de estrés es analizar el comportamiento del sistema al momento de una falla. Para que la prueba de estrés sea exitosa, el 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 usar conjuntos de datos masivos que pueden perderse durante las pruebas de estrés. El objetivo principal de las pruebas de estrés es detectar previamente los errores, corregirlas y asegurarse de que el sistema se recupere después de una falla, lo que se denomina recuperabilidad.

Pruebas de estrés untos de inflexión

Pruebas de carga frente a pruebas de estrés

Prueba de cargaPruebas de estrés
La 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 realLa prueba de estrés es para probar el comportamiento del sistema en condiciones extremas y se lleva a cabo hasta que falla el sistema.
Las pruebas de carga no rompen el sistemaLas pruebas de estrés intentan romper el sistema probando con datos o recursos abrumadores.

Si bien muchos tratan de comparar entre las pruebas de carga versus las de estrés, ambas se complementan mutuamente para dar mejores resultados.

Tipos de pruebas de estrés:

Los siguientes son los tipos de pruebas de estrés y se explican a continuación:

Prueba de estrés de la aplicación:

Estas pruebas se concentran en encontrar defectos relacionados con el 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:

Esta es una prueba de estrés integrada que se puede probar en múltiples 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 utilizan 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. Un gran número de usuarios registrados al mismo tiempo.
  2. Si un escáner de virus se inició 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.
pruebas de estrés ejemplos

¿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í recopila los datos del sistema, analiza el sistema, define los objetivos de la prueba de estrés

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

3) Ejecución de scripts: en esta etapa, ejecuta los scripts de automatización de pruebas de estrés y almacena los resultados de estrés.

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

5) Ajuste y optimización: en esta etapa, ajusta el sistema, cambia las configuraciones, 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 de 3 a 4 ciclos del proceso de prueba de estrés para lograr los objetivos de rendimiento.                                                   

Métricas para pruebas de estrés

Las métricas ayudan a evaluar el rendimiento de un sistema y generalmente se estudian al final de la prueba de esfuerzo. Las métricas comúnmente utilizadas son:

Medición de la escalabilidad y el rendimiento

  • Páginas por Segundo: Mide cuántas páginas se han solicitado / Segundo
  • Rendimiento: 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 se ha ejecutado para un cliente.

Respuesta de la aplicación

  • Hit time: tiempo promedio para recuperar una imagen o una página
  • Tiempo hasta el primer byte: Tiempo que se tarda en devolver el primer byte de dato o información
  • Tiempo de página: tiempo que se tarda en recuperar toda la información de una página.

Fallas

  • Conexiones fallidas: número de conexiones fallidas rechazadas por el cliente (señal débil)
  • Rondas fallidas: número de rondas que falla
  • Aciertos fallidos: número de intentos fallidos realizados por el sistema (enlaces rotos o imágenes no vistas).

Servicio Pruebas de carga y stress de Atentus

La metodología de pruebas de carga y stress de Atentus  es innovadora y única en el mercado, se detecta el por qué de cada error para una resolución rápida y desde la raíz. Los robots de Atentus realizan navegaciones simultáneas y masivas en la Web para generar carga que la estrese, poniendo a prueba el rendimiento de todos los componentes del canal digital con el objetivo de conocer el comportamiento real de la plataforma y la capacidad máxima. Se simula una demanda de usuarios reales con múltiples bots de Atentus navegando en forma concurrente que permite conocer tu plataforma digital e identificar errores que impactan en la experiencia de tus usuarios.

Cuáles son los pasos:

Contamos con una serie de pasos para la adecuada realización de las pruebas de stress. Éstas consisten en:

  • Confirmar la factibilidad técnica
  • Ejecutar el test de carga
  • Ejecutar la prueba de stress
  • Realizar un análisis de los resultados obtenidos
  • Entregar los resultados al cliente para la toma pertinente de decisiones
×