paint-brush
Rendimiento en las pruebas de rendimiento: por qué es importantepor@qalified

Rendimiento en las pruebas de rendimiento: por qué es importante

por QAlified7m2023/08/02
Read on Terminal Reader

Demasiado Largo; Para Leer

Los probadores de software practican varias técnicas para comprobar la calidad de las aplicaciones. Una de ellas es la prueba de rendimiento, donde el equipo prueba la velocidad, el tiempo de respuesta, la escalabilidad y la confiabilidad del software. El rendimiento es una métrica clave que muestra la cantidad de solicitudes que una aplicación de software puede manejar en un tiempo específico (segundo, minuto u hora).
featured image - Rendimiento en las pruebas de rendimiento: por qué es importante
QAlified HackerNoon profile picture
0-item

Los probadores de software practican varias técnicas para comprobar la calidad de las aplicaciones. Las pruebas de rendimiento son una de las medidas decisivas donde el equipo prueba la velocidad, el tiempo de respuesta, la escalabilidad y la confiabilidad del software.

En este artículo, vamos a discutir los aspectos principales del rendimiento en las pruebas de rendimiento.

Los fundamentos del rendimiento en las pruebas de rendimiento

Antes de comenzar con los detalles, echemos un vistazo a algunos elementos esenciales de las pruebas de rendimiento.

¿Por qué pruebas de rendimiento?

Las pruebas de rendimiento son importantes porque:


  • Además de los problemas lógicos o funcionales comúnmente informados, las aplicaciones también luchan con problemas de red que determinan su confiabilidad.


  • Los clientes se frustran fácilmente cuando su experiencia de accesibilidad a la aplicación no es buena.


  • La velocidad de las aplicaciones y el rendimiento cambian según la región donde se utilicen. Por eso es importante juzgar el rendimiento de la aplicación a diferentes velocidades y redes.


  • Un sistema puede funcionar perfectamente con un número específico de usuarios, pero puede comportarse de manera diferente cuando el número de usuarios aumenta a partir de ese límite. Por lo tanto, es necesario verificar los conceptos básicos de las pruebas de rendimiento en condiciones específicas.

¿Cuándo debe comenzar las pruebas de rendimiento?

Puede comenzar las pruebas de rendimiento lo antes posible en las etapas de desarrollo de su aplicación de software. De esta manera, puede optimizar su servidor web y evitar costos comerciales en etapas posteriores.


Descubrir los problemas de rendimiento después de la implementación de la aplicación significa muchas horas de trabajo para corregir los problemas. Por lo tanto, puede ser muy costoso.


Tan pronto como las páginas web básicas de la aplicación funcionen, el equipo de control de calidad debe realizar las pruebas de carga iniciales. A partir de ese momento, deben realizar pruebas de rendimiento periódicamente para cada compilación.


Existen diferentes herramientas y criterios para las pruebas de rendimiento de las aplicaciones. Aquí hablaremos de una medida importante, es decir, el rendimiento.

¿Qué es el rendimiento en las pruebas de rendimiento?

Cada aplicación de software o sitio web tiene muchos usuarios que realizan diferentes solicitudes. Los evaluadores deben asegurarse de que la aplicación cumpla con la capacidad requerida de solicitudes antes de lanzarse.


Hay algunos conceptos básicos de pruebas de rendimiento que deben medirse durante el proceso. El rendimiento es uno de ellos . Averigüemos qué es el rendimiento en las pruebas de rendimiento.

El rendimiento es una métrica clave que muestra la cantidad de solicitudes que una aplicación de software puede manejar en un tiempo específico (segundo, minuto u hora).

Antes de comenzar la prueba, debemos establecer un objetivo de rendimiento de rendimiento realista, para que podamos obtener resultados más precisos y confiables.


