Reyes Sánchez García/ mayo 15, 2021/ Gestión de la calidad/ 0 comentarios
Tiempo de lectura: 5 minutos¿Has ejecutado o diseñado alguna vez pruebas de rendimiento? Estas pruebas son frecuentemente olvidadas, tanto por los equipos de desarrollo de software como por los equipos de testing o QA. Si tienes una web pequeña, en general, esto no debe suponerte un problema. Sin embargo si tu web va a tener una gran cantidad de tráfico o picos altos de conexión, podrás tener caídas puntuales. Para evitar esta circunstancia debes planificar correctamente una configuración de rendimiento para tu servidor y tener programado un plan de pruebas adecuado para verificar el correcto funcionamiento.
Índice de contenidos
¿Qué es el Rendimiento de una web?
El rendimiento de una web es el comportamiento que ofrece la web respecto a unas medidas de velocidad, fiabilidad y estabilidad. Para un conjunto de tareas en concreto se medirá la velocidad que tiene una web para realizar una tarea u otra. Además define los límites de la misma, para optimizar los recursos del sistema donde esté alojada esta.
Para validar que la web se comporta como debe, en este sentido, realizamos pruebas de rendimiento. Este conjunto de pruebas está contenido dentro de las pruebas no funcionales.
¿Qué son las pruebas de rendimiento?
Las pruebas de rendimiento son aquel plan de pruebas donde deseamos medir la velocidad, capacidad de respuesta, estabilidad y escalabilidad de una aplicación sobre una determina carga de trabajo. Existen un subconjunto de tipos de pruebas: las de sobrecarga, las de estabilidad, o las de carga, entre otras. Aunque hoy no profundizaremos en ellas, si no te contaré las ventajas que aportan a la calidad del software y la percepción del usuario.
8 beneficios de tus pruebas de rendimiento
Como seguramente sabrás, las pruebas de rendimiento aseguran la calidad de nuestra web en términos de capacidad de respuesta, velocidad, estabilidad, etc. Pero además esto se traduce en otros beneficios que obtendrás y que te ayudarán a tener un cuadro de mando que te permita tomar las decisiones más acertadas.
Puedes localizar los cuellos de botella
Si dispones de distintos tipos de pruebas, por ejemplo variadas pruebas de carga de usuario. Podrás identificar que es lo que lo está acarreando la lentitud del sistema o incluso los bloqueos. Puede ser debido a que el sistema se queda sin memoria o el ancho de la banda no es suficiente. El resultado de estas ejecuciones te dará pistas o quizás identificará directamente los cuellos de botella.
Conocerás la estabilidad de tu aplicación
Realizando el plan de prueba adecuado, podrás garantizar el correcto uso de los recursos por parte de tu software. A veces se configuran unos recursos demasiado altos, y esto eleva los costes. Sin embargo en otras ocasiones, se ajusta demasiado a valores bajo, y eso ocasiona bloqueos o incluso caídas. Con los datos reportados por las pruebas, podrás optimizar los recursos asignados durante un período prolongado.
Sabrás como se comporta el sistema ante picos de afluencia de usuarios
El comportamiento de los usuarios no siempre es estable. Como sabes, puede ser que a las 9:50h no entren usuarios a nuestra web, pero sin embargo a las 10:00h, cuando se publica en un medio relevante una noticia o promoción puede alcanzar picos muy altos. Si realizas y monitorizas pruebas automatizadas que repliquen este comportamiento previamente tendrás el valor añadido de registrar y analizar estos valores, para estudiar como responde tu sistema y crear tu estrategia de contingencia.
Aseguras el cumplimiento de los Acuerdos de Nivel de Servicio
Si dispones del número de usuario que se prevé que accederán de forma continuada y concurrente a una web. Y además, conoces cuáles son los tiempos de respuesta que no se debe sobrepasar el software, puedes definir un caso de pruebas con esas condiciones, por ejemplo. Y si este es pasado de forma satisfactoria, sabes que no se incumplirá ese punto del Acuerdo de SLA. Si es posible, incluye casos para todos esos acuerdos, y si se detecta un KO en las pruebas podrás acometer las correcciones necesarias.
Localización de problemas de rendimiento
Realizarás un plan de pruebas donde se definan y ejecuten caso de pruebas que evaluarán la calidad de los tiempos de respuesta de los distintos subsistemas de nuestro software. En función del resultado de esas ejecuciones, podrás saber si uno de esos subsistemas o la integración entre los mismos presenta tiempos no acordes con lo establecido.
Podrás comparar dos sistemas similares
A veces tendrás que decidir entre dos sistemas que cumplen unas necesidades similares para eliminar duplicidades, y ahorrar en costes. Uno de los puntos que es recomendable tener en cuenta (pero no siempre el más importante) es conocer el sistema que tiene más rendimiento: el que mejor funciona. En un principio ahorrarás quitando la duplicidad, y en además ahorrarás reduciendo la posibilidad de futuros incidentes.
Analizarás el comportamiento de subsistemas de forma individual
Por otro lado, como complemento al punto 5, podrás hacer realizar planes de pruebas (seguramente de regresión) para hacer un seguimiento de un conjunto de subsistemas que sean problemáticos.
Suele ser frecuente realizar estas pruebas de Aislamiento para verificar el correcto comportamiento de software formado por arquitecturas muy complejas, evaluando el comportamiento de las mismas de forma individual.
Identificación de los puntos que limitan tu plataforma
Al realizar planes de pruebas de rendimiento, se debe contemplar un conjunto de pruebas que nos ayuden a forzar el sistema para localizar que puntos que limitan el rendimiento del mismo. En función de los resultados, se puede realizar por un lado acciones correctivas necesarias, y por otra tenemos un indicador que nos avisará de cuando el sistema está próximo de colapsar.
Conclusión: Cuida tu plan de pruebas de rendimiento
Es importante tener un plan de pruebas de rendimiento dentro del plan de pruebas de nuestro sistema. Es más, es necesario tener un plan de pruebas de rendimiento con una buena cobertura que nos permita identificar todos los puntos comentados anteriormente. El mayor beneficio que nos da, es tener claro como se comporta nuestro sistema ante distintas situaciones, para poder adelantarnos y evitar los posibles impactos en la reputación de su calidad. Y al fin y al cabo, la reputación de tu empresa u organización.
Si te ha gustado esta entrada de blog, te animo a que dejes un comentario indicándome que te ha parecido o aportando algún apunte o corrección. También te puedes suscribir al blog, estaré encantada de que te unas a los suscriptores de El mínimo viable.