what is endurance testing software testing
Introducción a las pruebas de resistencia del software:
En este artículo, analizaremos y exploraremos las pruebas de software Endurance en detalle.
Inicialmente, para empezar, intentemos comprender de qué se tratan exactamente las pruebas de resistencia y luego exploraremos todos los detalles al respecto. Estoy seguro de que este artículo será una guía perfecta para aquellos que son nuevos en el concepto de prueba de resistencia.
Este artículo le brindará una descripción general completa de las pruebas de resistencia, incluido su significado, necesidad, duración, beneficios, desafíos y pasos involucrados junto con ejemplos en términos simples que le permitirán comprender el concepto perfectamente.
Lo que vas a aprender:
- ¿Qué es la prueba de resistencia?
- ¿Por qué realizar pruebas de resistencia?
- Duración de una prueba de resistencia
- Beneficios de las pruebas de resistencia
- Desafíos en las pruebas de resistencia
- Un ejemplo
- Pasos para realizar esta prueba
- Herramientas de prueba de resistencia
- Conclusión
- Lectura recomendada
¿Qué es la prueba de resistencia?
La palabra Resistencia significa 'la capacidad de algo para durar o resistir el desgaste'. Puede llamarlo simplemente como durabilidad, potencia duradera o longevidad.
Cuando se trata del mundo del software, la prueba de resistencia (prueba de remojo o prueba de longevidad o prueba de capacidad) es un tipo de prueba no funcional que se realiza para verificar si el sistema de software puede soportar una gran carga esperada continuada durante un largo período de tiempo.
Es uno del tipo de prueba de rendimiento y un subtipo de prueba de carga.
¿Por qué realizar pruebas de resistencia?
El objetivo principal de realizar esta prueba es identificar posibles fugas de memoria. Entonces, durante esta prueba, la utilización de la memoria se monitorea de cerca. Espero que conozcas el concepto de pérdida de memoria. Aún así, permítanme resumir lo que realmente es una fuga de memoria para aquellos que pueden ser nuevos en este término.
A pérdida de memoria es una falla en un programa de software para liberar memoria descartada, lo que ocasiona un rendimiento deficiente o falla.
las 10 principales empresas de investigación de mercado del mundo
Es posible que una fuga de memoria no tenga un impacto a corto plazo, pero a largo plazo, ralentiza el sistema, lo que no deja memoria libre y, por lo tanto, finalmente conduce a la aplicación o al bloqueo del sistema. La pérdida de memoria es un problema que se hace evidente solo después de un cierto período de tiempo.
Por lo tanto, necesitamos pruebas de resistencia para descubrir estos problemas.
Sin embargo, es posible que con una gran carga significativa, su aplicación funcione bien durante un período, digamos, 1 hora. Pero, cuando se expone a la misma cantidad de carga de forma continua durante un período más largo, por ejemplo, de 3 a 4 horas, su aplicación se bloquea debido a problemas de recursos y espacio en disco insuficiente.
Otro tema importante que las pruebas de software de resistencia deben identificar es la degradación del rendimiento. Es necesario asegurarse de que el rendimiento o los tiempos de respuesta después de un uso prolongado sean equivalentes o mejorados que al comienzo de la prueba.
Los problemas de conexión de la base de datos también se identifican en la prueba de resistencia. Si la conexión de la base de datos no se cierra correctamente, puede provocar un bloqueo del sistema.
La prueba de resistencia también verifica si existe un cierre de conexión adecuado entre las capas del sistema, lo que de otro modo haría que ciertos módulos del sistema se cuelguen.
En pocas palabras, podemos decir que el objetivo de la prueba de resistencia es determinar cómo se comporta el sistema durante un largo período de uso sostenido. Los principales problemas que se identifican como parte de las pruebas de resistencia son pérdidas de memoria, degradación del rendimiento, problemas de conexión de la base de datos, etc.
Duración de una prueba de resistencia
Si se trata de un proyecto de funcionamiento ininterrumpido las 24 horas del día, los 7 días de la semana, lo ideal sería que se realizara una prueba de resistencia durante 72 horas. La razón es que la aplicación debe ser lo suficientemente capaz como para ejecutarse sin supervisión los fines de semana (ya que el soporte de fin de semana es costoso para las organizaciones).
Por lo tanto, debemos probar el sistema expuesto a una carga significativa durante un período ligeramente superior a un fin de semana. Sin embargo, como ejecutar la prueba durante 72 horas puede resultar demasiado engorroso, por lo general, ejecutamos la prueba de resistencia durante 12 horas.
Además, no existe una regla estricta para la duración de una prueba de remojo. Depende principalmente de factores como la participación de los clientes, el uso real de la producción, etc. En ocasiones, las pruebas de resistencia también se realizan durante un año.
Beneficios de las pruebas de resistencia
Los beneficios derivados de esta prueba se enumeran a continuación:
- Asegura la idoneidad de una aplicación.
- Descubre los errores que, de otro modo, no se pueden encontrar con ninguna otra prueba de rendimiento. Por ejemplo , es posible que no encuentre el problema de pérdida de memoria durante las pruebas de volumen o las pruebas de esfuerzo.
- Hace que la aplicación sea robusta: Identifica los problemas de degradación del rendimiento que podrían ocurrir bajo una gran carga continua y luego solucionar esos problemas hace que la aplicación sea más sólida.
- Habla sobre el comportamiento del sistema bajo carga a largo plazo. En otras palabras, comprueba la sostenibilidad del sistema a lo largo del tiempo.
- Los datos de los resultados de la prueba de resistencia se pueden utilizar para que el cliente valide o mejore sus necesidades de infraestructura.
Desafíos en las pruebas de resistencia
Los desafíos involucrados en esta prueba incluyen:
- Es uno que consume mucho tiempo. Por lo tanto, es difícil realizar pruebas de resistencia en un proyecto que tiene plazos muy estrictos.
- No se puede hacer manualmente. Requiere una herramienta de automatización y un experto que tenga el conocimiento de esa herramienta.
- A menudo es difícil determinar cuánta carga vale la pena aplicar.
- Si el entorno de prueba no se aísla correctamente del entorno de producción en vivo, las fallas de la aplicación o de la red en la prueba de resistencia pueden obstaculizar todo el sistema de trabajo y provocar una pérdida o corrupción de datos permanente.
- El cliente observa las excepciones no controladas.
Un ejemplo
Un ejemplo en el que se requieren pruebas de resistencia y se pueden utilizar es la aplicación Bancaria.
En los días de cierre del banco, se prueba la aplicación para saber si el sistema puede soportar una carga esperada continua o una gran cantidad de transacciones durante mucho tiempo.
Este es un ejemplo perfecto de una prueba de resistencia.
Pasos para realizar esta prueba
A continuación se muestra el enfoque para realizar esta prueba:
# 1) Establecer el entorno de prueba:
Esto implica averiguar qué hardware, software, base de datos (junto con su tamaño a medida que crece con la duración de la prueba) y el sistema operativo se requieren para realizar la prueba de resistencia.
También implica la creación de un equipo para realizar las pruebas de resistencia y la asignación de roles y responsabilidades dentro del equipo. El entorno de prueba debe estar listo antes de la ejecución de la prueba y debe aislarse adecuadamente del sistema real en vivo.
# 2) Creación de un plan de prueba y escenarios de prueba:
Los casos de prueba deben diseñarse, revisarse y finalizarse. La estrategia de ejecución de la prueba también debe construirse en este paso.
Se debe determinar el punto de interrupción de la aplicación y se debe determinar cuánta carga se aplicará a la aplicación durante una prueba de resistencia.
# 3) Estimación del ciclo de prueba:
Implica analizar cuál sería la duración de cada fase de prueba y cuántos ciclos de prueba se requieren.
# 4) Análisis de riesgo:
Este es un paso muy importante en esta prueba. Los casos de prueba se priorizan según el factor de riesgo.
A continuación, se mencionan los riesgos y problemas que puede encontrar un evaluador durante la prueba de resistencia:
- ¿La prueba de rendimiento seguirá siendo coherente con el tiempo?
- ¿Hay otras cuestiones menores que aún no se hayan deducido?
- ¿Existe alguna interferencia externa que aún no se haya abordado?
# 5) Programa de prueba:
Determine el presupuesto, los entregables y los plazos.
# 6) Ejecución de la prueba:
Esto implica finalmente iniciar la prueba de resistencia.
# 7) Cierre del ciclo de prueba:
Cierre el ciclo de prueba según los criterios de salida establecidos en la fase de planificación de la prueba. Podría basarse en los defectos encontrados, la duración de la prueba, etc.
Herramientas de prueba de resistencia
Hay múltiples herramientas disponibles en el mercado.
A continuación se enumeran algunas de las herramientas de prueba de resistencia más populares y útiles:
- Apache JMeter
- LoadRunner
- LoadStorm
- LoadUI
- Aplicación
- OpenSTA
- WebLOAD
- Probador de rendimiento racional
Conclusión
En este artículo, hemos aprendido qué son las pruebas de resistencia. ¿Cómo se debe hacer? Sus ventajas y desventajas y las diversas herramientas disponibles.
Algunas de las conclusiones clave son:
- La prueba de resistencia (prueba de remojo o prueba de longevidad o prueba de capacidad) es un tipo de prueba no funcional que se realiza para verificar si el sistema de software puede soportar una enorme carga esperada continuada durante un largo período de tiempo.
- Es un subconjunto de las pruebas de carga.
- Los principales problemas que se identifican como parte de esta prueba son pérdidas de memoria, degradación del rendimiento, problemas de conexión de la base de datos, etc.
- La duración de la prueba de resistencia depende de los requisitos del negocio, el proyecto y el cliente. Puede durar de 5 a 10 horas o algunos días o un mes o, a veces, incluso un año.
- Hace que la aplicación sea más robusta y la prepara para soportar cargas pesadas continuas.
- Dado que lleva mucho tiempo, debe evitarse realizar la prueba de resistencia manualmente. En su mayoría está automatizado.
- Debe comenzar con el establecimiento de un entorno de prueba aislado, luego crear planes de prueba, estimar la duración de los ciclos de prueba, analizar el riesgo, preparar el programa de prueba, ejecutar la prueba de resistencia y finalmente cerrar el ciclo de prueba.
- Algunas de las excelentes herramientas para la prueba de resistencia son Apache Jmeter, LoadStorm, LoadRunner, LoadUI, Appvance, OpenSTA, WebLoad e IBM Rational Performance Tester.
Otras lecturas:
- Las 15 mejores herramientas de prueba de rendimiento de 2018: lista de herramientas de prueba de carga
- Artículo detallado de STH sobre pruebas de rendimiento: con ejemplos
- 4 consejos de prueba de resistencia que necesita saber al realizar esta prueba a través de Apache JMeter
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Trabajo de asistente de control de calidad de pruebas de software
- Pruebas de carga con tutoriales de HP LoadRunner
- Curso de pruebas de software: ¿A qué instituto de pruebas de software debo unirme?
- Elegir las pruebas de software como carrera
- Prueba de software Escritor de contenido técnico Trabajo autónomo
- Algunas preguntas interesantes de la entrevista sobre pruebas de software
- Comentarios y revisiones del curso de pruebas de software