stability testing software testing
Las pruebas de estabilidad forman parte de las pruebas de rendimiento. Este tutorial explica los objetivos, la importancia y la necesidad de las pruebas de estabilidad con ejemplos:
Las pruebas de estabilidad son pruebas 'no funcionales'. Aquí el equipo no prueba las características y la funcionalidad básica del sitio; pero prueba las características del producto de software como 'robustez', 'manejo de errores', 'confiabilidad' y estabilidad del producto '.
Consideremos a una persona que compra un producto nuevo en el mercado ( Por ejemplo, un celular). El comprador esperará que el producto funcione de manera uniforme durante mucho tiempo, sin fallas. De manera similar, los usuarios del sitio web y la aplicación móvil esperarán que el sitio web o las aplicaciones móviles correspondientes funcionen con alta confiabilidad y estabilidad.
Ahora, tomemos el caso de los usuarios que intentan comprar productos básicos en los portales de comercio electrónico. Si una gran cantidad de usuarios usa el mismo portal al mismo tiempo, las posibilidades de degradación del rendimiento del sitio web son altas. Los usuarios también pueden experimentar un tiempo de respuesta lento o incluso una pérdida de memoria durante la sesión.
Estos problemas generan amenazas tanto para los desarrolladores como para las partes interesadas. Es responsabilidad del equipo de pruebas encontrar esos problemas e informar al equipo de desarrollo antes de que llegue a los usuarios finales. Este tipo de prueba se someterá a pruebas de rendimiento. Las pruebas de estabilidad forman parte de las pruebas de rendimiento.
Lo que vas a aprender:
- Descripción general de las pruebas de estabilidad
- Conclusión
Descripción general de las pruebas de estabilidad
Como se mencionó anteriormente, las pruebas de estabilidad también se definen como pruebas 'no funcionales'. Aquí, los equipos de prueba verifican la solidez, el manejo de errores, la confiabilidad y la estabilidad del producto.
Esta prueba también se denomina 'Prueba de resistencia' o 'Prueba de remojo'. También se conoce como 'Prueba de carga extrema'.
En este tipo de prueba, los evaluadores comprobarán cómo responde el portal en línea cuando muchos usuarios activos utilizan el sitio web al mismo tiempo. Los evaluadores también deben verificar la respuesta del sistema en dicho entorno.
En muchas ocasiones, los sitios web deben funcionar de forma continua durante semanas (incluso meses) sin la oportunidad de reiniciar el servidor. Los usuarios activos de dichos sitios web (usuarios que utilizan el sitio web actualmente) pueden ser tremendos y cada usuario esperará un rendimiento perfecto.
El papel de los evaluadores es brindar confianza a los desarrolladores y garantizar a los usuarios finales que pueden usar un sistema con sangría, sin fallas ni pérdidas de memoria, incluso con mucho tráfico. Para ello, la aplicación se somete a una carga máxima (hasta el punto de interrupción de la aplicación) y se comprueba el comportamiento del sistema en tales condiciones.
Esta prueba generalmente se realiza antes del lanzamiento del software. Los probadores deben asegurarse de que la aplicación sea capaz de manejar la carga anticipada en el sitio web. A veces, el sistema puede fallar debido a una carga pesada o puede volverse lento o incluso mostrar comportamientos inesperados.
La estabilidad del software depende en gran medida del rendimiento perfecto del sistema en las condiciones estresantes mencionadas anteriormente. Entonces, las pruebas de estabilidad juegan un papel muy importante.
Objetivos de las pruebas de estabilidad
Los objetivos se enumeran a continuación:
- Para encontrar la durabilidad del sistema.
- Encuentre la estabilidad de la aplicación y por lo tanto aumente la confianza del desarrollador.
- Encuentre el defecto en el sistema en un entorno estresante.
- Evaluación global y eficacia del producto.
- Para asegurarse de que el sistema pueda manejar un programa grande.
- Para probar el tiempo de respuesta de una aplicación.
- Para verificar la conectividad de la base de datos.
Datos sobre las pruebas de estabilidad
A continuación se enumeran algunos datos útiles:
- Las pruebas de estabilidad exigen un entorno de prueba adecuado.
- Para obtener mejores resultados, las pruebas de estabilidad necesitan un enfoque estructurado y bien planificado.
- Es un proceso que requiere mucho tiempo. El tiempo necesario para el proceso de prueba puede variar según los requisitos del cliente, el tipo de producto y las políticas de la empresa.
- El aislamiento del sistema es importante en esta forma de prueba. Al realizar las pruebas de estabilidad de la aplicación, existe la posibilidad de que los datos se pierdan o se corrompan permanentemente.
- Las pruebas de resistencia pueden causar fallas en los componentes de la aplicación, por lo que los usuarios finales pueden observar excepciones no controladas.
Diferencia entre estabilidad y confiabilidad en el sistema de software
Existe una diferencia sustancial entre confiabilidad y estabilidad en una aplicación de software. Esto se puede explicar con la ayuda de un ejemplo.
Ejemplo:
Considere que un usuario instaló una nueva aplicación en su teléfono móvil y la lanzó. Si la aplicación instalada falla después de cada 3 minutos de uso, ciertamente molestará al usuario. Pero si el usuario puede restaurar los datos sin ninguna pérdida después de reiniciar la aplicación, la aplicación no perderá su confiabilidad. Una aplicación de este tipo puede considerarse fiable pero no estable.
soporte técnico entrevista preguntas y respuestas pdf
Por otro lado, considere el escenario en el que los datos de la aplicación no se guardan correctamente. Aquí, la aplicación funciona bien y no se bloquea (como cada 3 minutos). Una aplicación de este tipo puede considerarse fiable o no, pero puede considerarse 'estable'.
La fiabilidad y la estabilidad son como las dos caras de la misma moneda. Por lo tanto, recuerde el hecho de que tanto la confiabilidad como la estabilidad son importantes para un producto desde una perspectiva comercial.
Ejemplos de pruebas de estabilidad:
Es un enfoque común que, cuando un usuario compra un nuevo teléfono móvil, realiza una prueba de estabilidad a sabiendas o sin saberlo. El usuario guardará muchas imágenes, fotos, videos, documentos, etc.en la memoria del dispositivo y comprobará si demasiados datos almacenados han afectado el rendimiento del dispositivo o no. Este es un ejemplo particular de prueba de estabilidad.
Debido a la gran cantidad de datos almacenados, nuestro dispositivo puede colgarse a veces, luego el usuario debe eliminar algunos datos o borrar archivos temporales para que el dispositivo recupere el rendimiento. Después de esta prueba, el usuario tendrá una idea clara sobre la capacidad del sistema.
Otro ejemplo en tiempo real son los portales de compra online. Durante la temporada de 'rebajas / festivales', muchas personas compran productos de este tipo de portales web. El rendimiento de un sitio web debe satisfacer las expectativas del usuario.
Por lo tanto, los evaluadores deben probar el sitio teniendo en cuenta la 'prisa' esperada que probablemente ocurra en estos sitios durante esos días.
Prueba de estabilidad de una conexión a Internet
Aquí, el caso de prueba será verificar qué tan estable es nuestra conexión a Internet. Al establecer una conexión a través de Internet y solicitar páginas web, debido a la pérdida de paquetes, los usuarios tienen que sufrir una latencia inconsistente al ver las páginas web.
A veces, la pérdida de paquetes se produce cuando no llegan al destino. Debido a la pérdida de paquetes, muchos de nosotros podemos habernos encontrado con problemas similares mientras usamos videollamadas de Skype, jugamos juegos en Internet o nos desconectamos aleatoriamente de Internet.
Requisitos previos para probar la conectividad a Internet:
- Para probar la estabilidad de Internet, necesitamos tener un navegador web en el que el firewall esté desactivado.
- Elija una dirección web ( Por ejemplo, https://www.google.com/ ) que es poco probable que falle.
- Utilice Google Spreadsheet o Microsoft Excel para registrar el resultado, ya que es fácil de entender y más legible para los usuarios.
- Vuelva a verificar la conectividad a Internet, los dispositivos y vuelva a verificar las conexiones. Luego realizaremos las pruebas mencionadas a continuación.
Métodos utilizados para probar la conectividad a Internet:
La mejor forma de probar la conectividad es visitar Prueba de velocidad . (antes de seguir leyendo, visite el sitio). En SpeedTest.net tenemos una disposición para elegir servidores. Elija y ejecute el servidor que está cerca de usted.
Después de eso, el sitio realizará algunos cálculos basados en algunos algoritmos predefinidos y mostrará el informe que determina la calidad de nuestra conexión a Internet de inmediato. En el informe, se incluye el porcentaje de pérdida de paquetes. Debe ser '0%'.
La pérdida de paquetes '0%' determina la alta estabilidad de la conexión. Cualquier número mayor que '0' indica que la conectividad es inestable.
La segunda forma es usar el indicador 'cmd' y escribir el comando 'ping' (consulte la figura siguiente). Aquí, usando el símbolo del sistema, podemos probar la estabilidad y la latencia de Internet también en tiempo real.
En la figura, consulte la sección 'Estadísticas de ping'.
Aquí,
Número de paquetes enviados = 4
Número de paquetes recibidos = 4
Número de paquetes perdidos = 0
El resultado muestra que la conexión es muy estable.
Proceso utilizado:
Paso 1: Los evaluadores elegirán cualquiera de los dos métodos explicados anteriormente.
Paso 2: Los probadores ejecutarán el proceso y registrarán la información necesaria que se obtenga como respuesta a la conectividad a Internet, en una hoja de cálculo.
Paso 3: Repetirán el proceso 3 o cuatro veces por semana.
(Dado que las pruebas de estabilidad se realizan durante un período de tiempo, los evaluadores deberán programar el proceso al menos más de dos veces por semana).
Paso 4: Los resultados se registran en hojas de cálculo.
Los evaluadores deben anotar la fecha de ejecución del proceso. Compare el resultado obtenido en cada fecha para hacerse una idea de la estabilidad de nuestra red actual.
Nota: Breakpoint es el estado del sistema en el que el sistema colapsará cuando se le dé una carga adicional. Define la capacidad del sistema.
El documento de especificaciones es un documento entregado a los probadores por el líder del equipo y contendrá detalles sobre la carga anticipada en el sistema. En las pruebas de estabilidad, los probadores verificarán el punto de interrupción del sistema según las pautas que se les proporcionaron en el documento de especificaciones.
El equipo de pruebas comprobará el sistema probando la aplicación con la carga por encima o por debajo del punto de interrupción especificado en el documento de especificaciones. Esto es diferente al caso de las pruebas de carga.
preguntas de la entrevista del servidor sql para profesionales experimentados
En las pruebas de estabilidad, usaremos solo la carga esperada para las pruebas, pero en las pruebas de carga, se le da una carga inesperada a la aplicación y los probadores verifican la capacidad de la aplicación.
Ciclo de vida de las pruebas de software basado en pruebas de estabilidad
Las diferentes fases del Ciclo de vida de las pruebas de software están alistados a continuación:
- Análisis de requisitos
- Plan de prueba
- Desarrollo de casos de prueba
- Configuración del entorno de prueba
- Ejecución de casos de prueba
- Prueba de cierre
Entendamos todas las fases anteriores en detalle.
# 1) Análisis de requisitos
En esta fase, el equipo de pruebas decidirá los diferentes tipos de pruebas que se realizarán en la aplicación. Depende puramente de los requisitos del cliente y del tipo de aplicación. Por ejemplo, los evaluadores están probando una aplicación bancaria, luego la prueba más prioritaria, en este caso, es la prueba de seguridad. Si los probadores están probando una aplicación inmobiliaria, darán prioridad a las pruebas funcionales.
# 2) Planificación de pruebas
En esta fase, se discuten los alcances de las pruebas. Los probadores discutirán la necesidad de automatización. Para las pruebas de estabilidad, los procesos de prueba son tediosos y deben repetirse muchas veces durante un período determinado, la automatización será una buena opción. 'LoadStrom' es una buena herramienta para realizar pruebas de estabilidad mediante la automatización.
preguntas y respuestas de la entrevista de dot net
En esta fase, discutiremos el presupuesto y el límite de tiempo para las pruebas con el cliente. Dado que la prueba requiere mucho tiempo, el presupuesto y el límite de tiempo deben cumplir con el plan de prueba.
# 3) Desarrollo de casos de prueba
En esta fase se crea un caso de prueba para probar la aplicación.
# 4) Entorno de prueba
El entorno de prueba es un factor vital para probar la estabilidad. Necesitamos un entorno de prueba adecuado que sea la réplica de nuestro entorno de producción. El entorno original no debe usarse porque durante la prueba, el sitio a veces puede fallar o incluso perder datos.
# 5) Ejecución de prueba
En esta fase, se ejecutan los casos de prueba y se verifican los resultados de la prueba. Ésta es una fase que requiere mucho tiempo. Los problemas generales que enfrentan los probadores en esta fase son pérdida de memoria, problemas con la conectividad de datos, tiempo de respuesta lento, etc.
# 6) Prueba de cierre
En esta fase, todos los miembros del equipo se reunirán y discutirán los criterios de salida utilizados en el proyecto. Los criterios de salida dependen de factores como la cantidad de defectos encontrados y el tiempo empleado en las pruebas.
Herramientas utilizadas en pruebas de estabilidad
Se utilizan las siguientes herramientas:
- LoadRunner
- OpenSTA
- LoadUI
- WebLOAD
- LoadComplete
- Aplicación
- LoadUI
- Probador de rendimiento racional
¿Cómo utilizar Apache JMeter para pruebas de resistencia?
Apache JMeter es una buena herramienta para las pruebas de resistencia. Antes de comenzar las pruebas, los evaluadores deben tener un buen conocimiento sobre los objetivos comerciales. Después de eso, los evaluadores crearán scripts de prueba. Luego configuraremos la configuración del grupo de subprocesos en JMeter.
Al realizar pruebas de resistencia con JMeter, debemos especificar los siguientes factores:
- El número de hilos: Esto indica el número esperado de usuarios en el sitio.
- Período de despliegue: Esto indica el tiempo que tarda cada hilo en completarse. Si tenemos 5 hilos, el período de aceleración es de 50 segundos.
- Número de bucles: Esto indica el número de veces que se repite el proceso. Para las pruebas de resistencia, está configurado para siempre.
- Programador: En esta prueba, usaremos la funcionalidad del programador. Necesitamos especificar la configuración del programador de acuerdo con el requisito.
Conclusión
Muchas aplicaciones están diseñadas incorrectamente y no liberan la memoria del dispositivo después de su uso. Esto conducirá gradualmente a la pérdida de memoria. Podemos superar el problema con pruebas de estabilidad. Entonces, las pruebas de estabilidad son muy importantes. Es una prueba no funcional. Solo se ocupa de las características de la aplicación. Aquí, las pruebas no se tratan del comportamiento del sistema.
Espero que haya entendido la importancia y la necesidad de las pruebas de estabilidad.
Lectura recomendada
- Trabajo de asistente de control de calidad de pruebas de software
- Curso de pruebas de software: ¿A qué instituto de pruebas de software debo unirme?
- Prueba de software Escritor de contenido técnico Trabajo autónomo
- Elegir las pruebas de software como carrera
- Consejos sobre pruebas de software para probadores novatos
- Comentarios y revisiones del curso de pruebas de software
- ¿Cómo mantener viva la motivación en los probadores de software?
- ¿Qué es Monkey Testing en las pruebas de software?