¿Cómo comenzar a testear un Web Service?

Por Emilia Bejarano, QA Engineer en DataArt, Sponsor Silver en el Argentesting, evento vinculado con el testing a realizarse los días 23 y 24 de Octubre en la UTN Medrano (CABA) y que reunirá a toda la Comunidad Argentina de Software Testers.


Web Service

 


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.

Argentesting

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”.

Web Service
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:

• GET api/animals: devuelve todos.

• GET api/animals/1: devuelve el animal con id 1.

• POST api/animals: crea un nuevo animal y lo devuelve.

• PUT api/animals/1: modifica el animal de id 1.

• DELETE api/animals/1: borra el animal de id 1.

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:

Web Service Test Cases

TC 1: POST crear un nuevo animal

1. Ejecutar POST “Gato Negro»
Web Service

2. Verificar response o ejecutar «GET [id]» con [id] = id del response para chequear que el animal se creó correctamente.

Web Service
TC 2: PUT/[id] modifica el animal de id [id]

1. Ejecutar “POST 1 Canario Amarillo”

Web Service
2. Verificar response o ejecutar «GET [id]» con [id] = id del response
Web Service
TC 3: DELETE/[id] borra un animal de id [id]

1. Ejecutar “DELETE [id]” con el id del animal que se desea borrar

Web Service
2. Ejecutar “GET [id]” con el mismo id del paso 1 y verificar que el animal fue borrado.
Web Service
TC 4: GET por [id] devuelve el animal de id [id]

1. Ejecutar “GET Todos los animales” para obtener los animales existentes.
Web Service
2. Ejecutar “Get [id]” con el id de uno de los animales para verificar que se obtiene el animal correcto.

Web Service

¿Qué podemos utilizar para testear un Web Service?

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


Argentesting, 2da edición

Web Service

Te cuento, de paso, que el Comité Revisor durante esta semana ha estado evaluando las propuestas recibidas y a partir de hoy, comenzará el proceso de selección, para luego preparar la Agenda y publicarla junto con el Formulario de Inscripción correspondiente, ya que los asientos dentro del Aula Magna y Talleres son limitados.

No te lo pierdas! Te esperamos

 

Gus Terrera

Apasionado por el agile testing y la ia.

Deja una respuesta