LoadUI: pruebas de rendimiento de servicios web.
0. Índice de contenidos.
- 1. Introducción.
- 2. Entorno.
- 3. Instalación.
- 4. Ejecución de una prueba.
- 5. Referencias.
- 6. Conclusiones.
1. Introducción
Ya hemos analizado en adictos cómo realizar pruebas funcionales de servicios web con soapUI o lo que es lo mismo,
cómo disponer de una batería de tests asociados a las invocaciones de nuestros servicios de negocio en la red.
Para realizar pruebas de carga o pruebas de rendimiento de un servicio web, al igual que de cualquier aplicación web, la herramienta más inmediata que podemos usar es jmeter del cual también hemos hablado en adictos.
LoadUI es una herramienta, con una versión open source, que nace como alternativa a jmeter y que se integra de forma nativa con soapUI, con lo que se hace extremadamente sencillo realizar una prueba de carga de una prueba funcional que previamente tuviéramos grabada con soapUI, sin necesidad de volver a grabarla.
Además, la interfaz es bastante amigable, está hecha con JavaFX y permite añadir componentes a la prueba en caliente.
Al igual que jmeter permite distribuir la carga entre distintos agentes o máquinas para evitar url spoofing, aunque eso será objeto de otro tutorial.
2. Entorno.
El tutorial está escrito usando el siguiente entorno:
- Hardware: Portátil MacBook Pro 15′ (2.4 GHz Intel Core i7, 8GB DDR3 SDRAM).
- Sistema Operativo: Mac OS X Lion 10.7.4
- soapUI 4.5.0
- loadUI 2.1.1
3. Instalación.
La última versión estable de LoadUI es la 2.1.1 y cuenta con clientes para Windows, Linux y Mac OS X, que pueden descargarse desde su sitio web: http://www.loadui.org/
Existe una versión PRO, pero para descargar la versión open source basta con acceder a la primera opción de menú de descargas.
Una vez descargado ejecutamos el instalador y despúes de darnos la bienvenida procederá a realizar la copia de ficheros al path de destino:
Hasta aquí sencillo, y ahora se debería mostrar la página de confirmación.
Tras pulsar sobre finalizar sino lo tenemos instalado ya en nuestro equipo, nos invitará a instalar una versión de JavaFX.
La instalación también es sencilla y, tras concluir, podremos comenzar la usar la suite.
4. Ejecución de una prueba.
En la primera ejecución del programa se mostrará un wizard que nos permitirá trabajar con un proyecto soapUI, pulsamos sobre «Create soapUI loadTest»:
Seleccionamos el xml de soapUI en el que previamente hemos guardado nuestras pruebas y le damos un nombre al proyecto:
Se mostrará una interfaz como la que sigue:
en la que se ven dos componentes básicos:
- Fixed rate: en el que se configuran los parámetros de ratio, ¿cuántos hilos se ejecutarán y cada cuanto tiempo?
- Runner: que permitirá visualizar el resultado en tiempo real de la prueba.
En la parte inferior del Runner hay tres conectores que permiten enganchar a su vez a componentes de salida los resultados ok, ko y las trazas en tiempo real.
Un ejemplo de Runner con resultados podría ser el siguiente:
En la parte superior de la interfaz se muestran los parámetros de ratio de la prueba y los botones para ejecutarla, resetearla y establecer los limites de la misma.
Pulsando sobre el botón de limit mostrará una ventana como la siguiente, en la que podemos configurar un limite de carga de hilos o de tiempo de ejecución.
Aún lo anterior y en función de la planificación de carga que tengamos pensado establecer, debemos saber que loadUI viene
configurado con un límite de threads que podemos modificar accediendo a los parámetros generales del proyecto soap runner > menu > settings > advanced.
Como resultado de las pruebas, además de la información del runner y la posibilidad de añadir componentes de output en modo tabla, también disponemos de componentes de estadísticas que muestran una información como la siguiente:
Podemos configurar distintos parámetros para generar estadísticas e, incluso, realizar una comparativa entre la ejecución de una y otra.
5. Integración desde soapUI.
También tenemos la posibilidad de crear un proyecto loadUI desde el propio soapUI, para ello, desde el testcase y pulsando sobre el botón derecho se mostrará la opción de «Run with loadUI»:
Para que la integración funcione debemos configurar correctamente el path del ejecutable de loadUI.
6. Referencias.
7. Conclusiones.
Es una herramienta interesante como alternativa a jmeter, sobre todo si ya estamos usando soapUI.
Un saludo.
Jose