¿Qué es la prueba de remojo? Definición, significado, ejemplos

Prueba de remojo

Prueba de remojo Es un tipo de prueba no funcional que se utiliza para medir el rendimiento de una aplicación de software bajo un gran volumen de carga durante un período prolongado. El objetivo de las pruebas de Soak es garantizar si la aplicación de software soporta un gran volumen de uso y comprobar qué sucedería fuera de sus expectativas de diseño.

La siguiente imagen muestra un ciclo de prueba que muestra en qué etapa se realiza la prueba de remojo (Tipo de prueba de desempeño) se realiza en una aplicación.

Prueba de remojo

En este tipo de pruebas, lo que básicamente se monitorea es la utilización de la memoria por parte de una aplicación en un sistema. Se trata de realizar pruebas a nivel del sistema para determinar si el sistema resistirá un volumen muy alto de uso y para ver qué sucedería fuera de sus expectativas de diseño.

¿Por qué realizar pruebas de remojo?

Un sistema puede comportarse normalmente cuando se usa durante 2 horas, pero cuando el mismo sistema se usa continuamente durante 10 horas o más, puede fallar o comportarse de manera anormal/aleatoria/puede fallar. Para predecir dicha falla, se realiza la prueba de remojo.

¿Cuándo realizar la prueba de remojo?

La prueba de remojo debe realizarse en los siguientes escenarios: –

  1. Antes de implementar la compilación en el cliente, es decir, antes del lanzamiento de cualquier aplicación en una plataforma específica, debe pasar por una serie exitosa de pruebas de carga en niveles de tráfico altos o equivalentes. Después se realiza la prueba de remojo. Nos ayuda a determinar cómo ejecutar cualquier aplicación en particular durante un período prolongado. Si se encuentran problemas como pérdidas o corrupción de memoria durante el período, es decir, cuando está en remojo, se debe informar de inmediato.
  2. El mejor momento para realizar una prueba de remojo es durante los fines de semana, ya que una aplicación debe estar en ejecución durante más de un día o una noche. Depende totalmente de las limitaciones de la situación de prueba. Las pruebas de inmersión son uno de los requisitos de cumplimiento más importantes que todas las empresas deben seguir estrictamente.

Estrategia de prueba de remojo

La prueba de remojo de sesión prolongada es una estrategia en la que un sistema está bajo carga durante más tiempo.

Un ejemplo sencillo es cuando el usuario permanece conectado a un sistema durante muchas horas ejecutando una serie de transacciones comerciales. De esta manera, se crean una gran cantidad de datos. Puede haber mucha carga en el sistema/servidor de base de datos, lo que puede provocar que el sistema/servidor de base de datos se bloquee o falle.

En la prueba de inmersión de sesión larga, se realizan actividades de varios días (por ejemplo, 30 días) en un período de tiempo restringido (por ejemplo, 2 días). El número de transacciones en este período restringido debería igualar o superar el valor de transacciones de varios días. La atención debe centrarse en la cantidad de transacciones procesadas. La parte más importante de la prueba de remojo es verificar la memoria disponible en la CPU y la cantidad de memoria que estará en uso. Necesitamos registrar el uso de la memoria al inicio y al final de una prueba de remojo. Si es necesario, entonces el uso de memoria de instalaciones como Java Las máquinas virtuales también son importantes y deben ser monitoreadas.

A continuación se muestran algunas comprobaciones más que cualquier usuario/probador debe realizar antes de comenzar con la prueba de remojo:

a) Monitorear el consumo de recursos de la base de datos.

b) Monitorear el consumo de recursos del servidor (excluyendo el uso de CPU).

c) La prueba de inmersión debe ejecutarse con una concurrencia de usuarios realista.

Características de la prueba de remojo

Un método de prueba de remojo estándar debe tener las siguientes características: –

  • La duración de la mayoría de las pruebas de remojo suele estar determinada por el tiempo disponible.
  • Cualquier aplicación debe ejecutarse sin interrupción si requiere un período de tiempo prolongado.
  • Debe cubrir todos los escenarios acordados por las partes interesadas.
  • Casi todos los sistemas tienen un período de tiempo de mantenimiento regular y el tiempo entre dichos períodos es un factor clave para determinar el alcance de una prueba de mantenimiento.

EJEMPLOS de pruebas de remojo

  • En el caso del dominio bancario, cuando hay una gran cantidad de datos de los comerciantes, el probador pondrá el sistema bajo carga continuamente durante 70 a 150 horas para verificar cómo se comporta la aplicación durante este período de carga.
  • Supongamos que hay 33,000 inicios de sesión, que deben pasar por el sistema, lo que representa siete días y medio de actividad. En este caso, se puede iniciar una prueba de remojo de 60 a 70 horas el viernes por la tarde, alrededor de las 6 p. m., que se puede completar Monday mañana a las 6 am. Sólo con una prueba de este tipo será posible observar cualquier degradación del rendimiento en condiciones controladas.
  • En el caso de los Videojuegos, Móvil aplicaciones, etc. implican dejar el juego o la aplicación en estado de ejecución durante un período de tiempo prolongado, en varios modos de operación, como inactivo, pausado en la pantalla de título, etc., para descubrir si una aplicación puede manejar la carga esperada continuamente. .

Problemas comunes observados durante las pruebas de remojo

  1. Asignación de memoria (pérdidas de memoria que eventualmente resultarían en una crisis de memoria o errores de redondeo que se manifiestan solo con el tiempo).
  2. Utilización de recursos de la base de datos (no cerrar los cursores de la base de datos en algunas condiciones, lo que eventualmente provocaría que todo el sistema se detuviera).
  3. También puede conducir a una degradación del rendimiento, es decir, garantizar que el tiempo de respuesta después de un largo período de actividad sostenida sea tan bueno como al comienzo de la prueba.
  4. No cerrar las conexiones entre niveles de un sistema de varios niveles en algunas circunstancias, lo que podría detener algunos o todos los módulos del sistema.
  5. La degradación gradual del tiempo de respuesta de algunas funciones a medida que las estructuras de datos internas se vuelven menos eficientes durante una prueba larga.

Resum

  • In Ingeniería de SoftwareLa prueba de inmersión se realiza para determinar si la aplicación bajo prueba puede soportar la carga continua.
  • Es un tipo de prueba de rendimiento.
  • Ayuda al sistema a determinar si resistirá un volumen de uso muy alto.
  • En este tipo de pruebas lo que básicamente se monitorea es la utilización de memoria por parte de una aplicación en un sistema.
  • Las comprobaciones que debe realizar cualquier usuario/probador antes de comenzar con la prueba de remojo incluyen
  • Monitorear el consumo de recursos de la base de datos.
  • Supervise el consumo de recursos del servidor (excluido el uso de CPU).
  • La prueba de inmersión debe ejecutarse con una simultaneidad realista de usuarios.