API Testing

Para el que no está en conocimiento sobre qué es API Testing tal vez piensen que trate de librerías de programación, otros pueden creer que se trate de una interfaz programable para aprender a testear, muy lejos de todo esto API Testing trata más de un conjunto de características a tener en cuenta en el testing de APIs…. pero qué es API entonces?

API (es el acrónimo de Application Programming Interface) significa Interfaz de Programación de Aplicaciones y es en definitiva un repositorio de todas las funciones que los desarrolladores fueron programando para un producto en cuestión, si esto lo vemos desde la perspectiva de los Webservices una API sería el repositorio de cada uno de los métodos que están agrupados bajo una interfaz, pero no a una interfaz gráfica.

Existen distinto tipos de Interfaces, está la interfaz gráfica comúnmente conocida como la interfaz del usuario, la interfaz de negocio comúnmente conocida como la interfaz encargada de la lógica de negocio y la interfaz de los datos, en esta última interfaz se ven las bases donde se guardan y obtienen los datos. Si queremos llevar esto nuevamente a los webservices veamos un ejemplo.

Imaginemos un sitio web que se encarga de reservar boletos de avión, el sitio web visualiza los diferentes vuelos y capacidades de asientos junto con el botón “reservar vuelo”, todo esto representa la capa GUI, es decir la interfaz del usuario. Cuando el usuario aprieta el boton de COMPRAR viaja desde el sitio una solicitud (request de webservices) de “registrarReserva” este mensaje llega a nuestro repositorio (anteriormente lo mencione como API) para buscar el metodo (o funcion) “registrarReserva”, una vez que lo encontró ejecuta las característica que posee dicha función, esta capa es el corazón de los Webservices. El último nivel es el de los datos, está íntimamente ligado a la anterior capa, y es que dentro de una funcion o metodo se puede indicar que realice una consulta en SQL a cierta tabla dentro de nuestra base de datos e impacte sobre otra, la funcionalidad pertenece a la capa de negocio, la información impactada a la capa de datos.

Ya aprendido estos puntos, volvamos al tema que nos compete, API Testing es un tipo de pruebas que se realiza a la capa de negocio, es decir a la capa corazon de los Webservices y con la elección de las herramientas correctas (que se verá en el próximo articulo) uno puede testear cada una de las características que componen al API Testing y que a continuación detallamos:

  • Usabilidad
  • Funcionalidad
  • Confiabilidad
  • Competencia
  • Creatividad

testing de webservices
Curso ONLINE – Próximas Fechas

 

Pero a veces nuestra capa de negocio lo es todo, si no he sido claro me refiero a que a veces el producto no está elaborado con las 3 interfaces que hemos mencionado, sino que solo se trata de la API, cuando este es el caso además de tener en cuenta lo anterior tenemos que tener en cuenta más que nunca el tipo de pruebas funcionales, de seguridad y de carga que nos permitirá ver la perspectiva del usuario cuando nuestra API este productiva.

Realizar API Testing refuerza la capa de negocio, tan importante en estos días como así lo indican las pruebas ágiles, enfocarse en una única interfaz ayuda al tester a ser más eficiente con las pruebas y a fortalecer el producto desde una visión que permite expandir a futuro las funcionalidades del negocio.

Autor:
Leonardo Espindola
QA Automation Engineer | QA Tester
LinkedIn

Gus Terrera

Apasionado por el agile testing y la ia.

Deja una respuesta