Pruebas de webservices con SoapUI - La Oficina de Proyectos de Informática

lunes, 25 de enero de 2016

Pruebas de webservices con SoapUI

¿Te gustaría aprender a realizar Testing funcional y automatizado de servicios web y REST? Te recomendamos el curso: WebServices/REST API Testing with SoapUI+ Real Time Projects icon

Imagen de: Sitio oficial de SoapUI
En el ecosistema de tecnologías y software empresarial de la actualidad, ninguna aplicación puede funcionar aislada, la posibilidad de comunicarse con otras aplicaciones internas e inclusive externas de la organización es obligatoria

El mecanismo de mayor adopción utilizado para estos intercambios es el de los Webservices (Servicios Web). Prácticamente se ha convertido en un estándar de consideración obligatoria al diseñar y desarrollar aplicaciones empresariales.

SoapUI es la herramienta de mayor difusión probar webservices en arquitecturas orientadas a servicios (SOA) y Representational State Transfers (REST). Fue lanzada en 2005 como herramienta de software libre (Open Source) y desde entonces ha sido descargada más de 2 millones de veces.

Con SoapUI puedes probar webservices en los protocolos SOAP, REST, JMS y AMF, además, puedes realizar llamadas HTTP(S) para aplicaciones web y JDBC para bases de datos.

A continuación te presentamos SoapUI: Pruebas de webservices con SoapUI.

Pruebas que se pueden realizar con SoapUI

SoapUI permite la creación y ejecución automatizada de distintos tipos de pruebas de software, incluyendo Testing funcional, pruebas de regresión, simulación de servicios (Mocking), pruebas de carga y de seguridad.

¿Buscas un tutorial y proyecto de ejemplo de SoapUI?

> Tutorial de SoapUI en español - Proyecto de ejemplo

Pruebas funcionales

Las pruebas funcionales están orientadas a validar y mejorar la calidad de los webservices y aplicaciones. Con SoapUI puedes:

  • Crear y ejecutar escenarios de pruebas complejos con una interfaz gráfica Drag and Drop. 
  • No necesitas tener conocimientos de programación para definir casos de prueba en SoapUI.
  • Crear Suites de pruebas y añadir casos de prueba para mejor organización.
  • Definir escenarios de pruebas complejos, por ejemplo probar un procedimiento, mensajería empresarial y captura de tráfico al mismo tiempo.
  • Si estás trabajando pruebas en distintos ambientes (ambiente de desarrollo, ambiente de pruebas o producción), puedes establecer las configuraciones de cada ambiente y luego cambiar entre ellos rápidamente.
  • Permite la ejecución asíncrona de las pruebas.

Simulación de servicios (Mocking)

SoapUI permite crear pruebas de webservices antes que estos sean implementados, muy útil para probar aplicaciones que invocan a webservices que no están en el alcance o programas implementados alrededor de webservices.

Imagen de: Sitio oficial de SoapUI

Con SoapUI se puede realizar:

  • Simulación de comportamientos complejos, pudiendo configurar las respuestas predeterminadas en distintos escenarios.
  • Creación automática de webservices a partir del WSDL.
  • Posibilidad de crear Mocks de total cumplimiento con los estándares WSDL, SOAP o HTTP.
  • Posibilidad de desplegar el MockService a Apache, Tomcat, GlassFish o cualquier otro.
  • Simulación de APIs tanto en SOAP como en REST.
  • Mocking de contenido estático, Scripting, Soporte a SSL y más.
  • Obtener estadísticas de uso de los WSDL simulados a nivel de proyecto, caso de pruebas y set de pruebas.

Curso de SoapUI



¿Te gustaría aprender a realizar pruebas funcionales y automatizadas de servicios web?

Inscríbete en el curso: 

WebServices/REST API Testing with SoapUI+ Real Time Projects icon


Más Información sobre Software Testing

Visita nuestra página de Recursos en Pruebas de Software