Estos son algunos factores importantes para determinar un rendimiento realista:


  • Cantidad estimada y tipos de usuarios que van a utilizar la aplicación o sitio web.


  • Comportamiento del usuario, es decir, qué acciones va a realizar utilizando la aplicación.


  • Los tipos de conexión que afectarán la respuesta del sistema y, en última instancia, también la experiencia del usuario.


  • Los efectos de las pausas y retrasos en el sistema.

Rendimiento en el escenario de la vida real

Aquí, explicaremos el concepto de rendimiento con la ayuda de un ejemplo de la vida real. Imagina que hay un puesto de comida rápida llamado "Yummy Burgers". Sirven hamburguesas y papas fritas para los clientes.


Digamos que "Yummy Burgers" tiene tres trabajadores en el puesto, y cada trabajador siempre tarda 5 minutos en servir la comida a un cliente.


Entonces, si tienen tres clientes en fila para ser atendidos por tres trabajadores, significa que "Yummy Burgers" puede servir comida a tres clientes en 5 minutos.


Por lo tanto, si necesitamos hacer un informe de rendimiento de "Yummy Burgers", mostraría que su rendimiento es de tres clientes cada cinco minutos.


El dilema de Yummy Burgers es que, sin importar cuántos clientes estén esperando por la comida, el número máximo que pueden manejar durante un período de tiempo específico siempre será el mismo, es decir, tres. Este es el rendimiento máximo .


A medida que más clientes hacen fila para la comida, deben esperar su turno, creando una cola.

El mismo concepto se aplica a la prueba de una aplicación web.


Si una aplicación web recibe 100 solicitudes por segundo, pero solo puede manejar 70 solicitudes por segundo, las 30 solicitudes restantes deben esperar en una cola.


En las pruebas de rendimiento, indicamos el rendimiento como "Transacciones por segundo" o TPS .

Rendimiento en pruebas de rendimiento JMeter:

El uso de Apache JMeter es bastante popular para probar el rendimiento de una aplicación de software. JMeter es útil para determinar la cantidad máxima de usuarios simultáneos que la aplicación puede manejar y también proporciona un análisis gráfico para las pruebas de rendimiento.


JMeter proporciona muchas formas de registrar el valor del rendimiento. Aquí hay algunos oyentes de JMeter que puede usar para este propósito:


  • Informe resumido
  • Informe agregado
  • Gráfico agregado
  • Resultados del gráfico


JMeter también proporciona un componente de temporizador, ' Temporizador de rendimiento constante' , que puede usar para establecer el valor de Transacciones por segundo (TPS) para probar la carga de la aplicación.


Ahora, mostraremos el uso del rendimiento en la prueba de rendimiento usando JMeter. Digamos que vamos a realizar una prueba de muestra con 100 subprocesos simultáneos y realizar un seguimiento del valor del rendimiento.


Supongamos que tenemos la última versión de JMeter instalada en nuestro sistema y ya hemos realizado todas las demás configuraciones necesarias. Ahora, tenemos que construir un plan de prueba.

1. Configuración de Prueba

En esta prueba, vamos a definir cinco elementos ThreadGroup. Cada uno de estos elementos tendrá un tiempo de aceleración diferente, es decir, 0, 15, 25, 35 y 45. El tiempo de aceleración es la duración para iniciar cada subproceso. Configuraremos 100 usuarios en estos elementos ThreadGroup.


Si queremos configurar una mayor cantidad de usuarios, se requerirá más tiempo de aceleración.


Estos grupos de subprocesos tendrán una muestra HTTP que generará solicitudes en la página de inicio de un sitio web de muestra (supongamos que www.samplesite.com).


En el caso de uso 1, tenemos un elemento ThreadGroup que está configurado con 100 subprocesos y su tiempo de aceleración es 0.


Tendrá el campo "Número de subprocesos" establecido en 100. Esto significa que 100 usuarios enviarán solicitudes a la vez. De manera similar, también podemos configurar los 4 subprocesos restantes y establecer su tiempo de aceleración como 15, 25, 35 y 45. Además, nombrar las muestras para cada grupo de subprocesos.


