Pruebas de estabilidad en pruebas de software

Prueba de estabilidad

La prueba de estabilidad es un tipo de prueba de software no funcional que se realiza para medir la eficiencia y la capacidad de una aplicación de software para funcionar continuamente durante un largo período de tiempo. El propósito de las pruebas de estabilidad es verificar si la aplicación de software falla o falla durante el uso normal en cualquier momento mediante el ejercicio de su rango completo de uso.

Las pruebas de estabilidad se realizan para verificar la eficiencia de un producto desarrollado más allá de la capacidad operativa normal, a menudo hasta un punto de interrupción. Existe una mayor importancia en el manejo de errores, la confiabilidad del software, la robustez y la escalabilidad de un producto bajo una carga pesada en lugar de verificar el comportamiento del sistema en circunstancias normales.

Las pruebas de estabilidad evalúan los problemas de estabilidad. Esta prueba está destinada principalmente a estresar al máximo el componente de software. Es una técnica no funcional.

Las pruebas de estabilidad también se conocen como pruebas de carga o resistencia.

En este tutorial, aprenderá:

  • ¿Qué son las pruebas de estabilidad?
  • Problemas si un sistema bajo prueba no se ha sometido a la prueba de estabilidad
  • ¿Por qué realizar pruebas de estabilidad?
  • Cómo hacer pruebas de estabilidad
  • Caso de prueba para pruebas de estabilidad para el rendimiento de la CPU
  • Informes de prueba para pruebas de estabilidad

Problemas si un sistema bajo prueba no se ha sometido a la prueba de estabilidad

Para una aplicación bajo prueba en la que se presenta una gran cantidad de usuarios y aplicaciones que deben ejecutarse durante meses sin reiniciarse, es probable que ocurran varios problemas:

El posible error se puede afrontar,

  • el sistema se ralentiza
  • el sistema encuentra problemas de funcionalidad
  • el sistema muestra comportamiento cableado
  • el sistema se bloquea por completo

En ingeniería de software, las pruebas de estabilidad generalmente implican ejercitar el sistema con usuarios intensivos (virtuales) y medir los parámetros de rendimiento para verificar si el sistema puede soportar la carga anticipada.

¿Por qué realizar pruebas de estabilidad?

Este tipo de prueba ayuda a los usuarios a comprender las formas en que funcionará el sistema en situaciones de la vida real.

Por lo tanto, Stability Testing le permite verificar,

  • Proporcione confianza en la estabilidad de su sistema bajo prueba.
  • Asegúrese de que su sistema pueda manejar programas grandes.
  • Supervise la eficacia de su sistema.
  • Pruebe la estabilidad del sistema bajo estrés.

Desempeña un papel importante en el desarrollo de productos, ya que se utiliza para determinar las limitaciones de un producto de software bajo prueba antes de su lanzamiento o las áreas de mayor mejora antes de que el producto entre en funcionamiento o en producción.

Un ejemplo muy común de técnica de prueba de estabilidad es

O nline S hopping P ortals: La prueba de estabilidad comprobará cómo el sitio web se comportará cuando -

  • Gran cantidad de datos ingresados ​​en horas pico
  • Número de aciertos en un momento específico
  • Problema de carga de la página al mismo tiempo
  • Comportamiento del sistema
  • La capacidad de respuesta del sistema y muchos más se incluyen en las pruebas de estabilidad.

Otro ejemplo

Una prueba de CPU es una forma popular de prueba de estabilidad bajo la técnica de Prueba de rendimiento. Esta prueba verifica la estabilidad del procesador y también monitorea su rendimiento a medida que aumenta la carga de trabajo del procesador.

Cómo hacer pruebas de estabilidad

  • Para determinar el alcance y el objetivo de las pruebas, debemos asegurarnos de que los servidores de aplicaciones no se bloqueen durante las ejecuciones de las pruebas de carga.
  • Para determinar los problemas comerciales, verifique el rendimiento del sistema y la carga según la perspectiva del usuario final.
  • Asignar las diferentes Responsabilidades y Roles como -Creación del plan de prueba, diseño de casos de prueba, revisión de casos de prueba, ejecución de pruebas, etc.
  • Para asegurar los entregables de la Prueba dentro del tiempo especificado
  • Para garantizar que las herramientas de prueba de carga adecuadas y el equipo de experiencia estén presentes para el mismo.
  • Medir el riesgo y el costo que implica la prueba. Esto determinará el costo de cada ejecución en términos de uso de CPU y memoria.
  • Determine el seguimiento y la notificación de defectos y el mapeo adecuado con los requisitos

