You are on page 1of 18

Tutorial de SoapUI en espaol - Proyecto de ejemplo

Esta pgina incluye parte del contenido del Curso Online de Testing de WebServices. Mtodos,
tcnicas y herramientas para disear y realizar pruebas de Webservices.. Para mayor informacin
visita la pgina del curso.

SoapUI es la herramienta de mayor difusin para probar webservices en arquitecturas orientadas


a servicios (SOA) y Representational State Transfers (REST).

Aprender a usar una nueva aplicacin siempre es un reto, por muy sencilla que esta sea. Es por
ello que SoapUI viene con un proyecto de ejemplo (Sample Project) incluido, que puedes usar
como referencia y facilitarte el aprendizaje.

El proyecto de ejemplo de SoapUI ilustra los conceptos bsicos y puedes usarlo como punto de
partida, probar un proyecto, correr un SoapUI Mock Service y ver los casos de prueba que incluye
para que te familiarices con la interfaz de SoapUI.

Este contenido se basa en la pgina de Webservice Sample Project de SoapUI, e ilustra los
siguientes conceptos:

1. Web Service Mocking.


2. Inspeccin de Webservices.
3. Pruebas funcionales de Webservices.
4. Pruebas de carga de Webservices.

Antes de comenzar con el Tutorial de SoapUI en espaol


Antes de comenzar a ver este tutorial asegurate de haber bajado e instalado la herramienta en el
sitio oficial de Soapui.
Lee tambin nuestro artculo de informacin bsica de SoapUI y sus funcionalidades:

> Pruebas de Webservices con SoapUI

Abrir el proyecto de ejemplo de SoapUI

1.- Primero debes hacer click en el nodo Projects en el navegador y seleccionar Import Project.

2.- Seguidamente selecciona el archivo sample-soapui-project.xmls de la carpeta User/soapUI-


Tutorials. (Debes haber seleccionado la opcin de tutorial durante el proceso de instalacin de
SoapUI).
Se mostrar el proyecto de ejemplo en el navegador de SoapUI.

Buscas formacin en Testing de Webservices?


Curso Online de Testing de
Webservices
El curso online de Testing de Webservices en espaol, est diseado para introducir al profesional
de pruebas de software y a desarrolladores en tcnicas y metodologas para validar el
funcionamiento de los servicios web (Web Services).

Incluye formacin para realizar distintos tipos de pruebas, como validaciones de webservices,
artefactos externos y pruebas de integracin, usando tcnicas como las particiones de
equivalencias y anlisis de valores lmites.

Para realizar el curso se utilizar la herramienta SoapUI de SmartBear, la cual es la de mayor


difusin y uso para realizar pruebas de servicios web.

Ms cursos >>

Ms Informacin sobre Software Testing

> Visita nuestra pgina de Recursos en Pruebas de


Software

Continuacin

Ahora que ya tenemos el proyecto cargado, comencemos:

1) SoapUI Mock Service


Frecuentemente en los proyectos necesitamos probar funcionalidad que utilizan Webservices cuyo
desarrollo no ha comenzado o no est listo para usarse an.
El Mocking de Webservices te permite simular la funcionalidad de un Webservice en SoapUI, lo
cual te permite comenzar a disear y desarrollar tus pruebas. De esta forma puedes aplicar
metodologas de desarrollo guiado por pruebas (Test Driven Development) en las cuales primero
desarrollas la prueba y luego el software.

1.- Para aadir un MockService se hace click derecho en el icono de interfaz y se selecciona
Generate MockService.

2.- Se abrir la pantalla Generate MockService.


3.- Ingresa el nombre de tu MockService y haz click en OK.

4.- Se genera el MockService.


5.- Ahora veamos cmo funciona un Webservice. El proyecto tiene incluido un Webservice Mock
de ejemplo llamado SampleServiceSoapBinding. Abre el Webservice Mock haciendo doble click en
l.
6.- Recorre las diferentes interfaces en el Mock Service, login, logout, search y buy, observando
que se hace con distintos Requests (peticiones). Como puedes ver, los Request son atendidos
usando Scripts. Esta es la forma ms comn de atender las peticiones, sin embargo, al comienzo
del proyecto tambin podras simplemente crear un conjunto de respuestas y despacharlas al azar.

7.- Haz click en Run para iniciar el Mock Service.

8.- Ahora deberas ver el Mock Service ejecutndose en el puerto 8088.


2) Inspeccin de Webservices
Inspeccin de Webservices es una forma de mirar en que consiste el Webservice y que parmetros
recibe y produce como resultado.

1.- Primero dirgete al Interface Inspector, haciendo doble click en el nodo


SampleServiceSoapBinding.

2.- Esta vista te presenta una forma estructurada de ver un WSDL, mucho mejor que leer el XML.

Ahora vamos a inspeccionar el Webservice, haciendo doble click en el icono de interfaz de


SampleServiceSoapBinding. Primero familiarzate con el WSDL y luego ve hacia los Requests del
WebService.
3.- Expande el login y haz doble click en Request1. Vers que se abre loginRequest en el escritorio
de soapUI. El request utiliza el username login y el password Login123.

4.- Presiona el botn de ejecucin para realizar la peticin (Request).

5.- Ahora se te mostrar el panel de respuesta.

Buscas formacin en Testing de Webservices?

Curso Online de Testing de


Webservices
El curso online de Testing de Webservices en espaol, est diseado para introducir al profesional
de pruebas de software y a desarrolladores en tcnicas y metodologas para validar el
funcionamiento de los servicios web (Web Services).