Como se mencionó anteriormente, estas muestras de HTTP apuntarán a la página de inicio del sitio web de muestra.


Es necesario ejecutar estos grupos de subprocesos en una secuencia adecuada. Para ello, seleccione "Plan de prueba" en el panel de control y marque el campo "Ejecutar grupos de subprocesos de forma consecutiva".

2. Análisis de los resultados de las pruebas

"Informe agregado" es un oyente que se utiliza para analizar y observar los resultados de la prueba. Para usar este oyente, haga clic derecho en "Plan de prueba" y seleccione:


Agregar → Oyente → Informe agregado


Luego haga clic en el icono de inicio para ejecutar la prueba.


Ahora, veamos cómo comprender los resultados del rendimiento del informe agregado.


El primer grupo de subprocesos con tiempo de aceleración 0 muestra que todos los subprocesos ponen una carga instantánea en el servidor al comenzar a la vez. Este escenario tiene un rendimiento bastante alto, pero no es práctico. Por lo tanto, esto no mostrará una salida realista.


El segundo y tercer grupo de subprocesos tienen un tiempo de aceleración de un rango realista, por lo que es más probable que muestren un rendimiento adecuado y soliciten el tiempo de carga.


Los grupos de subprocesos cuatro y cinco tienen un mayor tiempo de aceleración, lo que significa que su rendimiento disminuirá.


Por lo tanto, la salida confiable se puede determinar a partir de los resultados del segundo y tercer grupo de subprocesos.

Puntos importantes para recordar al probar el rendimiento:

La decisión de implementar una nueva versión o un cambio se basa en la capacidad de la aplicación para manejar TPS específicos. Por lo tanto, el plan de prueba de rendimiento tiene ciertos objetivos de rendimiento. Pero debemos asegurarnos de que estos objetivos sean realistas y representen las verdaderas características de la producción.


El plan de prueba es en vano si lo aprobamos utilizando condiciones poco realistas. Por ejemplo, el plan de prueba que describimos anteriormente tenía valores más altos de rendimiento para el primer grupo de subprocesos, pero no representaba el escenario real del entorno en vivo.


Por lo tanto, al usar tales métodos, no podemos tener una idea adecuada de si nuestra aplicación manejará la carga real o no. Por lo tanto, la configuración de pruebas adecuadas es crucial.

Ahora, discutiremos algunos puntos importantes que debemos considerar para probar el rendimiento del rendimiento.

  • Diseño de prueba apropiado: el diseño de prueba determina si el rendimiento generado es realista o no. En el escenario en tiempo real, cada solicitud puede ser diferente y también puede desencadenar procesos complicados para obtener los resultados requeridos. Por lo tanto, debemos manipular las pruebas de acuerdo con el entorno en vivo esperado.


  • Representación de Usuarios Reales: Cada usuario de la aplicación puede tener solicitudes que afecten los recursos del sistema. Por lo tanto, si los usuarios reales no están representados en el escenario de prueba, los resultados pueden mostrar un uso de recursos inexacto en el backend, por lo que la prueba no emulará las condiciones adecuadas.


  • **== Considere pausas y retrasos: == ** En un entorno en vivo, los usuarios necesitan pensar, tomar y procesar información, ingresar información en los campos, etc. Pero los servidores aún usan recursos durante esa pausa. Por lo tanto, intente incorporar estos comportamientos de los usuarios en sus scripts.


  • Velocidad de conexión: los usuarios de la aplicación se conectan a través de diferentes velocidades de red, regiones o mediante redes móviles. Por lo tanto, es necesario elegir un ancho de banda que también represente dichas conexiones de usuario.

Conclusiones

En pocas palabras, el rendimiento es un indicador de rendimiento fundamental de las aplicaciones web . Pero depender solo de las métricas de rendimiento no es suficiente. Por lo tanto, debe verificarse con la latencia y los tiempos de respuesta .


También es muy importante crear un rendimiento realista para lograr los objetivos de prueba de rendimiento establecidos.