Caso de prueba para pruebas de estabilidad para el rendimiento de la CPU

  • Verificar el límite superior del sistema.
  • Cómo el sistema falla o se recupera.
  • Número total de transacciones completadas por solicitud.
  • Si la respuesta de la transacción se mantiene estable o aumenta con el tiempo.
  • Cómo se comporta el sistema bajo carga pesada.
  • Su respuesta y comportamiento bajo carga pesada.

Informes de prueba para pruebas de estabilidad

Se recopilan y miden varias estadísticas durante las ejecuciones de prueba; estos números se analizan para generar un informe e identificar posibles problemas de desempeño.

Ejemplos de estadísticas recopiladas bajo prueba son:

  • Tiempos de respuesta de transacciones : el tiempo promedio que se toma para realizar transacciones durante la prueba. Esta estadística evaluará si el rendimiento del servidor se encuentra dentro de los períodos de tiempo de rendimiento de transacción mínimo y máximo aceptables definidos para el sistema.

    Esta información evaluará el tiempo que tarda el servidor web en procesar la solicitud y enviarla al servidor de la aplicación, que en la mayoría de los casos realizará una solicitud a un servidor de base de datos.

  • Visitas por segundo: el número de visitas realizadas en el servidor por los usuarios. Esta estadística beneficia a determinar la cantidad de carga que generan los usuarios, con respecto a una cantidad de hits.
  • Rendimiento: la cantidad de rendimiento en el servidor web durante la prueba que se mide en bytes. Rendimiento significa la cantidad de datos que los usuarios recibieron del servidor en un momento dado. Esta estadística ayuda a evaluar la cantidad de carga que generan los usuarios.
  • Transacción por segundo: este es el número total de transacciones completadas (tanto exitosas como fallidas) realizadas durante una prueba. Esta estadística ayuda a verificar la carga de transacciones real en el sistema.
  • CPU: porcentaje de utilización de CPU gastado durante una prueba.
  • Memoria: uso de memoria durante una prueba.
  • Disco: utilización de los espacios en disco gastados durante una prueba.

Por el momento, ahora puede identificar fácilmente eso:

Las pruebas de estabilidad se incluyen en las pruebas de rendimiento, una técnica que se realiza para verificar algunos de los atributos de calidad del software, como la estabilidad, la confiabilidad y la disponibilidad.

Esta prueba se utiliza para determinar qué tan rápido se desempeña un sistema o subsistema bajo una carga de trabajo en particular.

Las pruebas de rendimiento tienen muchos tipos y las pruebas de estabilidad son una de ellas.

  • Prueba de estrés : es un tipo de prueba que verifica la solidez del sistema más allá de la capacidad del sistema.
  • Prueba de picos: se utiliza para comprobar el comportamiento de un sistema aumentando instantáneamente la carga de un sistema. El objetivo es comprobar en qué punto el sistema tendrá problemas de rendimiento o pasará.
  • Prueba de escalabilidad: se utiliza para verificar las capacidades de un sistema. Qué tan efectivo se comportará el sistema ante las necesidades crecientes, el cambio de tamaño y el cambio de volumen.
  • Prueba de volumen: es una técnica de prueba no funcional en la que el software sometido a prueba se somete a un gran volumen de datos y, en consecuencia, se comprueba y verifica el comportamiento de un sistema.
  • Prueba de carga o estabilidad : (ya discutido anteriormente)

Algunas de las herramientas para las pruebas de rendimiento son las siguientes:

  • WebLOAD
  • LoadRunner
  • Apache JMeter
  • NeoLoad
  • CloudTest
  • Tormenta de carga
  • LoadUI
  • WAPT
  • LoadImpact
  • Cargador
  • Httperf
  • OpenSTA
  • Probador de rendimiento
  • Probando en cualquier lugar

Conclusión:

La prueba de estabilidad es un proceso no funcional de probar el comportamiento de la aplicación aplicando una carga máxima. Se realiza para conocer la escalabilidad del sistema en un entorno determinado.

Este artículo es una contribución de Vaibhav Chitransh.

Articulos interesantes...