Prueba de resistencia
La prueba de resistencia es un tipo de prueba de software no funcional en la que un software se prueba con una carga alta extendida durante un período de tiempo significativo para evaluar el comportamiento de la aplicación de software con un uso sostenido. El propósito principal de las pruebas de resistencia es garantizar que la aplicación sea lo suficientemente capaz de manejar cargas extendidas sin ningún deterioro del tiempo de respuesta.
Este tipo de prueba se realiza en la última etapa del ciclo de ejecución de rendimiento. La prueba de resistencia es un proceso largo y, a veces, dura hasta un año. Esto puede incluir la aplicación de cargas externas como el tráfico de Internet o las acciones del usuario. Esto hace que las pruebas de resistencia sean diferentes de las pruebas de carga, que generalmente terminan en un par de horas aproximadamente.
Resistencia significa capacidad, en otras palabras, puede denominarse Prueba de resistencia como Prueba de capacidad.
En este tutorial, aprenderá:
- ¿Qué son las pruebas de resistencia?
- Objetivos de las pruebas de resistencia
- Qué monitorear en las pruebas de resistencia
- Cómo realizar pruebas de resistencia
- Ejemplo de prueba de resistencia
- Herramientas de prueba de resistencia
- Ventajas de las pruebas de resistencia
- Desventajas de las pruebas de resistencia
Objetivos de las pruebas de resistencia
- El objetivo principal de las pruebas de resistencia es comprobar si hay pérdidas de memoria.
- Descubrir cómo funciona el sistema con un uso sostenido.
- Para asegurarse de que después de un largo período, el tiempo de respuesta del sistema seguirá siendo el mismo o mejor que el inicio de la prueba.
- Para determinar el número de usuarios y / o transacciones que un sistema dado apoyará y cumplirá con los objetivos de rendimiento.
- Para administrar las cargas futuras, debemos comprender cuántos recursos adicionales (como la capacidad del procesador, la capacidad del disco, el uso de la memoria o el ancho de banda de la red) son necesarios para admitir el uso en el futuro.
- Las pruebas de resistencia generalmente se realizan sobrecargando el sistema o reduciendo ciertos recursos del sistema y evaluando las consecuencias.
- Se realiza para garantizar que no se produzcan defectos o pérdidas de memoria después de lo que se considera un período de uso relativamente "normal".
Qué monitorear en las pruebas de resistencia
En las pruebas de resistencia se prueban las siguientes cosas.
- Prueba de fuga de memoria : se realizan verificaciones para verificar si hay alguna fuga de memoria en la aplicación, lo que puede causar fallas en el sistema o el sistema operativo.
- Probar el cierre de la conexión entre las capas del sistema : si la conexión entre las capas del sistema no se cierra correctamente, es posible que se bloqueen algunos o todos los módulos del sistema.
- Probar la conexión de la base de datos cerrada correctamente : si la conexión de la base de datos no se cierra correctamente, el sistema puede bloquearse
- Tiempo de respuesta de la prueba : se prueba el tiempo de respuesta del sistema a medida que la aplicación se vuelve menos eficiente como resultado del uso prolongado del sistema.
Cómo realizar pruebas de resistencia
A continuación se muestra el enfoque de prueba básico para la prueba de resistencia
- Entorno de prueba: identifique el hardware, software, sistema operativo que se requiere para las pruebas de resistencia, asignando roles y responsabilidades dentro del equipo, etc. El entorno debe estar listo antes de la ejecución de la prueba. También necesita estimar el tamaño de producción de la base de datos común y el crecimiento anual. Esto es necesario, como tal, debe probar cómo responderá su aplicación después de un año, dos o cinco.
- Creación del plan de prueba, escenarios: según la naturaleza de las pruebas, se debe planificar el diseño, las revisiones y la ejecución de los casos de prueba de forma manual o automática o una combinación de ambos. Las pruebas para tensionar el sistema, las pruebas de puntos de ruptura, etc. también deben ser parte del plan de prueba. Las pruebas para tensionar el sistema determinan el punto de ruptura en la aplicación.
- Estimación de prueba: proporcione la estimación de cuánto tiempo llevará completar la fase de prueba. Debe analizarse sobre la base de varios probadores involucrados y el número de ciclos de prueba requeridos.
- Análisis de riesgos: analizar el riesgo y tomar las medidas adecuadas para la prevención. Priorizar los casos de prueba según el factor de riesgo e identificar los riesgos y problemas que se indican a continuación que el probador puede realizar durante la prueba de resistencia.
- ¿El desempeño se mantendrá constante a lo largo del tiempo?
- ¿Hay otros problemas menores que aún no se han detectado?
- ¿Existe una interferencia externa que no se haya abordado?
- Programa de prueba: determine el presupuesto y los entregables dentro de los plazos. Como Endurance Testing aplica un arreglo de transacciones de carga enorme pero natural al sistema / aplicación durante un período de tiempo continuo.
Ejemplo de prueba de resistencia
Mientras que las pruebas de estrés llevan el sistema probado a sus límites, las pruebas de resistencia llevan la aplicación a su límite con el tiempo .
Por ejemplo, los problemas más complejos (pérdidas de memoria, utilización del servidor de bases de datos y sistema que no responde) ocurren cuando el software se ejecuta durante un período de tiempo prolongado. Si omite las pruebas de resistencia, sus posibilidades de detectar tales defectos antes de la implementación son bastante bajas.
Herramientas de prueba de resistencia
- WebLOAD
- LoadComplete
- Apache JMeter
- LoadRunner
- Aplicación
- LoadUI
- OpenSTA
- Probador de rendimiento racional
Ventajas de las pruebas de resistencia
- Ayuda a determinar cómo puede manejar la carga de trabajo el sistema bajo carga.
- Proporciona datos precisos que el cliente puede utilizar para validar o mejorar sus necesidades de infraestructura.
- Identifica problemas de rendimiento que pueden ocurrir después de que un sistema ha estado funcionando a un nivel alto durante un período de tiempo más largo.
- Los problemas típicos se identifican en pruebas de rendimiento específicas más pequeñas, lo que significa que garantiza que la aplicación permanezca disponible incluso cuando hay una gran carga en un período de tiempo muy corto.
- La prueba de resistencia también se utiliza para verificar si hay alguna degradación del rendimiento después de un largo período de ejecución.
Desventajas de las pruebas de resistencia
- A menudo es difícil definir cuánto estrés vale la pena aplicar.
- Las pruebas de resistencia pueden causar fallas en la red y / o aplicaciones que pueden resultar en una interrupción significativa si el entorno de prueba no está aislado.
- La pérdida o la corrupción de datos permanentes pueden ocurrir al sobrecargar el sistema.
- La utilización de recursos sigue siendo muy alta después de eliminar el estrés.
- Algunos componentes de la aplicación no responden.
- El usuario final observa las excepciones no controladas.
Resumen:
- En Ingeniería de Software, las pruebas de resistencia son un subconjunto de las pruebas de carga.
- Las pruebas de resistencia son un proceso largo y, a veces, duran hasta un año.
- Se realizan comprobaciones para verificar
- Prueba de fuga de memoria
- Prueba de tiempo de respuesta
- Pruebe la conexión de la base de datos, etc.
Este artículo es posible gracias a la contribución de Unnati Soni.