Incluye formacin para realizar distintos tipos de pruebas, como validaciones de webservices,
artefactos externos y pruebas de integracin, usando tcnicas como las particiones de
equivalencias y anlisis de valores lmites.

Para realizar el curso se utilizar la herramienta SoapUI de SmartBear, la cual es la de mayor


difusin y uso para realizar pruebas de servicios web.
Ms cursos >>

3) Pruebas funcionales de Webservices

Ahora pasamos a ver cmo funcionan las pruebas en SoapUI. El proyecto de ejemplo contiene 3
TestSuites con diferentes TestCases, a su vez, los TestCases estn compuestos de pasos, a los
cuales llamamos TestSteps.

La estructura de un proyecto de SoapUI es la siguiente:

Project
Interface
TestSuites
o TestCases
TestSteps
LoadTests
MockServices

A continuacin examinamos las pruebas funcionales en SoapUI.

1.- Expande el Simple TestSuite de ejemplo y haz doble click en Simple Login y Logout w.
Properties Steps.
2.- Como puedes ver, el TestCase comprende 5 pasos (TestSteps).
3.- Seleccionando el Tab de descripcin puedes ver la documentacin de la prueba.

4.- Cada paso tiene 3 tipos diferentes de TestSteps, que son:

PropertyStep: Almacena el valor de los atributos, en este caso el Username y password


requeridos para hacer el login.

TestRequests: La peticin que se realiza al servidor. En este caso son login y logout.
PropertyTransfers: Este paso se usa para mover el valor de los atributos entre diferentes
pasos. Por ejemplo del Property Step al Request.

5.- Haz doble click en TestStep Property Transfer: Move username and password.

6.- Se abre el editor de TestStep en el escritorio de SoapUI.

7.- Una funcionalidad importante de los SoapUI Test son las aserciones. Las aserciones se
convierten en Test Requests y son para validar que la respuesta recibida es la esperada.

Abre el Test Step Test Request: Logout.

8.- Veras que tiene 4 aserciones:

Soap Response: Que la respuesta es una respuesta Soap.

Schema Compliance: Que cumple con el esquema.

No SOAP Fault: Que no existe un SOAP fault.

XPATH Match: Valida que el valor de ciertos elementos sea el esperado.


El Test Run
Ahora que hemos examinado el TestCase, vamos a ejecutarlo, para ello, presiona el botn Play. A
medida que se ejecuta la prueba, la barra de progreso se va llenando de color verde.

Se mostr de color rojo luego de solo un paso?

No olvides iniciar el MockService.

O quizs, ya habas ejecutado un TestStep?

Ve la respuesta, quizas esta sea que ya tienes una sesin abierta. Para solucionarlo, ve al
MockService, detenlo y vuelvelo a iniciar otra vez. Ahora vuelve a ejecutar la prueba.

Pruebas de carga de Webservices (Load Tests)


SoapUI te permite crear fcilmente las pruebas de carga (o pruebas de Estrs), para ello, se utilizan
los mismos parmetros de las pruebas funcionales, simplemente seleccionndola y presionando
para generar a partir de ella la prueba de carga.

De esta forma se pueden crear rpidamente las pruebas de carga, las cuales te permiten evaluar el
desempeo de la aplicacin rpidamente al comienzo del proceso de desarrollo.

1.- Ve al TestSuite Sample expanded TestSuite y a los casos de prueba de Search y Buy.

Puedes ver 4 tipos de pruebas de carga en ese caso de prueba, uno para acada estrategia de
LoadTest.

Por ahora, seleccionamos el LoadTest: Simple Strategy LoadTest. Este LoadTest est basado en una
estrategia de carga que llamaremos Simple Strategy, la cual es una estrategia bsica para un
simple retraso aleatorio (random delay).
2.- Procedemos a configurar la prueba.

Primero se configura el limite de la estrategia de pruebas (Limit). Esto es, el nmero de


segundos que la prueba estar en ejecucin.
Luego se configuran el nmero de hilos (Threads) de la estrategia. Por ahora, se configura
uno solo.
Tercero, se configura el retraso (Test Delay), que establece el nmero de milisegundos
para el retraso base.
Cuarto, se configura una variable aleatoria (Random), que establece un intervalo de
probabilidad para el retraso entre pruebas. 0,5 indica que el tiempo entre pruebas estar
entre 100 y 300 milisegundos. Un random de 0 indica variacin 0 entre pruebas, es decir el
retraso ser siempre de 200 milisegundos.

3.- Procedemos a ejecutar la prueba.

4.- Como puedes ver, los nmeros de la prueba se actualizan constantemente. Puedes ver
nmeros para los tiempos de respuesta, aserciones, errores, porcentaje de las pruebas ejecutadas
y ms.

5.- Puedes presionar el botn de grfico.

Para as visualizar el grfico de la ejecucin de la prueba:


El MockService tiene un error

El MockService en el proyecto de ejemplo tiene un error que fue colocado intencionalmente.

Revisa TestSuite Sample TestSuite fails if we don't get faults y TestCase TestCase:
Searching despus de Logging out LoadTests. All encontraras una prueba de carga
llamada LoadTest with Multiple Tests, la cual fallar si es ejecutada.

Abrela y ejecutala, transcurrido un tiempo, esta prueba presentar un fallo.

Porque?

La prueba falla debido a que mltiples usuarios estn intentando un login simultaneo con el
mismo username, lo cual no es permitido por el MockService.

Esta pgina incluye parte del contenido del Curso Online de Testing de WebServices. Mtodos,
tcnicas y herramientas para disear y realizar pruebas de Webservices.. Para mayor informacin
visita la pgina del curso.

You might also like