Herramientas de Testing para Web Services

27
HERRAMIENTAS DE TESTING DE REST SERVICES & WEB SERVICES

Transcript of Herramientas de Testing para Web Services

HERRAMIENTAS DE TESTING DE

REST SERVICES & WEB SERVICES

Joaquín Miguel Ladrón de Guevara

Mesonero

Adrián Alonso Vega

Antecedentes Las herramientas que vamos a analizar son

dos herramientas de Testing de Web Services y Rest Services, concretamente SoapUI y Jmeter.

Antes de ver en detalle cada una de las

herramientas analizaremos los antecedentes y los conceptos necesarios para su comprensión.

¿Que es un Servicio Web?

¿Que es un Servicio Web ?

Es un sistema software diseñado para permitir

interoperabilidad máquina a máquina en una red.

APIs Web accesibles en una red.

Proporciona interacción entre máquinas.

Interoperabilidad (lenguajes de programación diferentes

ejecutados sobre plataforma diferente).

Objetivo: Intercambio de datos.

¿Quién lo emplea? (Facebook, Twitter, …).

Formas más comunes de implementar (Estándares

Abiertos):

SOAP.

REST (HTTP).

¿Que es la Arquitectura

SOA?

Arquitectura SOA

La arquitectura orientada a servicios es un concepto de arquitectura software o estrategia que define el empleo de servicios para dar soporte a los requisitos del negocio.

Razones:

Reutilización (Nuevas necesidades de negocio).

Interoperabilidad (Independiente plataforma y lenguaje).

Escalabilidad (Acoplamiento Débil).

Flexibilidad (Transparencia de localización).

Eficiencia de coste (Limita el coste).

¿Que es SOAP?

¿Que es SOAP?

Protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML.

EJEMPLO

Un mensaje SOAP podría ser enviado a un sitio Web que tiene habilitado Web Service, para realizar la búsqueda de algún precio en una base de datos, indicando los parámetros necesitados en la consulta.

El sitio podría retornar un documento formateado en XML con el resultado, ejemplo, precios, localización, características. Teniendo los datos de respuesta en un formato estandarizado "parseable", este puede ser integrado directamente en un sitio Web o aplicación externa.

¿Que es REST?

¿Que es REST?

Estilo de arquitectura de software para sistemas hipermedias distribuidos tales como la Web.

Trabaja sobre HTTP.

Operaciones estándar (GET,PUT, POST,DELETE).

Interacción con recursos.

Basado en estándares.

HTTP.

URI.

XML/JSON/HTML.

Mime.

SOAP VS REST

SOAP VS REST

¿Donde es mejor emplear…?

REST

Se busca buen Rendimiento.

Dispositivos Móviles.

No necesario estado.

Conocimiento del contexto por cliente y

servidor.

SOAP

Contrato formal de los detalles de las

funciones.

Requerimientos complejos

(Transacciones, Seguridad, Estado).

Proceso Asíncrono.

Herramientas

SoapUI

SoapUi es una aplicación open source de testing de Servicios Web y REST en arquitecturas SOA (Arquitectura Orientada a Servicios).

Características:

Inspección, invocación y desarrollo de Web Services.

Simulación y Mocking de Web Services.

Test Funcionales y Pruebas de Cargas para WS.

Soporte para REST.

Plugin para IDEs (Netbeans, Eclipse).

Apache JMeter JMeter es un software de código abierto de Apache Jakarta que puede ser utilizado como una herramienta de prueba de carga para analizar y medir el desempeño de una variedad de servicios, con énfasis en aplicaciones web.

Características:

Diferentes tipos de pruebas.

Web – HTTP, HTTPS.

SOAP.

Base de datos a través de

JDBC.

Correo – SMTP, POP3,

IMAP.

Etc.

Portabilidad completa.

Pureza del 100% Java.

Permite el muestreo inmediato

de muchos hilos simultáneos.

Tiempos más precisos.

Altamente Extensible.

Ejemplos

A continuación mostraremos unos ejemplos en vivo de ambas herramientas consumiendo dos servicios desarrollados en JAVA.

Consumo de CalculadoraWS con

Consumo de CalculadoraWS con

Consumo de CalculadoraREST con

Consumo de CalculadoraREST con

Gracias por su Atención