Prueba de remojo
Soak Testing 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 de tiempo prolongado. El objetivo de las pruebas de remojo es garantizar si la aplicación de software mantiene un alto 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 rendimiento ) en una aplicación.
En este tipo de pruebas, lo que básicamente se monitorea es la utilización de la memoria por una aplicación en un sistema. Está probando a nivel de sistema, para encontrar si el sistema resistirá un volumen de uso muy alto y para ver qué sucedería fuera de sus expectativas de diseño.
En este tutorial, aprenderá:
- ¿Por qué hacer pruebas de remojo?
- ¿Cuándo realizar la prueba de remojo?
- Estrategia de prueba de remojo
- Características de la prueba de remojo
- EJEMPLOS de pruebas de remojo
- Problemas comunes observados durante la prueba de remojo
¿Por qué hacer 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 tal falla, se realiza una prueba de remojo.
¿Cuándo realizar la prueba de remojo?
La prueba de remojo debe realizarse en los siguientes escenarios: -
- Antes de que la versión construida se implemente 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 a niveles de tráfico altos o equivalentes. Después de eso , se realiza la prueba de remojo . Nos ayuda a determinar cómo ejecutar una aplicación en particular durante un período prolongado. Si se encuentran problemas como pérdidas de memoria / corrupción de memoria durante el período, es decir, cuando está en remojo, entonces se debe informar de inmediato.
- El mejor momento para hacer una prueba de remojo es durante los fines de semana, ya que una aplicación debe estar en estado de ejecución durante un día o una noche. Depende totalmente de las limitaciones de la situación de prueba. Las pruebas de remojo son uno de los requisitos de cumplimiento más importantes que todas las empresas deben seguir de forma muy estricta.
Estrategia de prueba de remojo
La prueba de remojo de sesión larga es una estrategia en la que un sistema está bajo carga durante más tiempo.
Un ejemplo simple es cuando el usuario permanece conectado a un sistema durante muchas horas ejecutando una serie de transacciones comerciales. De esta forma, se crean muchos datos. Puede haber mucha carga en el sistema / servidor de la base de datos que puede resultar en el bloqueo / bloqueo del sistema / servidor de la base de datos.
En la prueba de remojo de sesión larga, las actividades de varios días (digamos 30 días) se realizan en un marco de tiempo restringido (digamos 2 días). El número de transacciones en este período de tiempo restringido debe igualar o superar el valor de transacciones de varios días. La atención debe centrarse en el número de transacciones procesadas. La parte más importante de las pruebas 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, el uso de la memoria de las instalaciones, como las máquinas virtuales Java, también es importante y debe supervisarse.
A continuación, se muestran algunas verificaciones más que cualquier usuario / evaluador debe realizar antes de comenzar con las pruebas de remojo:
a) Monitorear el consumo de recursos de la base de datos.
b) Monitorear el consumo de recursos del servidor (ex uso de CPU).
c) La prueba de remojo debe ejecutarse con simultaneidad 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 ninguna interrupción si requiere un período de tiempo prolongado.
- Debe cubrir todos los escenarios acordados por las partes interesadas.
- La mayoría de los sistemas tienen un período de tiempo de ventana de mantenimiento regular y el tiempo entre dichos períodos de ventana es un factor clave para determinar el alcance de una prueba de remojo.
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 horas 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, 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 noche alrededor de las 6 pm, que se puede completar el lunes por la mañana a las 6 am. Solo con una prueba de este tipo, será posible observar cualquier degradación del rendimiento en las condiciones controladas.
- En el caso de los videojuegos, las aplicaciones móviles, etc., implican dejar el juego o la aplicación en un estado de ejecución durante un período de tiempo prolongado, en varios modos de funcionamiento, como inactivo, pausado en la pantalla de título, etc. para averiguar si una aplicación puede manejar la carga esperada continuamente.
Problemas comunes observados durante la prueba de remojo
- 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).
- Utilización de recursos de la base de datos (no cerrar los cursores de la base de datos en algunas condiciones que eventualmente resultarían en el bloqueo de todo el sistema).
- También puede provocar 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.
- No cerrar las conexiones entre los niveles de un sistema de varios niveles en algunas circunstancias, lo que podría bloquear algunos o todos los módulos del sistema.
- 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.
Resumen
- En Ingeniería de Software, las pruebas de remojo se realizan para determinar si la aplicación bajo prueba puede soportar la carga continua.
- Es un tipo de prueba de desempeño.
- 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 la memoria por una aplicación en un sistema.
- Las comprobaciones que debe realizar cualquier usuario / evaluador antes de comenzar con las pruebas de remojo incluyen
- Supervisar el consumo de recursos de la base de datos.
- Supervise el consumo de recursos del servidor (ex uso de CPU).
- La prueba de remojo debe ejecutarse con simultaneidad de usuario realista.
Este artículo es una contribución de Pallavi De