Pruebas de seguridad

SoapUI incluye un complemento de pruebas para identificar problemas de seguridad, información que puedes usar para proteger tus webservices y sitios web contra las vulnerabilidades más comunes.

Imagen de: Sitio oficial de SoapUI

Con SoapUI puedes:

  • Enviar SQL maliciosos a tus bases de datos para asegurarte que no son vulnerables a inyecciones de SQL.
  • Realizar un escaneo contra bombas XML, para validar si tus sistemas son vulnerables a volcados de pila (stack overflow) usando documentos de gran tamaño.
  • Validar si los webservices exponen los parámetros que utiliza y sus mensajes.
  • Enviar textos al azar para intentar provocar errores, volcados del buffer, trazas de pila o para encontrar vulnerabilidades de string.
  • Realizar escaneo de datos borde para determinar si el sistema se comporta erráticamente o muestra información no deseada. 
  • Otros escaneos como de archivo adjunto malicioso, script custom, inyección de XPath, datos inválidos y XML malformados.

Pruebas de carga (Estrés)

Con las pruebas de carga (también conocida como pruebas de estrés) puedes validar si tus webservices o interfaces de programa pueden manejar múltiples usuarios concurrentemente.

Las pruebas de carga están clasificadas como Tipos de pruebas de software no funcionales, aquí te dejamos un enlace a un artículo:

> 10 Tipos de pruebas no funcionales de software

Imagen de: Sitio oficial de SoapUI

Con SoapUI es posible:

  • Crear conjuntos de pruebas de carga con interfaz drag and drop.
  • Integrar con LoadUI (módulo específico para pruebas de carga de estrés).
  • Recibir Feedback en tiempo real del estatus y resultado de las pruebas.
  • Crear pruebas de carga a partir de las pruebas funcionales existentes.
  • Usar distintas estrategias de pruebas carga predefinidas tales como simple, tasa fija, tasa variable, para probar el desempeño bajo diferentes condiciones.

Descargar SoapUI

Imagen de: Sitio de SoapUI

SoapUI es una herramienta de software libre (Open Source) y tiene una versión gratuita que puede ser descargada desde el sitio web oficial de SoapUi.

Sitio oficial de SoapUI

SmartBeat también ofrece una versión profesional (PRO) paga de SoapUI, con funcionalidades avanzadas que proporcionan mayores estadísticas y funciones avanzadas de productividad.

Tecnologías que soporta SoapUI

Una de las ventajas de SoapUI es que soporta los principales estándares para webservices e interfaces API existentes en la actualidad, lo cual es muy útil pues permite trabajar con amplia variedad de aplicaciones.

SoapUI maneja las siguientes tecnologías:

SOAP / WSDL

Permite importar y validar servicios web basados en WSDL y SOAP. Con el uso del editor no se necesitar ser un técnico, QA y el área de negocio también se pueden involucrar.

REST

Permite agregar recursos REST o métodos custom a los servicios, para luego validar sus respuestas y más.

Web y HTTP(S) 

Automatización de la creación de escenarios típicos de uso, por medio de la grabación del uso de la aplicación web (Recording) a medida que la utilizas. Luego permite repetir esas acciones, construyendo así pruebas funcionales automatizadas.

AMF

Creación de escenarios para probar Rich Internet Applications (RIAs), identificar cuellos de botella y entonar antes de su salida a producción.

JDBC

Por medio de interfaz intuitiva te permite la exploración y análisis de las bases de datos. Pruebas y verificación de entradas y resultados de cualquier base de datos JDBC, simultáneamente con tus pruebas de servicios web y aplicaciones.

JMS

SoapUI está totalmente integrado con HermesJMS, lo cual te permite enviar y recibir mensajes de texto y binario a una amplia variedad de proveedores JMS.

Automatización con SoapUI

Otra de las funcionalidades de SoapUI es la posibilidad de integrarlo prácticamente con cualquier programador de tareas o como parte del proceso de compilación.

