En los últimos tiempos es común que nos topemos con la necesidad de testear un Web Service, y en ese momento, nos plantemos: ¿por dónde y cómo se debe comenzar?
Empecemos tratando de entender qué es un Web Service. A grandes rasgos, como una definición simple, podemos decir que un Web Service es una función que puede ser consumida por otros programas mediante la web. Un Web Service usa los protocolos HTTP o HTTPS sobre la capa de aplicación de la red informática donde una aplicación transfiere datos o envía solicitudes como XML o JSON, y recibe la respuesta que es procesada mediante la aplicación cliente como un servicio web independientemente de la plataforma de software subyacente, arquitectura y tecnología.
Existen varios tipos de servicios, pero los más populares son REST y SOAP.
Los métodos utilizados por REST son: GET, POST, PUT y DELETE. Usualmente, el método más implementado por SOAP es POST incluso para "operaciones de GET", dado que es necesario un SOAP request, que no puede pasarse por “Query String”.
Con estas nociones básicas podemos empezar a plantear algunas pruebas que podríamos realizar para verificar su correcto funcionamiento. Hay que tener en cuenta que el testing de Web Services está orientado al modelo Web Service Request & Response.
Los tipos de pruebas básicos que podemos plantear para realizar en estos servicios son: verificar si recibimos correctamente los datos, tipos de datos, orden de los datos, y completitud. Adicionalmente, también podemos realizar pruebas de carga, timeout y seguridad, entre otras.
A continuación, vamos a ver un ejemplo sencillo usando una API REST muy simple desarrollada con ASP.NET Web API que nos permite hacer alta, baja, modificación y consulta de “animales”.
En este ejemplo, animal tiene dos propiedades, Name y Color, ambos string, y un ID Int autogenerado.
El servicio que usaremos ofrece la siguiente API:
En las operaciones POST y PUT, debe enviarse un JSON como el siguiente en el body del request:
{
Name: “nombre del animal”,
Color: “color del animal”
}
Queremos validar los siguientes test cases, en este caso vamos usar Postman:
Algunas herramientas populares para testear servicios son Postman y SOAP UI que brindan soporte para SOAP, REST, pruebas funcionales, de carga y seguridad, entre otras.
Postman: Es una herramienta open source, que puede instalarse nativa o como extensión de Chrome. Permite configurar y correr peticiones HTTP en distintos ambientes, con distintos datos y realizar verificación en las respuestas de los mismos.
SoapUI: Es una herramienta open source, pensada inicialmente para pruebas SOAP, que permite realizar pruebas sobre APIs.
Testear Web Servicies es un tema muy amplio. Esperamos que lo mencionado anteriormente sirva como punto de partida conceptual y presentación inicial de las herramientas para poder comenzar a investigar sobre este interesante tema.
Compartimos algunos ejemplos y herramientas:
Ejemplos de SOAP: https://goo.gl/SeJyhU
Ejemplos de REST: https://goo.gl/p72MyH
Herramienta REST: https://goo.gl/v93iFV
Herramienta SOAP: https://goo.gl/DLiZcr
Fuente: https://stackoverflow.com
En los ultimos tiempos es comun que nos topemos con la necesidad de testear un Web Service, y en ese momento, nos plantemos: ?por donde y como se debe comenzar? Empecemos tratando de entender que es un Web Service. A grandes rasgos, como una definicion simple, podemos decir que un Web Service es una funcion que puede ser consumida por otros programas mediante la web. Un Web Service usa los protocolos HTTP o HTTPS sobre la capa de aplicacion de la red informatica donde una aplicacion transfiere datos o envia solicitudes como XML o JSON, y recibe la respuesta que es procesada mediante la aplicacion cliente como un servicio web independientemente de la plataforma de software subyacente, arquitectura y tecnologia.