stress testing guide
Una guía completa de pruebas de estrés para principiantes:
Hacer hincapié en cualquier cosa más allá de un punto tiene consecuencias graves para los seres humanos, la máquina o un programa. O causa daños graves o lo rompe por completo.
De manera similar, en este tutorial, aprenderemos cómo realizar pruebas de estrés en aplicaciones web junto con su efecto.
Para evitar cualquier daño permanente a sus aplicaciones o sitios web cuando están estresados, es decir, muy cargados, debemos encontrar el punto de ruptura y, a su vez, la solución para evitar tales condiciones. Piense en cómo sería cuando su sitio web de compras caiga durante las rebajas de Navidad. ¿Cuánto sería la pérdida?
A continuación se enumeran algunos ejemplos de casos reales en los que es de gran importancia realizar una prueba de estrés en una aplicación o sitio web:
programa gratuito para descargar videos de youtube
#1) Las aplicaciones o sitios web de compras comerciales deben realizar pruebas de estrés ya que la carga se vuelve muy alta durante los festivales, las rebajas o el período de ofertas especiales.
#2) Las aplicaciones financieras o los sitios web deben realizar una prueba de resistencia a medida que aumenta la carga en momentos como cuando la acción de una empresa sube, muchas personas inician sesión en sus cuentas para comprar o vender, los sitios web de compras en línea redirigen a los 'banqueros netos' para el pago etc.
#3) Las aplicaciones web o de correo electrónico deben someterse a pruebas de resistencia.
#4) Los sitios web o aplicaciones de redes sociales, blogs, etc., deben someterse a pruebas de estrés, etc.
Lo que vas a aprender:
- ¿Qué son las pruebas de estrés y por qué las hacemos?
- Estrategia para pruebas de estrés
- Pruebas de estrés para aplicaciones móviles
- Diferencia entre pruebas de carga y pruebas de estrés
- Casos de prueba de muestra
- 5 mejores programas de pruebas de estrés
- Conclusión
- Lectura recomendada
¿Qué son las pruebas de estrés y por qué las hacemos?
Las pruebas de estrés se definen como el proceso de probar la estabilidad del hardware o software en condiciones de carga pesada. Esta prueba se realiza para encontrar el punto numérico en el que el sistema fallará (en términos de un número de usuarios y solicitudes del servidor, etc.) y el manejo de errores relacionado para el mismo.
Durante las pruebas de esfuerzo, la aplicación bajo prueba (AUT) es bombardeada con una carga pesada durante un período de tiempo determinado para verificar el punto de ruptura y ver qué tan bien se maneja el error.
Ejemplo: MS Word puede mostrar un mensaje de error 'No responde' cuando intenta copiar un archivo de 7-8 GB.
Ha bombardeado Word con un archivo de gran tamaño y no pudo procesar un archivo tan grande y, como resultado, está colgado. Normalmente matamos aplicaciones del Administrador de tareas cuando dejan de responder, la razón es que las aplicaciones se estresan y dejan de responder.
A continuación se presentan algunas razones técnicas detrás de la realización de pruebas de estrés:
- Para verificar el comportamiento del sistema bajo condiciones de carga anormales o extremas.
- Para encontrar el valor numérico de usuarios, solicitudes, etc., después de lo cual el sistema puede fallar.
- Maneje el error con amabilidad mostrando los mensajes apropiados.
- Estar bien preparado para tales condiciones y tomar medidas de precaución como limpieza de códigos, limpieza de bases de datos, etc.
- Para verificar el manejo de datos antes de que el sistema se rompa, es decir, para ver si los datos fueron eliminados, guardados o no, etc.
- Para verificar la amenaza de seguridad en tales condiciones de ruptura, etc.
Estrategia para pruebas de estrés
Este es un tipo de prueba no funcional y esta prueba generalmente se realiza una vez que se completa la prueba funcional de un sitio web o aplicación. Los casos de prueba, la forma de probar e incluso las herramientas para probar pueden variar en ocasiones.
A continuación, se presentan algunos consejos que le ayudarán a diseñar una estrategia para su proceso de prueba:
- Identifique los escenarios, funcionalidades, etc., a los que más se accederá y que pueden tender a romper el sistema. Al igual que para una aplicación financiera, la funcionalidad más utilizada es la transferencia de dinero.
- Identifique la carga que puede experimentar el sistema en un día determinado, es decir, tanto máxima como mínima.
- Crea un Plan de prueba , escenario, caso de prueba y suite de pruebas.
- Utilice 3-4 sistemas informáticos diferentes para realizar pruebas con diferentes memorias, procesadores, etc.
- Usuario 3-4 navegadores diferentes para aplicaciones web con diferentes versiones.
- Idealmente, encuentre el valor debajo del punto de interrupción, en el punto de interrupción y el valor después del punto de interrupción (cuando el sistema no responderá en absoluto), cree un banco de pruebas y datos alrededor de estos.
- En el caso de las aplicaciones web, intente realizar una prueba de esfuerzo con una red lenta también.
- No salte a la conclusión de las pruebas en solo una o dos rondas, ejecute las mismas pruebas durante al menos 5 rondas y luego concluya sus hallazgos.
- Encuentre el tiempo de respuesta ideal del servidor web y cuál es el tiempo en el punto de interrupción.
- Encuentre el comportamiento de la aplicación en el punto de ruptura en diferentes puntos de la aplicación, como simplemente al iniciar la aplicación, iniciar sesión, realizar alguna acción después de iniciar sesión, etc.
Pruebas de estrés para aplicaciones móviles
Las pruebas de estrés para aplicaciones móviles nativas son un poco diferentes de las de las aplicaciones web. En las aplicaciones nativas, se realiza una prueba de esfuerzo para las pantallas de uso común agregando datos enormes.
A continuación, se muestran algunas verificaciones que se realizan como parte de esta prueba para aplicaciones móviles nativas:
- La aplicación no se bloquea cuando se muestran datos enormes. Como para una aplicación de correo electrónico, alrededor de 4-5 mil rupias de tarjetas de correo electrónico recibidas, para aplicaciones de compras, la misma cantidad de tarjetas de artículos, etc.
- El desplazamiento no tiene problemas y la aplicación no se cuelga mientras se desplaza hacia arriba o hacia abajo.
- El usuario debería poder ver los detalles de una tarjeta o realizar alguna acción en la tarjeta de la lista enorme.
- Enviar miles de millones de actualizaciones desde la aplicación al servidor, como marcar un artículo como 'Favorito', agregar un artículo al carrito de compras, etc.
- Intente cargar la aplicación con grandes datos en una red 2G, cuando la aplicación se cuelgue o se bloquee, debería mostrar un mensaje apropiado.
- Pruebe un escenario de extremo a extremo cuando haya datos enormes y una red 2G lenta, etc.
La siguiente debe ser su estrategia para realizar pruebas en aplicaciones móviles:
- Identifique las pantallas que tienen tarjetas, imágenes, etc., para apuntar a aquellas pantallas con grandes datos.
- Del mismo modo, identifique las funcionalidades que se utilizarán con más frecuencia.
- Mientras crea el banco de pruebas, intente utilizar teléfonos de gama media y baja.
- Intente probar simultáneamente en dispositivos paralelos.
- Evite esta prueba en emuladores y simuladores.
- Evite las pruebas en las conexiones Wifi, ya que son fuertes.
- Intente realizar al menos una prueba de esfuerzo en el campo, etc.
Diferencia entre pruebas de carga y pruebas de estrés
S.No. | Pruebas de estrés | Prueba de carga |
---|---|---|
1 | Esta prueba se realiza para averiguar el punto de ruptura del sistema. | Esta prueba se realiza para verificar el rendimiento del sistema bajo una carga esperada. |
2 | Esta prueba se realiza para averiguar si el sistema se comportará como se espera si la carga supera el límite normal. | Esta prueba se realiza para verificar el tiempo de respuesta del servidor para la carga específica esperada. |
3 | El manejo de errores también se verifica en esta prueba. | El manejo de errores no se prueba intensamente. |
4 | Esto también busca amenazas de seguridad, fugas de memoria, etc. | Ninguna prueba de este tipo es obligatoria. |
5 | Comprueba la estabilidad de los sistemas. | Comprueba la fiabilidad del sistema. |
6 | La prueba se realiza con más del máximo. posible no de usuarios, solicitudes, etc. | Las pruebas se realizan con el número máximo de usuarios, solicitudes, etc. |
Pruebas de estrés frente a pruebas de carga
Casos de prueba de muestra
Los casos de prueba que creará para sus pruebas dependerán de la aplicación y sus requisitos. Antes de crear los casos de prueba, asegúrese de conocer las áreas de enfoque, es decir, las funcionalidades que tenderán a romperse bajo la condición de una carga anormal.
A continuación, se muestran algunos casos de prueba de muestra que puede incluir en sus pruebas:
- Verifique si se muestra un mensaje de error adecuado cuando el sistema alcanza el punto de interrupción, es decir, cruza el número máximo. de usuarios permitidos o solicitudes.
- Consulte el caso de prueba anterior para ver varias combinaciones de RAM, procesador y red, etc.
- Verifique si el sistema funciona como se esperaba cuando el número máximo. de usuarios o solicitudes están siendo procesadas. También verifique el caso de prueba anterior para varias combinaciones de RAM, procesador y red, etc.
- Verifique que mientras más del permitido no. de los usuarios o solicitudes están realizando la misma operación (como comprar los mismos artículos en un sitio web de compras o hacer una transferencia de dinero, etc.) y si el sistema no responde, se muestra un mensaje de error apropiado sobre los datos (¿no se guardan? - depende de la implementación).
- Compruebe si más del permitido no. de usuarios o solicitudes están realizando una operación diferente (como un usuario está iniciando sesión, un usuario está iniciando la aplicación o el enlace web, un usuario está seleccionando un producto, etc.) y si el sistema deja de responder, se muestra un mensaje de error apropiado sobre los datos (¿no guardado? - depende de la implementación).
- Verifique si el tiempo de respuesta para los usuarios o las solicitudes de puntos de ruptura está en un valor de aceptación.
- Verifique el rendimiento de la aplicación o el sitio web cuando la red sea muy lenta, se debe mostrar un mensaje de error adecuado para la condición de 'tiempo de espera'.
- Verifique todos los casos de prueba anteriores para un servidor que tiene más de una aplicación ejecutándose para verificar si la otra aplicación se ve afectada, etc.
Antes de ejecutar las pruebas, asegúrese de que:
- Todas las fallas funcionales de la aplicación bajo prueba son reparadas y verificadas.
- El sistema completo de extremo a extremo está listo y se ha probado la integración.
- No se realizan nuevos registros de código que afectarán las pruebas.
- Se informa a otros equipos sobre su programa de pruebas.
- Los sistemas de respaldo se crean en caso de problemas graves.
5 mejores programas de pruebas de estrés
Cuando la prueba de esfuerzo se realiza manualmente, también es un trabajo muy complicado y tedioso. Es posible que tampoco le dé los resultados esperados.
Las herramientas de automatización pueden brindarle los resultados esperados y es relativamente fácil crear el banco de pruebas requerido con ellas. Puede suceder que las herramientas que está utilizando para sus pruebas funcionales normales no sean suficientes para las pruebas de esfuerzo.
Por lo tanto, usted y su equipo deben decidir si quieren una herramienta separada exclusivamente para esta prueba. También es beneficioso para los demás que ejecute la suite por la noche para que su trabajo no se vea obstaculizado. Con las herramientas de automatización, puede programar la suite para que se ejecute por la noche y los resultados estarán listos para usted al día siguiente.
A continuación se muestra una lista de las herramientas más recomendadas:
# 1) Corredor de carga:
LoadRunner es una herramienta diseñada por HP para pruebas de carga, pero también se puede utilizar para pruebas de estrés.
Utiliza VuGen, es decir, Virtual User Generator para crear usuarios y solicitudes de pruebas de carga y estrés. Esta herramienta tiene buenos informes de análisis que pueden ayudar a dibujar los resultados en forma de gráficos, tablas, etc.
# 2) Neoload:
Neoload es una herramienta de pago que resulta útil para probar aplicaciones web y móviles.
Puede simular más de 1000 usuarios para verificar el rendimiento del sistema y encontrar el tiempo de respuesta del servidor. También se integra con Cloud para pruebas de carga y estrés. Proporciona una buena escalabilidad y es muy fácil de usar.
mejor descargador de música mp3 gratis para android
# 3) JMeter:
JMeter es una herramienta de código abierto que funciona con JDK 5 y versiones superiores. El enfoque de esta herramienta está principalmente en probar aplicaciones web. También se puede utilizar para probar conexiones de bases de datos LDAP, FTP, JDBC, etc.
# 4) Molinillo:
Grinder es una herramienta de código abierto y basada en Java que se utiliza para pruebas de carga y estrés.
La parametrización se puede realizar de forma dinámica mientras se realizan las pruebas. Tiene buenos informes y afirmaciones para ayudarlo a analizar los resultados de una mejor manera. Tiene una consola que se puede utilizar como un IDE para crear y editar las pruebas y los agentes para crear la carga con fines de prueba.
# 5) WebLoad:
Webload La herramienta tiene una edición gratuita y de pago. Esta edición gratuita permite la creación de hasta 50 usuarios.
Esta herramienta es compatible con la comprobación de estrés de aplicaciones web y móviles. Es compatible con diferentes protocolos como HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP, etc. Tiene un IDE, una consola de generación de carga, un panel de análisis e integraciones (para integrar con Jenkins, herramientas APM, etc.).
Conclusión
Las pruebas de estrés se enfocan completamente en probar el sistema bajo condiciones de carga extremas para encontrar su punto de ruptura y ver si se muestran los mensajes apropiados cuando el sistema no responde. Destaca la memoria, el procesador, etc.durante la prueba y comprueba qué tan bien se recuperan.
La prueba de estrés es un tipo de prueba no funcional y generalmente se realiza después de la prueba funcional. Cuando también existe un requisito de prueba de carga, esta prueba se puede realizar como el caso extremo de prueba de carga. El 90% de las veces, la misma herramienta de automatización se puede utilizar para pruebas de carga y estrés.
¡Espero que haya obtenido una gran comprensión del concepto de Stress Testing!
Lectura recomendada
- Pruebas de carga con los tutoriales de HP LoadRunner
- Pruebas de rendimiento frente a pruebas de carga frente a pruebas de estrés (diferencia)
- Guía completa de pruebas de carga para principiantes
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Pruebas alfa y beta (una guía completa)
- Guía para principiantes sobre pruebas de penetración de aplicaciones web
- Pruebas de carga, estrés y rendimiento de aplicaciones web con WAPT
- Pruebas funcionales versus pruebas no funcionales