¿Qué son las pruebas de resistencia en las pruebas de software? (con ejemplo)

Pruebas de resistencia

Pruebas de resistencia Es un tipo de prueba de software no funcional en el que se prueba un software con una carga elevada prolongada durante un período de tiempo significativo para evaluar el comportamiento de la aplicación de software en condiciones de uso sostenido. El objetivo principal de las pruebas de resistencia es garantizar que la aplicación sea lo suficientemente capaz de manejar una carga prolongada 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. Las pruebas de resistencia son un proceso largo y, a veces, duran incluso hasta un año. Esto puede incluir la aplicación de cargas externas, como tráfico de Internet o acciones del usuario. Esto hace que las pruebas de resistencia difieran de las Prueba de carga, que suele finalizar en un par de horas aproximadamente.

Resistencia significa capacidad, por lo que, en otras palabras, puede denominar pruebas de resistencia como pruebas de capacidad.

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 en condiciones de uso sostenido.
  • Para garantizar que después de un período prolongado, el tiempo de respuesta del sistema siga siendo el mismo o mejor que al inicio de la prueba.
  • Determinar la cantidad de usuarios y/o transacciones que un sistema determinado admitirá y cumplirá con los objetivos de rendimiento.
  • Para gestionar 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 soportar 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

Pruebas de resistencia

En las pruebas de resistencia se prueban los siguientes aspectos:
  • Prueba de pérdida de memoria– Se realizan comprobaciones para verificar si hay alguna pérdida de memoria en la aplicación, lo que puede causar fallas en el sistema o en el sistema operativo.
  • Prueba de cierre de conexión entre la capa del sistema. – Si la conexión entre las capas del sistema no se cierra correctamente, se pueden bloquear algunos o todos los módulos del sistema.
  • La conexión de la base de datos de prueba se cerró correctamente– Si la conexión a la base de datos no se cierra correctamente, puede provocar un fallo del sistema.
  • Tiempo de respuesta de la prueba – Se prueba el tiempo de respuesta del sistema, ya 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 requerido 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 es necesario estimar el tamaño de producción de bases de datos comunes y el crecimiento anual. Esto es necesario, por lo que 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: manual, automática o una combinación de ambas, Caso de prueba Se deben planificar el diseño, las revisiones y la ejecución. Las pruebas para estresar el sistema, pruebas de punto de ruptura, etc. también deben ser parte del plan de pruebas. Las pruebas para estresar el sistema determinan el punto de ruptura en la aplicación.
  • Estimación de prueba – Proporcione una estimación de cuánto tiempo llevará completar la fase de prueba. Debe analizarse en función del número de probadores involucrados y del número de ciclos de prueba necesarios.
  • Análisis de riesgo - Analizar el riesgo y tomar las medidas adecuadas para su prevención. Priorización de los casos de prueba según el factor de riesgo e identificación de los siguientes riesgos y problemas que el evaluador puede realizar durante la prueba de resistencia.
  • ¿El rendimiento se mantendrá constante a lo largo del tiempo?
  • ¿Hay otros problemas menores que aún no se han detectado?
  • ¿Existe interferencia externa que no se abordó?
  • Calendario de pruebas - Determinar el presupuesto, entregables dentro de los plazos. Como Pruebas de resistencia aplica una disposición de carga enorme pero natural de transacciones al sistema/aplicación durante un período de tiempo continuo.

Ejemplo de prueba de resistencia

Aunque la Prueba de esfuerzo lleva el sistema probado a sus límites, Pruebas de resistencia lleva la aplicación al límite con el tiempoPor ejemplo, los problemas más complejos (pérdidas de memoria, utilización del servidor de base de datos y falta de respuesta del sistema) ocurren cuando el software se ejecuta durante un período prolongado. Si se omiten las pruebas de resistencia, las probabilidades de detectar dichos defectos antes de la implementación son bastante bajas.

Herramientas de prueba de resistencia

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 haya 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 carga enorme en un lapso de tiempo muy corto.
  • La prueba de resistencia también se utiliza para comprobar 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 podrían causar fallas en la aplicación y/o en la red que pueden resultar en una interrupción significativa si Entorno de prueba no están aislados.
  • La pérdida o corrupción permanente de datos puede ocurrir al sobrecargar el sistema.
  • La utilización de recursos sigue siendo muy alta una vez que se elimina el estrés.
  • Algunos componentes de la aplicación no responden.
  • El usuario final observa las excepciones no controladas.

Resumen

  • In Ingeniería de SoftwareLas pruebas de resistencia son un subconjunto de las pruebas de carga.
  • Las pruebas de resistencia son un proceso largo y, a veces, duran incluso hasta un año.
  • Se realizan controles para verificar
  • Prueba de pérdida de memoria
  • Tiempo de respuesta de la prueba
  • Probar la conexión de la base de datos, etc.