La importancia de probar Web Services
Alexis Monroy
Rodrigo Quinta
Agenda
¿Qué son los Web Services?
¿Por qué son importantes?
SOAP vs REST
• ¿Diferencias en el testing?
¿Quién es el responsable de probar?
¿Qué probar?
Herramientas
TestingUY 2017 - 1er meetup 3
¿Qué son los Web Services?
Primero… ¿Qué es SOA?
• Service Oriented Architecture
TestingUY 2017 - 1er meetup 4
¿Qué son los Web Services?
¿Qué son los servicios?• AGESIC los define como:
son entidades de software autónomas, auto-contenidas e
independientes de la plataforma
proveen funcionalidades de negocio
tienen una interfaz pública
pueden ser descubiertos, invocados y combinados de
forma dinámica
TestingUY 2017 - 1er meetup 5
¿Qué son los Web Services?
Según la definición de W3C• Un Web Service es una aplicación de software identificada
por una URI, cuyas interfaces y formas de acceso pueden ser
definidas, descritas y descubiertas como artefactos XML, y
soporta la interacción directa con otros componentes de
software utilizando mensajes basados en XML,
intercambiados a través de protocolos basados en internet.
TestingUY 2017 - 1er meetup 6
¿Por qué son importantes?
Hoy en día, las necesidades de lo que el
software debe hacer son
extremadamente cambiantes
• Nuevas tecnologías, oportunidades de
negocio, leyes y reglamentaciones, la
necesidad de interactuar con terceros…
• …B2B, IoT…
TestingUY 2017 - 1er meetup 7
SOAP vs REST
SOAP es un estándar de W3C
• describe un formato de mensaje basado en
XML
• mecanismos para intercambiar información
Establece un “Contrato” explícito
• WSDL
Directorio de servicios
• UDDI
TestingUY 2017 - 1er meetup 8
SOAP vs REST
REST
• Recursos
Identificados por URI
• Interfaz uniforme
Operaciones HTTP
• GET, POST, PUT, DELETE
• Mensajes generalmente JSON
TestingUY 2017 - 1er meetup 9
SOAP vs REST: Diferencias en testing
Primer problema
• En REST no tenemos WSDL
JSON no restringe el formato como XML
Muchos estándares SOAP
En general, SOAP es mas tedioso
• Parser WSDL
• Interfaces muy diferentes entre servicios
TestingUY 2017 - 1er meetup 10
SOAP vs REST: Diferencias en testing
TestingUY 2017 - 1er meetup 11
¿Quién es el responsable de probar?
¿El proveedor? ¿El que lo consume?
TestingUY 2017 - 1er meetup 12
¿Qué probar?
¡No quedarnos solo con las pruebas
funcionales!
Formato del mensaje incorrecto
Acciones prohibidas
Mandar un campo vacío no es lo mismo
que no mandar el campo
¿Qué más? ¿Ideas?
TestingUY 2017 - 1er meetup 13
Herramientas
Herramienta para hacer las pruebas vs
herramienta para automatizar
WS Soap…Soap UI
• La más usada en el mundo
REST no es estrictamente necesario
utilizar una herramienta sofisticada
• Plug-ins de navegadores
TestingUY 2017 - 1er meetup 14
Preguntas
TestingUY 2017 - 1er meetup 15
Referencias
https://www.agesic.gub.uy/innovaportal/file/1454/1/ap
endice_1.pdf
https://www.w3.org/TR/ws-desc-reqs/#definitions
https://www.innoq.com/soa/ws-standards/poster/
Curso “Testing de Servicios Web”
• http://capacitacion.ces.com.uy/mod/page/view.php?id=8690
TestingUY 2017 - 1er meetup 16
Contáctanos
17
www.ces.com.uy
@ces_com_uy
/CentroDeEnsayosDeSoftware
TestingUY 2017 - 1er meetup