Dentro
de las pruebas no funcionales, podemos encontrar un determinado tipo de
pruebas muy importantes en el día de hoy, las pruebas de stress. Estas
pruebas tratan de medir la capacidad de una aplicación a situaciones
"complicadas" para medir su respuesta y poder llevar a cabo los cambios
que acordemos para que esa respuesta sea mejor.
Las pruebas de stress se suelen hacer para cubrir los siguientes puntos:
- Ajustar
configuraciones de hardware y/o arquitectura. Por ejemplo, permite
decidir si el servidor actual es correcto o hay que ampliarle ya que no
cubre un determinado abanico de picos de acceso por usuario o similar. - Conocer
los límites de la aplicación. De esta manera sabemos que si hay un pico
de entrada o de uso excesivo, tenemos que elevar la disponibilidad y
así ahorrar costes, pudiendo tener una disponibilidad menor en otros
momentos. - Uno
de los puntos más importantes, es poder reducir riesgos de caidas de
sistema y que el usuario no pueda utilizar el servicio que le queremos
aportar. - También
nos servirá como identificación de cuellos de botella en alguna sección
y por lo tanto tendremos que refactorizar o cambiar lo necesario.
Cualquier
fallo en algún punto de los descritos más arriba suele tener un coste
bastante importante en cualquier aplicación, tanto a nivel de
credibilidad como a nivel monetario, por ello, este tipo de pruebas son
muy importantes.
Lo
primero que tenemos que hacer cuando vamos a comenzar con este tipo de
pruebas es saber exactamente que es lo que nos interesa medir y crear un
buen escenario de pruebas, el tiempo es oro y no podemos
desaprovecharlo.
Algunos puntos a medir con las pruebas de stress son los siguientes:
- El tiempo de respuesta de la aplicación.
- El número de transacciones realizadas en un periodo de tiempo que quisieramos gestionar.
- La cantidad de memoria consumida en el servidor físico o virtual en un momento determinado.
- La cantidad de peticiones que se hacen a memoria o a disco y donde se realizan.
- Número de solicitudes de alguna acción determinada (login, descarga, datos...).
Existen herramientas muy interesantes para realizar pruebas de stress. Os voy a proponer Comerciales y OpenSource.
- JMeter:
Es una herramienta desarrollada por Apache que se utiliza para realizar
pruebas de carga, analizando y midiendo el desempeño de aplicaciones
web, entre muchas otras. Se puede parametrizar completamente y las
pruebas que se realizan son muy completas. Se puede descargar desde la web oficial.
- LoadUI:
Era una herramienta Opensource, que ahora necesita licencia. Es una
extensión de SoapUI y permite añadir plugins de desarrolladores de
terceros. Es bastante completa y además podemos tener la Suite de
pruebas SoapUI para realizar más tipos de pruebas. Se puede descargar
desde aquí.
- LoadRunner:
La herramienta estrella de HP, totalmente integrable con su Suite HP
ALM y HP Quality Center. Permite simular miles de usuarios al mismo
tiempo, la actividad que puede realizar, generar mensajes entre
componentes de la aplicación o simular la iteración con la interfaz
(pulsaciones o movimientos de ratón). Se pueden exportar scripts que
después pueden personalizarse. Si queréis más información tenéis en HP todo lo que necesitáis.
Esto
es una primera aproximación a los que son las pruebas de Stress, su
utilización y algunas de las herramientas que se pueden utilizar para
llevarlas a cabo. Como os digo, las pruebas de stress son muy
importantes para saber los puntos débiles de las aplicaciones y cuando o
donde debemos de poner el foco para que los usuarios tengan una
garantía de poder utilizar las aplicación en todo momento, tanto crítico
como no.
0 Comentarios