Pruebas de carga: Piense en el tiempo, el ritmo y los retrasos



¿Qué es el tiempo de reflexión en las pruebas de rendimiento?

El tiempo de reflexión en las pruebas de carga se refiere al retraso o pausa simulados entre acciones consecutivas del usuario durante una prueba de rendimiento. Representa el tiempo que un usuario pasa pensando, leyendo o estando inactivo después de completar una acción y antes de iniciar la siguiente. El tiempo de reflexión se introduce en los escenarios de prueba para hacerlos más realistas e imitar el comportamiento natural de los usuarios reales que interactúan con la aplicación.

Por ejemplo, considere un escenario de aplicación web de comercio electrónico en el que un usuario selecciona un icono de producto. A continuación, navegan a la página de visualización del producto y se toman un tiempo para consumir y leer el contenido de esa página antes de hacer clic en el botón “Agregar al carrito”. El tiempo transcurrido entre hacer clic en el mosaico del producto y hacer clic en “Agregar al carrito” se conoce como tiempo de reflexión.

Normalmente, cuando se piensa en las pruebas de carga, se piensa en servir a grandes cantidades de usuarios simultáneos en las aplicaciones web, los sitios web o las API para ver cómo funcionan bajo estrés. Piensa que el tiempo es útil para ayudar a simular mejor los pasos del recorrido del usuario, como las rutas de compra, la búsqueda de un producto o el inicio de sesión en una cuenta. Cada uno de estos ejemplos tiene diferentes valores de tiempo de reflexión y es importante tenerlos en cuenta al realizar pruebas de carga.

Ventajas de Think Time

  • Realismo: Incluir el tiempo de reflexión replica el comportamiento natural de los usuarios que no interactúan con un sistema de forma continua. Esto mejora el realismo de los escenarios de pruebas de carga, lo que hace que reflejen mejor las experiencias reales de los usuarios.
  • Precisión de la simulación del usuario: Pensar en el tiempo ayuda a simular con precisión el comportamiento del usuario durante el proceso de prueba. Los usuarios suelen pasar tiempo leyendo contenido, tomando decisiones o contemplando acciones, y el tiempo de pensamiento permite la simulación de estas pausas naturales.
  • Rendimiento: Think Time libera recursos en el equipo de Execution Server entre solicitudes. Esto permite que otros usuarios virtuales (VU) del servidor de ejecución envíen sus solicitudes, lo que evita que el equipo del servidor de ejecución experimente restricciones de E/S.
  • Solución de problemas mejorada: Los escenarios realistas de tiempo de reflexión ayudan a detectar cuellos de botella en el rendimiento que pueden no ser evidentes en escenarios sin pausas. Ayuda a descubrir problemas relacionados con las sesiones de usuario, la administración de sesiones y la capacidad de respuesta general del sistema.

Cuándo usar Think Times

Incorporar tiempos de reflexión en las pruebas de carga puede ser difícil porque cada usuario es diferente. En el lado positivo, los tiempos de reflexión pueden ser flexibles y debe considerar un rango para sus valores de tiempo de reflexión. Por ejemplo, algunos usuarios pueden tardar más en leer o introducir datos en un formulario que otros.

Querrá incorporar el tiempo de reflexión entre estas acciones para replicar el tiempo en que una persona recibe una respuesta con mayor precisión de su servidor hasta el momento en que la persona solicita una nueva página. El tiempo de reflexión dependerá de los escenarios de usuario y debe determinar los intervalos de valores de tiempo de reflexión utilizando los datos de su sitio web o aplicación. Querrá determinar la cantidad media de tiempo que los usuarios pasan en sus páginas.

 

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

El ritmo se usa en las pruebas de carga para garantizar que la prueba se realice a la velocidad prevista de transacciones por segundo. Es el intervalo de tiempo entre cada iteración completa del flujo de negocio. Esto ayuda a regular el número de solicitudes enviadas al servidor por segundo.

 

La importancia de introducir retrasos en las pruebas de carga

Probar el rendimiento de la aplicación antes de su lanzamiento generalizado ayuda a evitar posibles inconvenientes para los usuarios finales, como tiempos de espera, respuestas lentas de la página y tiempo de inactividad. Para garantizar resultados de prueba realistas y descubrir cualquier problema, es esencial incorporar el tiempo de reflexión y el ritmo en el diseño de nuestro escenario de prueba.

