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).
2.1 Tipos de pruebas
Existen diferentes
tipos de pruebas de rendimiento, siendo las más destacadas:
·
2.1.1 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.
·
2.1.2 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.
·
2.1.3 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.
2.2 ¿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.
2.3 ¿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.
2.4 ¿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:
- 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.
No hay comentarios.:
Publicar un comentario