performance testing vs load testing vs stress testing
Diferencia entre las pruebas de rendimiento, las pruebas de carga y las pruebas de estrés, con ejemplos
Nuestro tutorial anterior de esta serie será el mejor Guía de pruebas de rendimiento para cualquier principiante.
En el campo de las pruebas de software, nos encontramos con términos como pruebas de rendimiento, pruebas de carga, pruebas de estrés, etc. Estos términos a menudo se malinterpretan e interpretan como los mismos conceptos.
Sin embargo, existe una diferencia significativa entre estos tres tipos de pruebas y es importante que un evaluador comprenda lo mismo.
=> Haga clic aquí para ver la serie completa de tutoriales de pruebas de rendimiento
En este tutorial, analizaremos cada uno de estos tipos de pruebas para comprender las diferencias exactas entre ellos.
Lo que vas a aprender:
Diferencia entre pruebas de rendimiento, pruebas de carga y pruebas de estrés
# 1) Prueba de rendimiento
¿Qué son las pruebas de rendimiento?
Las pruebas de rendimiento son las pruebas que se realizan para determinar cómo se están desempeñando los componentes de un sistema en una situación determinada.
El uso de recursos, la escalabilidad y la confiabilidad del producto también se validan en esta prueba. Esta prueba es el subconjunto de la ingeniería de rendimiento, que se centra en abordar los problemas de rendimiento en el diseño y la arquitectura de un producto de software.
La imagen de arriba nos explica claramente que Performance Testing es el superconjunto para pruebas de carga y estrés. Otros tipos de pruebas incluidas en las pruebas de rendimiento son las pruebas de picos, las pruebas de volumen, las pruebas de resistencia y Prueba de escalabilidad . Por lo tanto, la prueba de rendimiento es básicamente un término muy amplio.
Objetivo de la prueba de rendimiento:
El objetivo principal de las pruebas de rendimiento incluye establecer el comportamiento de referencia del sistema. Hay una serie de puntos de referencia definidos por la industria que deben cumplirse durante las pruebas de rendimiento.
Las pruebas de rendimiento no tienen como objetivo encontrar defectos en la aplicación. Tampoco pasa o no pasa la prueba. Más bien, aborda la tarea crítica de establecer el punto de referencia y estándar para una aplicación . Las pruebas de rendimiento deben realizarse con mucha precisión. La supervisión cercana del rendimiento de la aplicación / sistema es la característica principal de las pruebas de rendimiento.
El punto de referencia y el estándar de la aplicación deben establecerse en términos de atributos como velocidad, tiempo de respuesta, rendimiento, uso de recursos y estabilidad. Todos estos atributos se prueban en una prueba de rendimiento.
Por ejemplo,
Por ejemplo, puede probar el rendimiento de la red de la aplicación a través del gráfico 'Velocidad de conexión frente a latencia'. La latencia es la diferencia de tiempo entre los datos para llegar desde el origen hasta el destino.
cómo encontrar la clave de red en el enrutador
Una página de 70 kb no tardaría más de 15 segundos en cargarse para la peor conexión de un módem de 28,8 kbps (latencia = 1000 milisegundos), mientras que la página del mismo tamaño aparecería en 5 segundos para la conexión promedio de 256 kbps DSL (latencia = 100 milisegundos).
Una conexión T1 de 1,5 Mbps (latencia = 50 milisegundos) tendría el punto de referencia de rendimiento establecido en 1 segundo para lograr este objetivo.
Otro ejemplo sería el de un modelo de solicitud-respuesta. Podemos establecer un punto de referencia de que la diferencia de tiempo entre la generación de la solicitud y el reconocimiento de la respuesta debe estar en el rango de x ms (milisegundos) e y ms, donde xey son los dígitos estándar.
Una prueba de rendimiento exitosa debería proyectar la mayoría de los problemas de rendimiento, que podrían estar relacionados con la base de datos, la red, el software, el hardware, etc.
# 2) Prueba de carga
La prueba de carga está destinada a probar el sistema aumentando constante y constantemente la carga en el sistema hasta que alcanza el límite del umbral. Es un subconjunto de las pruebas de rendimiento.
Las pruebas de carga se pueden realizar fácilmente empleando cualquiera de las herramientas de automatización adecuadas disponibles en el mercado. WAPT y LoadRunner son dos herramientas tan famosas que ayudan en las pruebas de carga. Las pruebas de carga también son famosas por nombres como Prueba de volumen y Prueba de resistencia .
Sin embargo, las pruebas de volumen se centran principalmente en las bases de datos. Prueba de resistencia prueba el sistema manteniéndolo bajo una carga significativa durante un período de tiempo sostenido.
El único propósito de las pruebas de carga es asignar al sistema el trabajo más grande que pueda realizar para probar la resistencia del sistema y monitorear los resultados. Un hecho interesante aquí es que a veces el sistema se alimenta con una tarea vacía para determinar el comportamiento del sistema en la situación de carga cero.
Los atributos que se monitorean en una prueba de carga incluyen rendimiento máximo, rendimiento del servidor, tiempo de respuesta bajo varios niveles de carga (por debajo del umbral de ruptura), adecuación del entorno de H / W, cuántas aplicaciones de usuario puede manejar sin afectar el rendimiento.
Objetivo de prueba de carga:
Los objetivos de las pruebas de carga incluyen:
- Exponer los defectos en una aplicación relacionados con el desbordamiento del búfer, pérdidas de memoria y mala gestión de la memoria. Los problemas que eventualmente surgirán como resultado de las pruebas de carga pueden incluir problemas de equilibrio de carga, problemas de ancho de banda, la capacidad del sistema existente, etc.
- Determinar el límite superior de todos los componentes de una aplicación como una base de datos, hardware, red, etc. para que la aplicación pueda gestionar la carga anticipada en el futuro.
- Para establecer los SLA para la aplicación.
Por ejemplo,
Consideremos verificar la funcionalidad de correo electrónico de una aplicación, que podría estar inundada con 1000 usuarios a la vez. Ahora, 1000 usuarios pueden activar las transacciones de correo electrónico (leer, enviar, eliminar, reenviar, responder) de muchas formas diferentes.
Si tomamos una transacción por usuario por hora, serían 1000 transacciones por hora. Al simular 10 transacciones / usuarios, podríamos probar la carga del servidor de correo electrónico al ocuparlo con 10000 transacciones / hora.
Otro ejemplo de una prueba de carga se muestra en la siguiente imagen:
La imagen de arriba muestra una prueba de carga realizada en la herramienta llamada JMeter . Esta prueba se realiza para identificar cuántos usuarios puede manejar un sistema. En esta prueba, se agregan 100 usuarios cada 30 segundos hasta que la carga llega a 1000 usuarios. Cada paso tarda 30 segundos en completarse y JMeter espera 30 segundos antes de iniciar el siguiente paso.
Una vez que la carga llega a 1000 hilos, todos ellos continuarán funcionando durante 300 segundos (5 minutos) juntos y finalmente se detendrán 10 hilos cada 3 segundos.
# 3) Prueba de estrés
Bajo pruebas de estrés, se llevan a cabo varias actividades para sobrecargar los recursos existentes con trabajos en exceso en un intento de averiar el sistema. Prueba negativa , que incluye la eliminación de los componentes del sistema, también se realiza como parte de las pruebas de estrés.
También conocido como prueba de fatiga , esta prueba debe capturar la estabilidad de una aplicación probándola más allá de su capacidad de ancho de banda.
Así, básicamente, las pruebas de estrés evalúan el comportamiento de una aplicación más allá de la carga máxima y las condiciones normales.
El propósito de las pruebas de estrés es determinar la falla del sistema y monitorear cómo el sistema se recupera correctamente. El desafío aquí es configurar un entorno controlado antes de iniciar la prueba para que pueda capturar con precisión el comportamiento del sistema repetidamente en los escenarios más impredecibles.
Los problemas que eventualmente surgirían como resultado de las pruebas de estrés pueden incluir problemas de sincronización, pérdidas de memoria, condiciones de carrera, etc. Si la prueba de esfuerzo está verificando cómo se comporta el sistema en la situación de un aumento repentino en el número de usuarios , entonces se llama prueba de picos.
Si la prueba de esfuerzo es para comprobar la sostenibilidad del sistema durante un período de tiempo mediante un aumento lento en el número de usuarios, se denomina prueba de inmersión.
Objetivo de la prueba de estrés:
El objetivo de las pruebas de estrés es analizar los informes posteriores al bloqueo para definir el comportamiento de la aplicación después de una falla.
El mayor desafío es garantizar que el sistema no comprometa la seguridad de los datos confidenciales después de la falla. En una prueba de esfuerzo exitosa, el sistema volverá a la normalidad junto con todos sus componentes incluso después de la falla más terrible.
Por ejemplo,
Como ejemplo, un procesador de texto como Writer1.1.0 de OpenOffice.org se utiliza en el desarrollo de cartas, presentaciones, hojas de cálculo, etc. El propósito de nuestras pruebas de estrés es cargarlo con caracteres en exceso.
cómo abrir archivos eps en Windows 10
Para hacer esto, pegaremos repetidamente una línea de datos, hasta que alcance su límite límite para manejar un gran volumen de texto. Tan pronto como el tamaño de los caracteres alcance los 65.535 caracteres, simplemente se negará a aceptar más datos.
El resultado de las pruebas de estrés en Writer 1.1.0 produce el resultado de que no se bloquea bajo el estrés y maneja la situación con elegancia, lo que garantiza que la aplicación funcione correctamente incluso en condiciones de estrés rigurosas.
A continuación se muestra otro ejemplo de una prueba de carga que muestra una prueba de picos a través de un aumento repentino de 7000 usuarios:
Preguntas frecuentes
Habiendo tenido suficientes discusiones sobre las pruebas de rendimiento, las pruebas de estrés y las pruebas de carga, ahora veamos algunas preguntas frecuentes relacionadas para las cuales los evaluadores buscan una respuesta.
P # 1) ¿Son las pruebas de carga y las pruebas de rendimiento lo mismo?
Responder: La respuesta a esto es 'No'. Ellos no son los mismos.
A estas alturas, debe haber entendido claramente la diferencia entre las pruebas de rendimiento y las pruebas de carga. Puede consultar el resumen tabular a continuación para ver cómo las pruebas de rendimiento y carga tienen diferentes objetivos, atributos de alcance para estudiar y problemas para descubrir.
Q #2) ¿Es una prueba injusta realizar una prueba de estrés al mismo tiempo que realiza una prueba de carga?
Responder: Esta es también una pregunta común en muchas entrevistas de prueba de software y exámenes de certificación, ya que ¿es injusto hacer pruebas de estrés y pruebas de carga en paralelo? La respuesta a esto es 'No'. No es injusto realizar pruebas de esfuerzo al mismo tiempo que realiza pruebas de carga.
Ninguna prueba es injusta. Como evaluador, su trabajo consiste en encontrar problemas. Sin embargo, las realidades de las pruebas de software pueden aplicarse y cualquier problema que detecte en esta situación puede que no se solucione.
P # 3) ¿Las pruebas de recuperación forman parte de las pruebas de rendimiento?
Responder: Sí, las pruebas de recuperación se clasifican en pruebas de rendimiento y, en ocasiones, también se realizan con pruebas de carga. En prueba de recuperación , se accede a él para determinar qué tan bien una aplicación puede recuperarse de fallas, bloqueos, fallas de hardware y otros problemas similares.
En esta actividad, el software se ve obligado a fallar y luego se verifica si puede recuperarse correctamente. Por ejemplo, reiniciar el sistema repentinamente cuando se está ejecutando una aplicación y luego verificar la integridad de los datos de la aplicación.
P # 4) ¿Las pruebas de rendimiento requieren codificación?
Responder: Las pruebas de rendimiento no requieren que conozca el nivel avanzado de codificación. Sin embargo, tener un conocimiento fundamental de programación es una ventaja adicional.
Por ejemplo, Si está utilizando JMeter, es bueno que conozca los fundamentos de Java. Puede ayudarlo a depurar ciertas cosas y también puede escribir su propio script si es necesario.
P # 5) ¿Qué son las pruebas de Spike en las pruebas de rendimiento?
Responder: En las pruebas de picos, la carga aumenta o disminuye abruptamente por una gran cantidad de usuarios y luego se observa el comportamiento del sistema. La prueba de picos se realiza principalmente para verificar si el sistema puede manejar cambios repentinos en la carga.
Diferencia entre pruebas de carga y estrés
Para resumir, observemos las principales diferencias entre las pruebas de carga, las pruebas de estrés y las pruebas de rendimiento en la siguiente tabla:
Pruebas de rendimiento | Prueba de carga | Pruebas de estrés | |
---|---|---|---|
Dominio | Superconjunto de pruebas de carga y estrés | Un subconjunto de pruebas de rendimiento. | Un subconjunto de pruebas de rendimiento. |
Alcance | Alcance muy amplio. Incluye: pruebas de carga, pruebas de estrés, pruebas de capacidad, pruebas de volumen, pruebas de resistencia, pruebas de picos, pruebas de escalabilidad y pruebas de confiabilidad, etc. | Alcance más estrecho en comparación con las pruebas de rendimiento. Incluye pruebas de volumen y pruebas de resistencia. | Alcance más estrecho en comparación con las pruebas de rendimiento. Incluye prueba de remojo y prueba de picos. |
Objetivo principal | Establecer el punto de referencia y los estándares para la aplicación. | Para identificar el límite superior del sistema, configure el SLA de la aplicación y vea cómo el sistema maneja grandes volúmenes de carga. | Identificar cómo se comporta el sistema bajo cargas intensas y cómo se recupera de una falla. Básicamente, para preparar su aplicación para el aumento de tráfico inesperado. |
Límite de carga | Ambos: por debajo y por encima del umbral de una ruptura. | Hasta el umbral de la ruptura | Por encima del umbral de la ruptura |
Atributos estudiados | Uso de recursos, confiabilidad, escalabilidad, uso de recursos, tiempo de respuesta, rendimiento, velocidad, etc. | rendimiento máximo, rendimiento del servidor, tiempo de respuesta en varios niveles de carga (por debajo del umbral de ruptura), adecuación del entorno H / W, la cantidad de aplicaciones de usuario que puede manejar, requisitos de equilibrio de carga, etc. | Estabilidad más allá de la capacidad de ancho de banda, tiempo de respuesta (por encima del umbral de ruptura), etc. |
Problemas identificados a través de este tipo de prueba | Todos los errores de rendimiento, incluida la hinchazón del tiempo de ejecución, el alcance de la optimización, los problemas relacionados con la velocidad, la latencia, el rendimiento, etc. Básicamente, ¡todo lo relacionado con el rendimiento! | Problemas de equilibrio de carga, problemas de ancho de banda, problemas de capacidad del sistema, tiempo de respuesta deficiente, problemas de rendimiento, etc. | Lagunas de seguridad con sobrecarga, problemas de corrupción de datos en situaciones de sobrecarga, lentitud, fugas de memoria, etc. |
Diferencia entre pruebas de carga, esfuerzo y volumen
A estas alturas ya conocemos las pruebas de carga y estrés junto con las diferencias entre las dos. Exploremos ahora qué son las pruebas de volumen y en qué se diferencian de las pruebas de carga y las pruebas de estrés.
Las pruebas de volumen también son un tipo de prueba de rendimiento que se centra principalmente en la base de datos.
En las pruebas de volumen, se comprueba cómo se comporta el sistema frente a un determinado volumen de datos. Por lo tanto, las bases de datos se llenan con su capacidad máxima y se monitorean sus niveles de rendimiento, como el tiempo de respuesta y el rendimiento del servidor.
Para que sea muy simple, a continuación se muestra la diferencia entre las pruebas de carga, tensión y volumen:
Prueba de volumen | Prueba de carga | Pruebas de estrés |
---|---|---|
Una gran cantidad de datos | Una gran cantidad de usuarios | Demasiados usuarios, demasiados datos, hacia la caída del sistema. |
Conclusión
En este tutorial, hemos visto y entendido a través de ejemplos cómo las pruebas de rendimiento, las pruebas de carga y las pruebas de estrés son diferentes entre sí y cuál es el alcance de cada tipo de prueba.
También echamos un vistazo breve a muchas categorías en pruebas de rendimiento, como pruebas de picos, pruebas de recuperación, pruebas de volumen, etc., y comprendimos en qué se diferencian cada una de ellas.
Esperamos que este tutorial haya sido de gran ayuda para que comprenda la diferencia práctica entre las pruebas de rendimiento, carga y estrés.
Consulte nuestro próximo tutorial para obtener más información sobre las pruebas funcionales frente a las pruebas de rendimiento.
=> Visite aquí para ver la serie completa de tutoriales de pruebas de rendimiento
preguntas y respuestas de la entrevista de prueba de software
PREV Tutorial | SIGUIENTE Tutorial
Lectura recomendada
- Una guía completa de pruebas de rendimiento con ejemplos
- Guía de pruebas de estrés para principiantes
- Guía completa de pruebas de carga para principiantes
- Pruebas de carga, estrés y rendimiento de aplicaciones web con WAPT
- Pruebas de carga con los tutoriales de HP LoadRunner
- Prueba de rendimiento en la nube: proveedores de servicios de prueba de carga basados en la nube
- Pruebas funcionales frente a pruebas de rendimiento: ¿deben realizarse simultáneamente?
- Pruebas de carga con LoadUI: una herramienta de prueba de carga gratuita y de código abierto