Herramientas de Testing para Web Services
-
Upload
adrian-alonso-vega -
Category
Software
-
view
436 -
download
0
Transcript of Herramientas de Testing para Web Services
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 ?
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).
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?
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?
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
¿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.
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.