Pruebas de stress

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:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
Siguiente Publicación

Comentarios