No es lo mismo decir “yo se testear REST” a decir “yo se testear SOAP”, la diferencia de estos no es nada más ni nada menos que una cuestión de experiencia, obviamente decir que uno testea ambos diseños es en definitiva el que más experimentado esta de los 3 perfiles.
Es decir desde la perspectiva del tester usar uno o usar el otro es igual, tal vez muchos le guste REST por lo innovador, porque está de moda, y a muchos otros le guste SOAP porque es el que está más tiempo en el mercado porque estamos cómodos y no queremos movernos de la zona de confort. Todas estas cuestiones tienen que ver más con la programación que con el tester.
Sin embargo hay que tener en cuenta muchas otras cosas que sí tienen que ver con nuestra profesión, por ejemplo REST permite una variedad de formatos para sus webservices entre ellos JSON, un buen tester debe saber parsear los formatos de un webservices para poder conocer sus campos, los datos y sus tipos. Esto obviamente abre una puerta más que importante para un tester pero es una puerta que dependiendo de quien la maneje puede permanecer cerrada, veamos el siguiente ejemplo: supongamos entonces que nos dedicamos a JSON.
Una empresa financiera maneja servicios para sus clientes, la privacidad de esos datos tienen que tener un nivel de seguridad muy importante, la empresa se comunica con nosotros y nos pregunta si testeamos webservices, nosotros encantado les decimos… SI!!! manejamos lo último de la novedad: REST, ellos nos dicen aaaah…. nosotros buscábamos alguien que maneje SOAP… ups! Lo primero como tester que se me vendrá a la cabeza es ¿porque?. Le preguntaría a la empresa: “esperen yo conozco JSON y también algo de XML” pero desde la empresa me dirían que no están buscando un perfil como el mío. Porque una empresa buscaría tester con experiencia en Webservices que manejen SOAP, tal vez (y solo digo tal vez porque hay una infinidad de otras variables) sea por la seguridad, uno se podría decir “Pero REST maneja SSL”…. pero SOAP también lo maneja y también maneja entre otros WS-Security cualidad importantísima para las empresas que necesitan seguridad a gran escala. Tal vez a la empresa no le interese que XML pueda llegar a ser extremadamente complejo cuando realice las peticiones y respuestas en SOAP.
A continuación más ventajas de SOAP respecto de REST
- El lenguaje, la plataforma y el transporte son independiente entre sí, a diferencia de REST que si o si necesita de HTTP
- Funciona bien en entornos empresariales distribuidos
- Un excelente manejo de errores
- Automatización simplificada
Pero REST también tiene cosas que lo aventajan de SOAP, entre ellas las más importante, su fácil implementación! el bajo consumo de recursos.
A continuación les brindo algunas otras ventajas de REST respecto de SOAP
- No hay herramientas costosas que se requiera para utilizar con los webservices
- La curva de aprendizaje en la programación es más corta.
- Rest utiliza formato como JSON u Otros que posee mensajes más pequeños y sencillos que los que puede brindar XML, con lo cual es más eficiente.
- Es más rápido.
- Más cerca de otras tecnológica gracias a la filosofía de su diseño
Como habrán visto las ventajas de uno y de otros tiene más que ver con la implementación del servicio dentro de una organización.
En definitiva el tester se amolda al mercado, en su momento el “boom” fue SOAP, hoy por su simplicidad REST se lleva todos los “honores”, un buen tester además de saber realizar el testing funcional de webservices (tema que lo veremos en otro capítulo) debería conocer una gran variedad de formatos soportados por REST y SOAP, saber parsearlos, conocer los tipos de seguridad de Webservices, conocer cuáles son las diferencias a pesar de que se trate de cuestiones que parecen ajenos a uno, todo esto permite un eficiente y eficaz testeo de los webservices y dan forma a nuestro CV.
por
Leonardo Espindola
QA Automation Engineer | QA Tester
LinkedIn