Primero voy aclarar que no todos piensan así, pero es bueno saber que hay muchos que quieren aprender y por miedo o por no tener las herramientas o ayuda necesaria no se meten con los Webservices porque lo ven complicado o por este tipo de preguntas que a continuación detallo:
¿Porque como tester tengo que saber cosas de programación? ¿Qué es un WSDL? ¿Qué XML? ¿SOAP? ¿REST? ¿WS?…..
Lo que acabo de definir es lo que muchos desde el área del testing piensan. Pero eso no es todo, a nivel negocio sucede que tampoco se interesan por los WS, al menos directamente:
En la actualidad de las empresas lo más importante es lo que quiere el cliente, en metodologías ágiles el product owner se interesa que su website sea de los colores que indicó, que su navegabilidad sea elocuente e inclusive que los datos que se informan sean los correctos en base a lo especificado. En el caso de que se trate de un app mobile una de las cosas más importante es que sea rápida, fluida ya que se sobreentiende que uno puede estar poco tiempo (o no) dentro de una aplicación móvil, pero con mucha más demanda que si se tratara de una aplicación web, (es lógica, nuestros dedos son más rápidos que la flechita de un mouse). Por otro lado el bendito look and feel, con sus banners, sus colores…. todo en perfecta condiciones, ahora bien toda esta introducción tiene un objetivo, todos estos conceptos (a veces) se lo deriva equivocadamente a la imagen del producto. Veamos las siguientes preguntas para aclarar que no todo es la imagen:
- ¿porque la aplicación no responde en tiempo y forma cuando empieza sobrecargarse de usuarios?
- ¿Porque no me trae la misma información entre plataformas distintas?
- ¿Porque en las auditorías quedan grabadas transacciones por canales no permitidos para cierta funcionalidad?
- ¿Porque al cliente le aparece la leyenda «error-soap» o » error ws security» u otros similares?
Y se puede ir catalogando una variedad extensas de este tipo de preguntas.
Entonces… ¿qué hay de los servicios que pueden ser consultados por millones de productos distintos al mismo tiempo y que ante un pequeño cambio en alguno de ellos se sufre un impacto que muy pocos lo miden?
Los Webservices son una realidad, algunos la creerán tediosa, porque convengamos que desde la vista del Tester, esto es más “técnico” que probar una pantalla, pero en definitiva es tan importante o más inclusive.
Y si les dijera que existen infinidades de herramientas, fáciles de usar (entre ellas las populares como el SoapUI o AXIS2) y que le permite al tester realizar su trabajo mucho más cómodo que estar validando un XML…. Tal vez esto no sorprendería mucho, es probable que muchos hoy hacen Testing de WS utilizando estas herramientas u otras alternativas, pero reformulo la pregunta, ¿realizan todo tipo de Testing de WS?
Además existen técnicas para realizar pruebas de WS REST, SOAP, SQL Injection, que si uno las aplica adecuadamente no solo hará las pruebas ágilmente sino que también ordenadamente. Ya lo decía una de las metodologías más usada, el API TESTING, “las pruebas API en Websevices se utilizan para determinar si la API devuelve la respuesta correcta (en el formato esperado) para una amplia gama de solicitudes viables, reaccionan adecuadamente a casos extremos como los fracasos y entradas inesperadas, proporcionan respuestas en una cantidad aceptable de tiempo, y responden con seguridad a posibles ataques de seguridad”
Mientras muchos en este momento estarán preguntándose ¿Qué es API TESTING? Yo les nombro algo que lo relaciona intrínsecamente, la AUTOMATIZACION. Qué pasa si les digo que con un sencillo programa, haciendo un Clic en el SOAPUI, mandando un mail o inclusive desde la nube podrán automatizar todas sus pruebas de Webservices.
Pero primero lo primero, aprendamos de los Webservices para luego Automatizarlos.
por
Leonardo Espindola
QA Automation Engineer | QA Tester
LinkedIn