Ir al contenido principal

Pruebas de estrés o carga a Servicios Web SOAP con SOAP UI


Hoy vamos a realizar un pequeño tutorial para crear pruebas de carga o de estrés como en algunas paginas del inmenso internet podemos encontrar, pero primero quiero que tratemos de establecer una definición de este tipo de pruebas.


Pruebas de carga o rendimiento



En la ingeniería del software, las pruebas de rendimiento son las pruebas que se realizan, desde una perspectiva, para determinar lo rápido que realiza una tarea un sistema en condiciones particulares de trabajo. También puede servir para validar y verificar otros atributos de la calidad del sistema, tales como la escalabilidad, fiabilidad y uso de los recursos. Las pruebas de rendimiento son un subconjunto de la ingeniería de pruebas, una práctica informática que se esfuerza por mejorar el rendimiento, englobándose en el diseño y la arquitectura de un sistema, antes incluso del esfuerzo inicial de la codificación.

Prueba de estrés



Esta prueba se utiliza normalmente para romper la aplicación. Se va doblando el número de usuarios que se agregan a la aplicación y se ejecuta una prueba de carga hasta que se rompe. Este tipo de prueba se realiza para determinar la solidez de la aplicación en los momentos de carga extrema y ayuda a los administradores para determinar si la aplicación rendirá lo suficiente en caso de que la carga real supere a la carga esperada.

En resumen podemos decir que las pruebas de carga o rendimiento nos ayudan a saber que tan rápido es nuestro software en este caso, nuestros servicios web.

Mientras que las pruebas de estrés son ejecutadas con el principal objetivo de "romper" el software o servicios web que estamos probando.


Es importante que tengamos en consideración esto ultimo antes de causar caos por todos lados de la infraestructura tanto lógica como física de un sistema informático.


SOAP UI

SoapUI


SoapUI es la herramienta de mayor difusión para probar webservices en arquitecturas orientadas a servicios (SOA) y Representational State Transfers (REST).

Aprender a usar una nueva aplicación siempre es un reto, por muy sencilla que esta sea. Es por ello que creo un pequeño tutorial de SoapUI que puedes usar como referencia y facilitarte el aprendizaje.

El proyecto de ejemplo que vamos a crear de SoapUI puedes usarlo como punto de partida, probar un proyecto, correr un una prueba de carga SoapUI y ver los casos de prueba que se generan para que te familiarices con la interfaz de SoapUI.


Requisitos previos al tutorial

Antes de comenzar el tutorial es importante que cuenten ya con la herramienta , en caso de no tenerla instalada, dejo la liga oficial para que se lo descarguen dando clic Aqui.

Como segundo requisito tenemos que contar con un servicio web expuesto que este funcionando, ya sea nuestro o público en internet yo voy a tomar el siguiente:

http://www.webservicex.net/ValidateEmail.asmx?WSDL


Tutorial: pruebas de carga en SOAP UI


Una vez instalada la herramienta SoapUI, la iniciamos y esperamos a que nos muestra una ventana como la siguiente: 






A continuación damos clic en el botón con la etiqueta "SOAP" 



Y nos abrirá una ventana como la siguiente:



Damos un nombre al proyecto y tomamos la URL del Endpoint del servicio que vamos a probar como sigue:



Cuando damos clic en "OK" , la herramienta hace un análisis del URL que le proporcionamos y genera un proyecto para realizar pruebas de invocación al servicio web



Seleccionamos un mensaje request dando clic derecho y escogemos la opción de "Add to TestCase" y damos un nombre a la suite de pruebas y al caso de prueba.




Después veremos una ventana con varias opciones donde las que mas nos importan son la primera y segunda, en la primera opción indicamos que la prueba debe validar que realmente la transmisión debe ser de tipo SOAP y la segunda nos ayuda a verificar que la petición que estamos haciendo al servicio web esta correctamente formada según el contrato o documento XSD que tiene el servicio web.




Al dar clic en "OK" se generara una suit de pruebas con el caso de pruebas , completamente listos para comenzar las pruebas de carga o estrés.


Si hacen una prueba verán como les devuelve un mensaje de respuesta válido. Además de que nos pone en verde las 2 aserciones que especificamos cuando creábamos el caso de prueba.


Ahora daremos clic derecho encima de “Load Test” y seleccionamos “New Load Test” , ponen un nombre y verán lo siguiente:


se deben configurar los parámetros en función de nuestras necesidades.
Si queremos simular varios clientes consumiendo el servicio, vamos a la opción señalada en negro, por defecto aparecen 5 pero ustedes puedan variar ese número a discreción, tengan en cuenta que mientras más hilos más consumo del CPU.

Si queremos especificar una demora entre una petición y otra vamos a la opción señalada en rojo. Tengan en cuenta que es en milisegundos.

Si queremos determinar el tiempo de duración del servicio vamos a la opción señalada en verde y aquí se muestra que solo durará 60 segundos pero pueden cambiarla para especificar la cantidad de peticiones por hilo por ejemplo.

Luego es solo cosa de correr la prueba, como mismo se ejecuta una petición a un servicio y esperar los resultados.




En este caso hice una prueba con los 5 hilos, con una demora de 1000ms y con 60 ejecuciones por hilo. Ustedes varíen a su discreción y revisen sus resultados.


Espero que halla sido de mucha ayuda este pequeño tutorial, hago la aclaración que el contenido a pesar de que yo lo escribi de 0, tome información de un internauta les dejo su link para que también chequen sus post.

http://desarrollosoa.blogspot.mx/

Hasta pronto y nos vemos... en Fa!

Comentarios

Publicar un comentario