Inclusive es posible personalizar la ejecución en estos casos omitiendo parámetros, controlando que pruebas ejecutar y cuáles no, que producir como resultado, entre otros.

La ejecución de pruebas en SoapUI se puede integrar con las siguientes aplicaciones:

Maven

Se pueden ejecutar las pruebas y mocks de SoapUI en un entorno Maven, Software para compilación automatizada de bases de código. Inclusive, puedes seleccionar los TestSuites o TestCases que quieres ejecutar, sin necesidad de ejecutar el proyecto completo.

Hudson

SoapUI también facilita la integración continua con Hudson (Herramienta de integración continua de código desarrollada en Java). Como resultado, las pruebas SoapUI se pueden integrar al proceso de construcción Hudson, sin tener que interrumpir el desarrollo de software y facilitando la identificación de los errores.

Banboo

SoapUI también permite integrar y ejecutar las pruebas en un Build de Bamboo, servidor de integración Atlassian.

JUnit

Por medio del uso del TestRunner (Inicio de la línea de comando desde SoapUI), se puede ejecutar y controlar la ejecución de pruebas SoapUI desde JUnit.

ANT

También puedes ejecutar y personalizar las pruebas en un entorno de compilación automatizada ANT, usando las herramientas de línea de comando de SoapUI.

Otros sistemas

Desde SoapUI se pueden ejecutar pruebas funcionales, de carga y simulaciones de servicios (MockServices) desde cualquier herramienta.

Ecosistema alrededor de SoapUI

SoapUI está construida totalmente en la plataforma Java, utilizando Swing para la interfaz gráfica con el usuario. SoapUI es una herramienta multiplataforma.

Como herramienta de código abierto, SoapUI posee una gran comunidad y socios a su alrededor. Los usuarios de SoapUI pueden desarrollar sus propias funcionalidades como Plugins de SoapUI.
SoapUI cuenta con amplia variedad de plugins desarrollados por terceros, como por ejemplo Agiletestware, SOA DataPro, TestMaker y Pegamento.

Si el usuario opta por la versión comercial de SoapUI (SoapUI Pro) además se puede contar con el soporte del equipo de SmartBear.

SoapUI puede instalarse para trabajar conjuntamente con ambientes de desarrollo integrados (IDE) como:

IntelliJ IDEA 

Posibilita el acceder a todas las funcionalidades de SoapUI desde el entorno IntelliJ IDEA, creando un único entorno para el desarrollo y pruebas de tus webservices.

NetBeans

Integración de las funcionalidades de SoapUI al entorno NetBeans por medio de plugins, logrando también la combinación de desarrollo y pruebas de webservices en el mismo entorno.

Eclipse

La tecnología SoapUI Nature, brinda el acceso a SoapUI desde un proyecto Java en Eclipse.

¿Buscas un tutorial y proyecto de ejemplo de SoapUI?

Tutorial de SoapUI en español - Proyecto de ejemplo

¿Y qué opinas tú?

En tu organización, ¿Ya comenzaron a hacer pruebas de webservices? ¿Qué herramientas utilizan? ¿Qué opinas de SoapUI? Te invitamos a dejarnos comentarios en la Web de La Oficina de Proyectos de Informática (pmoinformatica) (Si lo deseas, puedes firmar tu comentario con la dirección de tu web).

¿Buscas más información de desarrollo y pruebas de software?

¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de metodologías de desarrollo y pruebas de software?, entonces presiona "suscríbete" a continuación.

Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

También puedes seguirnos vía Twitter, Facebook o Linkedin:

  

Referencia

10 Tips for the SoapUI Beginner. Sitio oficial de SoapUI

API Testing Features. Sitio oficial de SoapUI

Sitio oficial de SoapUI

Wikipedia. SoapUI

Artículos relacionados

No hay comentarios :

Publicar un comentario

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.