Por ejemplo, cuando introducimos el tiempo de reflexión entre cada acción simultánea del usuario, el servidor utiliza este retraso para abordar las tareas pendientes en la cola. Ejecuta la siguiente tarea antes de volver a visitar la anterior. Esto refleja fielmente el escenario de producción típico con usuarios reales. Además, la incorporación del tiempo de reflexión amplía el tiempo que el usuario pasa en la aplicación, revelando cualquier problema relacionado con la capacidad del servidor para manejar usuarios simultáneos de manera efectiva.

Cálculo de retrasos para aplicaciones de prueba

El número de usuarios virtuales simultáneos, los retrasos y las transacciones por segundo (TPS) varían para cada aplicación. Para calcular cuáles deben ser los retrasos de su solicitud, puede utilizar la siguiente fórmula:

  • Duración de la prueba de carga (en segundos) * (TPS + Retrasos) * Recuento de usuarios simultáneos – Total de transacciones

Por ejemplo, consideremos la posibilidad de generar 100.000 transacciones con un tiempo de respuesta de 5 segundos cada una durante una prueba de 10 minutos (600 segundos). Para determinar los usuarios simultáneos necesarios con un tiempo de reflexión de 3 segundos, utilice la fórmula: 100.000 / (8 * 10 * 60), lo que da como resultado aproximadamente 21 usuarios. Este enfoque ayuda a identificar los retrasos y los recuentos de usuarios necesarios para realizar pruebas de carga eficaces.

Configuración de retrasos en las pruebas de carga con LoadView

LoadView proporciona EveryStep Web Recorder, que agiliza la creación de escenarios de prueba mediante el registro de las acciones del usuario en un explorador. Replica fielmente los pasos del usuario, capturando puntos de datos como selectores, acciones y retrasos. Durante la creación del escenario de prueba, es esencial emular el recorrido auténtico del usuario, incluidos los retrasos de tiempo. Después de la grabación, la herramienta genera un script que se puede volver a ejecutar con el número especificado de usuarios simultáneos. El script es personalizable, lo que permite a los usuarios modificar y actualizar los retrasos de los pasos individuales según sea necesario para las pruebas, como se muestra en la imagen siguiente. Explore más sobre cómo editar scripts de EveryStep Web Recorder.

El enfoque óptimo para lograr resultados precisos en una prueba de carga implica la creación de un script que simule las interacciones reales del usuario con la aplicación y capture el recorrido del usuario.

Añadir retrasos al script

Con LoadView, también tendrá la opción de modificar el comportamiento del usuario durante las pruebas de carga. Como puede ver en la imagen a continuación, puede elegir Retraso normal o Retraso personalizado para establecer el comportamiento y los retrasos específicos del usuario para sus aplicaciones.

Ajustar el comportamiento del usuario

Conclusión: Piensa en el tiempo, el ritmo y los retrasos

Realizar pruebas de rendimiento en su aplicación es crucial antes de su implementación en producción. La eficacia de este proceso para identificar problemas precisos relacionados con el rendimiento se basa en el cumplimiento de los procedimientos recomendados y el desarrollo de escenarios de prueba que abarquen acciones reales del usuario dentro de la aplicación.

En este artículo se exploró la importancia del tiempo de reflexión, el ritmo y los retrasos en las pruebas de carga. Al incorporar estos elementos en los diseños de las pruebas de carga, se pueden detectar con mucha antelación problemas como los tiempos de espera de las páginas, las respuestas lentas de las páginas, las discrepancias en el tiempo de respuesta y los errores del servidor, incluso con cargas elevadas. La adopción de estas estrategias contribuye al desarrollo de aplicaciones y sitios web receptivos y confiables. LoadView puede ayudar a simplificar este proceso y puede incorporar fácilmente el tiempo de reflexión, el ritmo y los retrasos en los escenarios de prueba de carga para aprovechar al máximo los esfuerzos de prueba. Cuando se registre en LoadView hoy, obtendrá todos los beneficios de las pruebas de carga que ofrece la plataforma, ¡y podrá realizar sus primeras pruebas iniciales de forma gratuita!

Lleve sus pruebas de usuario concurrentes a la
Siguiente nivel

Experimente características sin igual con escalabilidad ilimitada. Sin tarjeta de crédito, sin contrato.