¿Qué son las pruebas de carga? (Ejemplos)
¿Qué es la prueba de carga?
Prueba de carga Es un proceso de prueba de software no funcional en el que se prueba el rendimiento de una aplicación de software bajo una carga esperada específica. Determina cómo se comporta la aplicación de software cuando varios usuarios acceden a ella simultáneamente. El objetivo de las pruebas de carga es mejorar los cuellos de botella del rendimiento y garantizar la estabilidad y el funcionamiento sin problemas de la aplicación de software antes de su implementación.
Esta prueba generalmente identifica:
- La capacidad operativa máxima de una aplicación.
- Determinar si la infraestructura actual es suficiente para ejecutar la aplicación.
- Sostenibilidad de la aplicación con respecto a la carga máxima de usuarios.
- Número de usuarios simultáneos que puede admitir una aplicación y escalabilidad para permitir que más usuarios accedan a ella.
Es un tipo de prueba no funcional. En Ingeniería de Software, las pruebas de carga se utilizan comúnmente para aplicaciones Cliente/Servidor basadas en Web, tanto de Intranet como de Internet.
Necesidad de pruebas de carga
Algunos sitios extremadamente populares han sufrido graves períodos de inactividad cuando obtienen volúmenes masivos de tráfico. Los sitios web de comercio electrónico invierten mucho en campañas publicitarias, pero no en pruebas de carga para garantizar un rendimiento óptimo del sistema, cuando ese marketing genera tráfico.
Considere los siguientes ejemplos de pruebas de carga
- La popular tienda de juguetes Toysrus.com no pudo manejar el aumento de tráfico generado por su campaña publicitaria, lo que resultó en una pérdida tanto de dinero en marketing como de ventas potenciales de juguetes.
- El sitio web de una aerolínea no pudo atender a más de 10000 usuarios durante una oferta de festival.
- La Enciclopedia Británica anunció el acceso gratuito a su base de datos en línea como una oferta promocional. No pudieron satisfacer la avalancha de tráfico durante semanas.
Muchos sitios sufren retrasos en los tiempos de carga cuando encuentran mucho tráfico. Algunos hechos -
- La mayoría de los usuarios hacen clic después de 8 segundos de retraso en cargar una página.
- $4.4 BillIones perdidos anualmente debido a un mal desempeño
¿Por qué realizar pruebas de carga?
- Las pruebas de carga brindan confianza en el sistema, su confiabilidad y rendimiento.
- Las pruebas de carga ayudan a identificar los cuellos de botella en el sistema en escenarios de gran estrés para el usuario antes de que ocurran en un entorno de producción.
- Las pruebas de carga brindan una excelente protección contra un rendimiento deficiente y se adaptan a estrategias complementarias para la gestión del rendimiento y el monitoreo de un entorno de producción.
Objetivos de las pruebas de carga
Las pruebas de carga identifican los siguientes problemas antes de trasladar la aplicación al mercado o a producción:
- Tiempo de respuesta para cada transacción
- Rendimiento de los componentes del sistema bajo diversas cargas.
- Rendimiento de los componentes de la base de datos bajo diferentes cargas
- Retraso de red entre el cliente y el servidor.
- Problemas de diseño de software
- Problemas de configuración del servidor como un servidor web, un servidor de aplicaciones, un servidor de bases de datos, etc.
- Problemas de limitación de hardware como maximización de CPU, limitaciones de memoria, cuellos de botella en la red, etc.
Las pruebas de carga determinarán si es necesario ajustar el sistema o modificar el hardware y el software para mejorar el rendimiento. Para realizar pruebas de carga de manera efectiva, puede utilizar varios herramientas de prueba de rendimiento que están disponibles para ayudarle a identificar áreas de mejora.
Requisitos previos de las pruebas de carga
La principal métrica para las pruebas de carga es el tiempo de respuesta. Antes de comenzar las pruebas de carga, debe determinar:
- Si el tiempo de respuesta ya está medido y comparado – Cuantitativo
- Si el tiempo de respuesta es aplicable al proceso de negocio – Relevante
- Si el tiempo de respuesta es justificable – Realista
- Si el tiempo de respuesta es alcanzable – Alcanzable
- Si el tiempo de respuesta se puede medir usando una herramienta o un cronómetro – Medible
Es necesario configurar un entorno antes de comenzar la prueba de carga:
Plataforma de Hardware | Configuración del software |
---|---|
|
|
Estrategias de pruebas de carga
Existen muchas formas de realizar pruebas de carga. A continuación, se presentan algunas estrategias de prueba de carga:
- Pruebas de carga manuales: Esta es una de las estrategias para ejecutar pruebas de carga, pero no produce resultados repetibles, no puede proporcionar niveles mensurables de estrés en una aplicación y es un proceso imposible de coordinar.
- Herramientas de prueba de carga desarrolladas internamente: Una organización que se da cuenta de la importancia de las pruebas de carga puede crear sus propias herramientas para ejecutar pruebas de carga.
- Herramientas de prueba de carga de código abierto: Hay varias herramientas de prueba de carga disponibles como código abierto que son gratuitas. Puede que no sean tan sofisticados como sus homólogos pagos, pero si tienes un presupuesto limitado, son la mejor opción.
- Herramientas de prueba de carga de clase empresarial: Generalmente vienen con función de captura/reproducción. Admiten una gran cantidad de protocolos. Pueden simular un número excepcionalmente grande de usuarios.
Cómo hacer pruebas de carga
El proceso de prueba de carga se puede describir brevemente de la siguiente manera:
- Crear un dedicado Entorno de prueba para pruebas de carga
- Determinar lo siguiente
- Escenarios de prueba de carga
- Determinar transacciones de prueba de carga para una aplicación.
- Preparar datos para cada transacción.
- Es necesario predecir el número de usuarios que acceden al sistema.
- Determinar las velocidades de conexión. Algunos usuarios pueden estar conectados a través de líneas arrendadas mientras que otros pueden usar acceso telefónico
- Determinar los diferentes navegadores y sistemas operativos utilizados por los usuarios
- Una configuración de todos los servidores como servidores web, de aplicaciones y de base de datos.
- Ejecución y seguimiento de escenarios de prueba. Recopilación de varias métricas
- Analiza los resultados. Hacer recomendaciones
- Afinar el sistema
- Volver a probar
Directrices para pruebas de carga.
- Las pruebas de carga deben planificarse una vez que la aplicación se vuelva funcionalmente estable.
- Una gran cantidad de datos únicos deberían estar listos en el grupo de datos.
- Se debe decidir el número de usuarios para cada escenario o script.
- Evite la creación de registros detallados para conservar el espacio de E/S del disco
- Trate de evitar la descarga de imágenes en el sitio.
- En el proceso de ejecución de casos de prueba de carga, se debe registrar la coherencia del tiempo de respuesta durante el período transcurrido y se debe comparar el mismo con varias ejecuciones de prueba.
Diferencia entre pruebas de carga y estrés
Prueba de carga | Pruebas de estrés |
---|---|
Las pruebas de carga identifican los cuellos de botella en el sistema bajo diversas cargas de trabajo y verifican cómo reacciona el sistema cuando la carga aumenta gradualmente. | Pruebas de estrés Determina el punto de ruptura del sistema para revelar el punto máximo después del cual se rompe. |
Para reconocer el límite superior del sistema, configure el SLA de la aplicación y compruebe cómo el sistema puede manejar una carga pesada. | Comprobar cómo se comporta el sistema bajo cargas extremas y cómo se recupera de un fallo. |
Generar una mayor carga en una aplicación web es el objetivo principal de las pruebas de carga. | Las pruebas de estrés tienen como objetivo garantizar que, bajo una carga alta repentina y durante un período considerable, los servidores no colapsen. |
Los atributos que se verifican en una prueba de carga son el rendimiento máximo, la cantidad de servidores y el tiempo de respuesta. | Este tipo de prueba comprueba el tiempo de respuesta de estabilidad, etc. |
En las pruebas de carga, el límite de carga es un umbral de ruptura. | En las pruebas de estrés, el límite de carga está por encima del umbral de rotura. |
Diferencia entre pruebas funcionales y de carga
Prueba de funcion | Prueba de carga |
---|---|
Los resultados de las pruebas funcionales son fácilmente predecibles ya que tenemos definidos los pasos y condiciones previas adecuados. | Los resultados de las pruebas de carga son impredecibles |
Los resultados de las pruebas funcionales varían ligeramente. | Los resultados de las pruebas de carga varían drásticamente |
Frecuencia de ejecución Prueba de funcion será alto | La frecuencia de ejecución de las pruebas de carga será baja. |
Los resultados de las pruebas funcionales dependen de los datos de la prueba. | Las pruebas de carga dependen de la cantidad de usuarios. |
Herramientas de prueba de carga
Corredor de carga:
Load Runner es una herramienta de HP que se utiliza para probar las aplicaciones en condiciones de carga normales y máximas. Load Runner genera carga mediante la creación de usuarios virtuales que emulan el tráfico de la red. Simula el uso en tiempo real como un entorno de producción y proporciona resultados gráficos.
Leer más sobre Loadrunner aquí.
Ventajas y desventajas de las pruebas de carga.
Las siguientes son las ventajas de las pruebas de carga:
- Identificación de cuellos de botella en el rendimiento antes de la producción.
- Mejora la escalabilidad del sistema.
- Minimizar el riesgo relacionado con el tiempo de inactividad del sistema
- Costos reducidos de fallas.
- Incrementar la satisfacción del cliente
Desventajas de las pruebas de carga:
- Se necesitan conocimientos de programación para utilizar herramientas para realizar una prueba de carga en el contexto de las pruebas de software.
- Las herramientas pueden ser costosas ya que el precio depende de la cantidad de usuarios virtuales admitidos.
Resum
- Las pruebas de carga se definen como un tipo de prueba de software que determina el rendimiento de un sistema en condiciones de carga de la vida real.
- Las pruebas de carga generalmente mejoran los cuellos de botella en el rendimiento, la escalabilidad y la estabilidad de la aplicación antes de que esté disponible para producción.
- Esta prueba ayuda a identificar la capacidad operativa máxima de las aplicaciones así como los cuellos de botella del sistema.
- Pruebas de carga en pruebas de software Es importante porque si se ignora, puede causar pérdidas financieras a una organización.