Pruebas de rendimiento que un QA debería conocer

Meterme en pruebas de rendimiento me ha parecido muy dibertido. Parametrizar los tests e interpretar los resultados según sus valores, puede ser algo parecido a un juego de estrategia.

El objetivo de las pruebas de rendimiento no es encontrar errores, sino eliminar los cuellos de botella del rendimiento, analizando los tiempos de respuesta (velocidad),  el uso de recursos (estabilidad), así como determinar la carga máxima de usuarios que puede soportar la aplicación (escalabilidad)

Prueba de rendimiento – Performance Testing

Una prueba de rendimiento tiene el objetivo de estudiar el sistema en una situación de carga concreta, de forma que puedan obtenerse estadísticas en cuanto a uso de recursos, tiempo de respuesta, etc.

Prueba de carga – Load Testing

Una prueba de stress sitúa al sistema en una situación de carga límite, permitiendo así estudiar su respuesta ante situaciones pico o inesperadas.

Pruebas de estrés – Stress Testing

Las pruebas de esfuerzo validan el comportamiento de la aplicación bajo condiciones de carga máxima. El objetivo de esta prueba es identificar los errores como fugas de memoria o problemas de sincronización, que aparecen sólo en condiciones de carga máxima. Las pruebas de esfuerzo le ayudan a encontrar y resolver los cuellos de botella. Los resultados de las pruebas de estrés destacan los componentes que fallan primero y estos resultados pueden ayudar a los desarrolladores a hacer que estos componentes sean más robustos y eficientes.

Pruebas de capacidad – Capacity Testing

Se realizan pruebas de capacidad para definir el número máximo de usuarios o transacciones que puede manejar la aplicación mientras se cumplen los objetivos de rendimiento deseados. El futuro crecimiento en términos de usuarios o volumen de datos puede planificarse mejor realizando las pruebas de capacidad junto con la planificación de la capacidad. Las pruebas de capacidad son extremadamente útiles para definir la estrategia de escalado. Los resultados de las pruebas de capacidad ayudan a los planificadores de capacidad a validar y mejorar sus modelos.

Prueba de resistencia – Endurance Testing

La prueba de inmersión se utiliza para comprobar el rendimiento y la estabilidad de la aplicación a lo largo del tiempo. Prueba el rendimiento de la aplicación después de soportar la carga expresiva durante un período prolongado de tiempo. Es útil para descubrir el comportamiento de la aplicación bajo uso repetido. Estas pruebas ayudan a detectar fugas de memoria o problemas de corrupción.

Un divertido post, dónde un QA Manager entrevista a un Tester para una posición de Ingeniero de Rendimiento.