¿Qué son las pruebas de rendimiento?

Las pruebas de rendimiento son un conjunto de pruebas que nos permiten medir la velocidad de ejecución de una serie de tareas en un sistema, bajo unas condiciones determinadas.

De esta forma, podremos:

  • Demostrar si el sistema cumple con los criterios establecidos
  • Comparar sistemas para evaluar cuál de ellos se ejecuta más rápido
  • Detectar cuellos de botella (qué partes del sistema se ejecutan de una manera menos óptima afectando de esta manera a la ejecución global).

 

  Tipos de pruebas

Existen diferentes tipos de pruebas de rendimiento, siendo las más destacadas:

  • Pruebas de carga: 

Una prueba de carga se ejecuta para comprender el comportamiento de un sistema ante una carga determinada. Esta carga puede ser el número de usuarios esperado en producción o un número de transacciones durante un tiempo determinado.

El objetivo de este tipo de pruebas es determinar cuáles son las transacciones más críticas para una posible optimización de las mismas, detectando posibles cuellos de botella y corrigiendo los mismos para mejorar el rendimiento.

 

  • Pruebas de stress: 

Estas pruebas son utilizadas normalmente para someter a la aplicación al límite de su funcionamiento mediante la ejecución de un número de usuarios muy superior al esperado, o bien, mediante la substracción de recursos (también conocidas como pruebas negativas donde se simula por ejemplo el fallo de un servidor en clúster).

La finalidad de este tipo de prueba es la de determinar la robustez de una aplicación cuando la carga es extrema facilitando la configuración de las alarmas del sistema cuando se alcancen ciertos límites.

 

  • Pruebas de resistencia: 

Se realizan con el fin de determinar si la aplicación puede mantener la carga esperada de manera continuada y durante un largo periodo de tiempo. El objetivo principal de este tipo de pruebas es verificar que no existen fugas de memoria o procesos que pierdan rendimiento transcurrido un cierto periodo de tiempo.

 

  ¿Cuándo debemos ejecutar este tipo de pruebas?

Para alcanzar en un sistema un nivel de rendimiento acorde con los criterios establecidos, es fundamental que los esfuerzos en estas pruebas comiencen desde el inicio del desarrollo y se amplíen durante su construcción. 

Cuanto más se tarde en detectar un defecto de rendimiento, mayor es el coste de la solución. Esto es cierto en el caso de las pruebas funcionales, pero mucho más en las pruebas de rendimiento.

 

  ¿Cómo debemos ejecutarlas?

En las pruebas de rendimiento es imprescindible que las condiciones de prueba sean similares a las esperadas en el uso real. De no ser así, las conclusiones a las que lleguemos serán difícilmente extrapolables al entorno productivo.

Tenemos contras con un plan de pruebas detallado en que debemos tener identificados los casos de uso más representativos que serán el objeto de nuestro estudio.

La ejecución de estas pruebas lleva un trabajo de preparación, recolección y análisis, por lo que es importante planificarlas dentro de nuestro roadmap de proyecto.

 

  ¿Qué etapas debemos seguir?

En la siguiente imagen se muestra un ejemplo del conjunto de pasos/etapas que debemos tener en cuenta a la hora de realizar nuestras pruebas de rendimiento:

 

postazure.png

 

  • En la etapa de planificación definiremos nuestra estrategia de pruebas, fijando unos objetivos que sean medibles, concretos y evaluables, y así, obtendremos la información necesaria relativa a los entornos que vamos a necesitar, herramientas, personas implicadas, etc. Y analizaremos los casos de prueba que van a ser incluidos en nuestras pruebas de rendimiento.

 

  • Durante la fase de preparación realizaremos el aprovisionamiento necesario, configuraremos monitores que nos permitan obtener los datos de la ejecución de pruebas, y realizaremos unas pequeñas pruebas de humo que nos permitan determinar que todo está correctamente configurado y listo para la siguiente fase.

 

  • Estableceremos una línea fase gracias a la preparación realizada y comenzaremos con la ejecución de los diferentes tipos de prueba que queramos realizar.

 

  • Finalmente, en la fase de resultados, tendremos que recopilar los datos de los monitores, evaluar la información y realizar un informe con las conclusiones que hayamos sacado tras el estudio realizado. En dicho informe debemos reflejar aquellos aspectos que influyen de forma negativa en el sistema, de forma que puedan ser adaptados y/o mitigados.

 

  • Tras los cambios introducidos debemos volver a realizar todo el ciclo definido con el objetivo de poder comparar el sistema antes de los cambios y tras los mismos, determinando si las mejoras aplicadas han sido efectivas o es necesario seguir adaptando elementos del sistema.

 

¡Hasta aquí todo por hoy!

¡Hasta pronto!