PRUEBAS DE CARGA Y ESTRÉS

¿Qué es y para qué sirve una prueba de carga?

Las pruebas de carga son proyectos que permiten detectar problemas de rendimiento en las aplicaciones, evaluar si satisfacen las necesidades del cliente antes de su publicación, y determinar las respuestas de la aplicación a diferentes niveles de uso una vez publicada.

Una prueba de carga simula el acceso de varios usuarios al mismo tiempo, siguiendo el patrón de prueba de que hayamos creado.

¿Herramientas para realizar pruebas de carga?

  • Visual Studio Ultimate.
  • Visual Studio Premium.
  • Visual Studio Test Professional.

Entorno y arquitectura

El entorno de las pruebas de carga debe estar preparado para simular el acceso de muchos usuarios. Para ello es necesario disponer de un equipo de prueba de carga.

Un equipo de prueba de carga es una máquina que actúa como controlador de prueba, y una o más máquinas que actúan como  agentes de prueba.

El entorno ideal para este tipo de pruebas es:

  • Una máquina con Visual Studio como cliente que solicita el lanzamiento de una prueba y muestra los resultados.
  • Un controlador que sirve para orquestar la ejecución de las pruebas y recolectar los datos.
  • Una serie de agentes cuya misión es simular el escenario, ejecutar las pruebas.

Para tener este entorno se pueden crear máquinas virtuales en Azure, o disponer de estas máquinas físicamente e instalar el software de “Visual Studio Test Agent” o “Test Controller” según corresponda.

También se pueden crear pruebas de carga basadas en la nube para proporcionar máquinas virtuales que generan la carga de múltiples usuarios que acceden al sitio web al mismo tiempo.

Para ello es necesario disponer de una cuenta de “Visual Studio Team Services”

La arquitectura de los test de carga es por tanto de multiprocesador, lo cual, permite que la máquina en la que los usuarios virtuales se instalan, utilice más de un procesador.

La arquitectura de simulación de carga está compuesta por:

– Un cliente de Visual Studio: con el que se desarrollan las pruebas, se ejecutan y se ven los resultados.

– Un controlador de pruebas: con el que se administran los agentes de prueba y recopilan los resultados de las pruebas.

– Agentes de prueba: con los que se ejecutan las pruebas y se recopilan  datos, que incluyen información del sistema y datos de generación de perfiles de ASP.NET definidos en la configuración de pruebas.

Aunque un controlador de pruebas normalmente administra varios agentes de prueba, un agente solo puede estar asociado a un único controlador.

Se puede aumentar el número de cargas si distintos equipos de desarrollo comparten los agentes de prueba, es decir, a mayor ataque, mayor obtención de resultados para el test.

Patrones de carga

Existen tres patrones de carga que se ajustan a los requerimientos de la prueba:

  • Constante. El patrón de carga constante se utiliza para especificar una carga de usuarios que no cambia durante la prueba de carga. Por ejemplo, cuando se ejecuta una prueba de humo en una aplicación web, es posible que desee establecer una carga ligera, constante de 10 usuarios. No es recomendable tener un modelo de carga constante con un número alto de usuarios.
  • Pasos. El patrón de carga por pasos se utiliza para especificar una carga de usuarios que aumenta gradualmente hasta una carga máxima definida por el usuario. Para intensificar la carga, se especifica la cantidad inicial de usuarios, el número máximo de usuarios, duración (en segundos) de la prueba.
  • Basado en objetivos. El patrón de carga basado en objetivos se es similar al patrón de paso, pero se ajusta a la carga de usuarios basado en contadores de rendimiento realizando ajustes periódicos de carga de usuarios.

¿Carga local o remota?

“Visual Studio Ultimate” permite utilizar un número ilimitado de usuarios virtuales en una ejecución de prueba de carga local y remota.

Sin embargo, si el objetivo es simular una prueba de estrés, al ejecutar pruebas de carga desde una máquina local o de desarrollo, es posible que no se genere el tráfico necesario para ver realmente cómo responde la aplicación.

En un próximo artículo continuaré hablando en torno a Proyecto de prueba de Carga, Configuración de las pruebas de carga y ejecución de los test de pruebas.

Mª Teresa Estévez Rama

Business Analyst | Soluciones Microsoft | SOGETI España

 

2 thoughts

  1. Gracias por tu aporte, aunque desde mi perspectiva éste se oriente mas a un contexto académico, básicamente
    Necesito hacer pruebas por donde empiezo ??

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s