3. 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
4. ¿Qué son los Web Services?
§ Primero… ¿Qué es SOA?
• Service Oriented Architecture
TestingUY 2017 - 1er meetup 4
5. ¿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
6. ¿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
7. ¿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
8. 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
9. SOAP vs REST
§ REST
• Recursos
ü Identificados por URI
• Interfaz uniforme
ü Operaciones HTTP
• GET, POST, PUT, DELETE
• Mensajes generalmente JSON
TestingUY 2017 - 1er meetup 9
10. SOAP vs REST: en testing
§ Primera diferencia
• En REST no tenemos WSDL
§ JSON no restringe el formato como XML
§ Muchos estándares SOAP
§ En general, SOAP es más tedioso
• Parser WSDL
• Interfaces muy diferentes entre servicios
TestingUY 2017 - 1er meetup 10
11. SOAP vs REST: Diferencias en testing
TestingUY 2017 - 1er meetup 11
12. ¿Quién es el responsable
de probar?
§ ¿El proveedor? ¿El que lo consume?
TestingUY 2017 - 1er meetup 12
13. ¿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
14. Herramientas
§ Herramientas para hacer las pruebas
§ Herramientas 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