¿Qué es las pruebas de rendimiento?
Las pruebas de rendimiento se llevan a cabo para evaluar la eficacia de los servidores de red, bases de datos e Internet. Si está utilizando la metodología de cascada, es crucial que verifique cada vez que se publique una nueva versión. Sin embargo, si está utilizando la metodología ágil de desarrollo de software, debe probar constantemente sus aplicaciones. Las pruebas de rendimiento miden qué tan bien funciona un programa en circunstancias operativas típicas. Los objetivos de las pruebas de rendimiento son encontrar cualquier problema relacionado con el rendimiento y confirmar que la aplicación puede soportar los niveles de uso previstos. Los parámetros de rendimiento como el tiempo de reacción, el rendimiento y la utilización de recursos se pueden medir mediante pruebas de rendimiento. Las pruebas de rendimiento tienen como objetivo evaluar qué tan bien funciona una aplicación web bajo varias cargas y qué tan rápido reacciona a las solicitudes del usuario. Para encontrar cuellos de botella de rendimiento y lugares de mejora, mide el tiempo de respuesta, el rendimiento y el uso de recursos de la aplicación.
Métodos de pruebas de rendimiento:
Las pruebas de rendimiento utilizan una variedad de técnicas porque es un superconjunto de otras técnicas de prueba. Las técnicas clave de prueba de efectividad se enumeran a continuación:
Figura 1: Métodos de pruebas de rendimiento
- Prueba de carga: La prueba de carga es el método de simulación de la carga real del usuario en cualquier aplicación o sitio web que se conoce como prueba de carga. Examina el comportamiento del programa bajo cargas ligeras y pesadas. Un proyecto de desarrollo podría usar este tipo de pruebas a medida que se acerca a su conclusión.
- Pruebas de resistencia: un tipo de prueba no funcional llevada a cabo para ver si el sistema de software puede soportar una carga pesada que se espera que dure mucho tiempo.
Figura 2: Pruebas de resistencia
- Pruebas de volumen: Un tipo de prueba de software, donde el software está sujeto a un gran volumen de datos
- Pruebas de escalabilidad: Una técnica para pruebas no funcionales que evalúa qué tan bien funciona un sistema o red cuando el volumen de consultas de usuario se escala hacia arriba o hacia abajo
- Prueba de pico: Una técnica de prueba de software donde el software se prueba drásticamente bajo diferentes cargas de tráfico en ambas condiciones.
- Pruebas de esfuerzo: Un tipo de prueba intencionalmente rigurosa o intensa. Implica probar más allá del punto en el que un sistema normalmente se rompería para notar los resultados.
Métodos de prueba comparados: un ejemplo del mundo real:
Piense en una tienda en línea que anticipe mucho tráfico durante la temporada navideña. El propietario del sitio web quiere asegurarse de que no habrá ningún problema de rendimiento como resultado del tráfico anticipado. Para evaluar la eficiencia del sitio web en diversas cargas de trabajo, se llevarían a cabo pruebas de rendimiento. Las pruebas de estrés se utilizarían para evaluar el rendimiento del sitio web bajo cargas de trabajo pesadas, mientras que las pruebas de carga se utilizarían para imitar varias cargas de usuarios. Los resultados de las pruebas de rendimiento ayudarían al propietario del sitio web a mejorar el rendimiento del sitio web y asegurarse de que pueda administrar el tráfico anticipado sin ningún problema.
Las necesidades funcionales de un cliente están frecuentemente relacionadas con las pruebas de rendimiento. Considere un cliente que solicita la creación de un servicio para administrar la venta de entradas para eventos. El cliente, por ejemplo, anticipa que la aplicación puede manejar hasta 50.000 solicitudes por minuto. Las pruebas de rendimiento ayudan a validar este requisito previo funcional.
¿Qué es la prueba de carga?
Las pruebas de carga miden qué tan bien funciona una aplicación bajo cargas realistas. Para asegurarse de que la aplicación puede controlar el nivel de uso previsto y para encontrar cualquier problema relacionado con el rendimiento que pueda producirse en circunstancias operativas típicas, se utilizan pruebas de carga.
Métodos de prueba de carga:
Pruebas de volumen: Un tipo de prueba de carga llamada prueba de volumen se utiliza para medir qué tan bien funciona un programa cuando se trata de una gran cantidad de datos. Averiguar si una aplicación puede manejar una gran cantidad de datos sin degradación de la velocidad es el objetivo de las pruebas de volumen.
Pruebas de escalabilidad: Las pruebas de escalabilidad son un tipo de prueba de carga que se utiliza para medir el rendimiento de una aplicación cuando se somete a cargas crecientes. La prueba de escalabilidad de una aplicación se realiza para ver si puede administrar más usuarios sin que el rendimiento sufra.
Pruebas de carga: un ejemplo del mundo real:
Considere una tienda en línea que anticipa un gran volumen de ventas durante la temporada navideña. El propietario de la aplicación desea asegurarse de que no haya problemas de rendimiento al manejar la carga anticipada. Para evaluar el comportamiento del programa tanto en cargas normales como en picos, se llevarían a cabo pruebas de carga. Para medir el tiempo de reacción, el rendimiento y el uso de recursos de la aplicación bajo varias cargas, se usarían pruebas de rendimiento. Los resultados de las pruebas de carga ayudarían al propietario de la aplicación a optimizar el rendimiento de la aplicación y asegurarse de que pueda soportar la carga anticipada durante la temporada de vacaciones.
Las pruebas de carga son muy útiles para garantizar que una aplicación funciona dentro de sus límites conocidos para una aplicación concreta que puede administrar 5.000 solicitudes por minuto. Esto hará que sea más fácil predecir cómo actuará la aplicación cuando esté cerca de su límite. Estás reduciendo la posibilidad de fracaso al tomar estas medidas.
¿Qué son las pruebas de estrés?
Las pruebas de esfuerzo son un tipo de prueba que evalúa qué tan bien funciona una aplicación en circunstancias difíciles, como cargas altas o un aumento inesperado en el tráfico. El propósito de las pruebas de esfuerzo es encontrar cualquier problema relacionado con el rendimiento que pueda aparecer en circunstancias difíciles y asegurarse de que la aplicación pueda soportar aumentos repentinos en el tráfico.
Métodos de pruebas de esfuerzo:
Prueba de pico: Una técnica para pruebas de estrés conocida como «prueba de pico» evalúa cómo se comportará una aplicación bajo aumentos repentinos y significativos en el tráfico de usuarios. Usando esta técnica, puede ver cómo un programa maneja picos inesperados en el tráfico de usuarios.
Pruebas de volumen: Una técnica de prueba de esfuerzo que evalúa el rendimiento de una aplicación bajo cargas de datos pesadas. Esta técnica se emplea para determinar si una aplicación puede manejar grandes cantidades de datos sin experimentar ningún problema, así como la forma en que reacciona a dichos volúmenes.
Pruebas de configuración: Una técnica para pruebas de esfuerzo que evalúa el rendimiento de una aplicación bajo varias configuraciones de hardware y software se conoce como pruebas de configuración. Esta técnica se emplea para determinar si una aplicación puede funcionar sin fallas bajo varias configuraciones de hardware y software.
Pruebas de estrés: un ejemplo del mundo real:
Piense en una aplicación bancaria que anticipa un gran volumen de transacciones al cierre del año fiscal. El propietario de la aplicación desea asegurarse de que no haya problemas de rendimiento al manejar la carga anticipada. Para evaluar el comportamiento de la aplicación bajo grandes demandas, se llevarían a cabo pruebas de resistencia. El comportamiento de la aplicación bajo cargas de datos pesadas se evaluaría mediante pruebas de volumen y pruebas de pico, que imitan los picos repentinos en el tráfico de usuarios. El propietario de la aplicación podría optimizar el rendimiento de la aplicación y asegurarse de que puede administrar la carga anticipada con la ayuda de los resultados de las pruebas de esfuerzo.
Si una aplicación debe procesar más solicitudes de las que permite la configuración para una interfaz de programación de aplicaciones que puede administrar 5.000 solicitudes simultáneas, la aplicación se bloqueará. Las empresas deben ser conscientes de esta restricción, ya que les permite escalar su aplicación según sea necesario.
Diferencias clave entre las pruebas de rendimiento, las pruebas de esfuerzo y las pruebas de carga
Existen algunas distinciones significativas entre las pruebas de rendimiento, las pruebas de esfuerzo y las pruebas de carga, aunque los tres tipos de pruebas son cruciales para garantizar la funcionalidad y la fiabilidad de las aplicaciones de software.
Mientras que las pruebas de esfuerzo se centran en evaluar el rendimiento de una aplicación en circunstancias difíciles, las pruebas de rendimiento miden el rendimiento de una aplicación en condiciones de funcionamiento típicas. Por otro lado, las pruebas de carga se centran en evaluar la eficiencia de una aplicación bajo cargas realistas.
Si bien las pruebas de estrés generalmente se llevan a cabo como un evento único para imitar condiciones extremas, las pruebas de rendimiento y las pruebas de carga generalmente se realizan como parte del proceso de prueba regular.
Tema: Pruebas | de rendimiento, | Pruebas de | , Pruebas de esfuerzo |
Definición | El superconjunto de pruebas de carga y esfuerzo que evalúa la eficacia y la eficiencia de la aplicación | Un subconjunto de pruebas de rendimiento que evalúa cómo se desempeña un programa bajo cargas | pesadas y ligeras Un subconjunto de pruebas de rendimiento que evalúa cómo funcionan las aplicaciones bajo cargas de trabajo pesadas |
Objetivo | Evalúa la capacidad de respuesta, la estabilidad y la velocidad del programa | Determina qué tan bien la aplicación puede administrar las cargas esperadas. | Determina el punto de interrupción de la aplicación |
Objetivo | Obtener una representación del comportamiento de una aplicación en condiciones | Aumentar la carga de una aplicación | Evitar que los ordenadores se bloqueen bajo un aumento repentino de la demanda durante mucho tiempo |
Tipo de | Cargas | Carga típica a máxima Tráfico | excesivo |
Límite | de carga Tanto por debajo como por encima del umbral de una interrupción | Un límite de carga es un punto | Mayor que el umbral de una interrupción |
Métricas principales | Velocidad de respuesta, rendimiento, CPU, memoria y estadísticas de errores | Velocidad de respuesta, número de usuarios simultáneos, rendimiento y uso de recursos |
Tasa de error, punto de interrupción y tráfico máximo de usuarios
|
Tipos de escenarios | Pruebas de línea de base, estrés, picos y resistencia |
Pruebas de línea de base, estrés, picos y resistencia
|
Pruebas de picos y resistencia |
Enfoque | de prueba Medir el tiempo de respuesta, el rendimiento y la utilización de recursos para determinar el rendimiento de un programa. | Identificar problemas de rendimiento mediante la evaluación del comportamiento de la aplicación cuando se cumple la carga de trabajo prevista. | Al aumentar la carga hasta que la aplicación deje de funcionar según lo previsto, se puede determinar el punto de interrupción de la aplicación |
Herramientas comunes Gatling | , Apache Bench, JMeter, LoadRunner y WebLoad | BlazeMeter, JMeter, LoadRunner y NeoLoad | Plugins de BlazeMeter, JMeter, LoadRunner y Apache JMeter |
Ejemplos |
Comprobación de usuarios simultáneos, conexiones HTTP o tiempos de reacción adecuados
|
Un procesador de textos cambiando una gran cantidad de datos y probando una impresora enviando una gran cantidad de datos | Apague y reinicie casualmente los puertos de una red grande |
Comparación de pruebas de rendimiento, estrés y carga: envolviéndolo todo
Las pruebas de rendimiento son una técnica de medición utilizada para evaluar la velocidad de una computadora, red u otro dispositivo. Es un subconjunto de las pruebas de esfuerzo y carga. Las pruebas de carga, una parte de las pruebas de rendimiento, simulan la carga real en cualquier programa o sitio web. Por el contrario, las pruebas de resistencia establecen la estabilidad y la resistencia del sistema. Las redes, las bases de datos y los servidores de sitios web se pueden probar para determinar su velocidad. Las aplicaciones basadas en web cliente/servidor utilizan pruebas de carga. El tráfico de prueba inesperado a su sitio web se utiliza para realizar pruebas de esfuerzo.