Medios de comunicación
Medios de comunicación
Medios de comunicación

Diferentes formas de trabajar con API como probador

Director: Academia Internacional

BAS es actualmente el director de la academia inspirada. Antes de unirse, estuvo activo en el campo de automatización de pruebas durante unos 15 años, primero como ingeniero, pero más recientemente principalmente como entrenador y consultor.


Ha entregado capacitación en automatización de pruebas a una amplia gama de empresas y asistentes a la conferencia en los Países Bajos, así como a nivel mundial, a excelentes revisiones.

En nuestra publicación de blog anterior, Discutimos cómo los sistemas cada vez más distribuidos de hoy requieren que los probadores tengan un conocimiento sólido de las API, cómo probarlas y cómo usarlos para pruebas más eficientes. En esta publicación de blog, echaremos un vistazo a los diferentes tipos de pruebas y técnicas que dependen de API.


Pruebas exploratorias a nivel API

Dado que una API, por naturaleza, es una interfaz que expone un comportamiento específico de (una parte de) un sistema de software, también presentan una amplia gama de opciones para pruebas exploratorias. Al igual que lo haría en el nivel gráfico de interfaz de usuario, puede dar entradas a una API que cree que son interesantes y que espera activar el comportamiento que desea explorar más a fondo. Aquí hay un par de ejemplos de ideas de prueba que puede realizar durante una sesión de pruebas exploratorias en una API:


"Veamos qué sucede si paso en valores alfanuméricos para los parámetros de ruta que, según la documentación, se supone que solo toman enteros solo"


"Me pregunto qué pasaría si transfiera muchos datos en el cuerpo de solicitud"


"¿Pensaron las personas que diseñaron y desarrollaron esta API en la desinfección de entrada adecuada, o puedo realizar inyección SQL o secuencias de comandos de sitios cruzados a través de esta API??"


Las respuestas a todas estas preguntas se pueden encontrar explorando su sistema a nivel API.


Escribir pruebas automatizadas para API

Dado que las API están destinadas a ser consumidas por otros sistemas, generalmente es mucho más fácil escribir automatización a nivel API en comparación con el nivel de GUI. Agregue a esto el hecho de que muchas aplicaciones exponen la lógica comercial a través de las API, y verá que la automatización de nivel de API a menudo llega a un punto óptimo entre las pruebas que son rápidas de escribir y ejecutar, y pruebas que están cerca del comportamiento como se observa por el usuario final de un sistema.


No importa si está utilizando bibliotecas de código para pruebas de API (E.gramo., Tenga la seguridad de Java o solicitudes de Python), o prefiere usar una solución de prueba API de bajo código como Postman o SoapUI, un conjunto de pruebas automatizadas de alta calidad a nivel API será una parte importante del conjunto de pruebas general en un muchas situaciones.


API burlona

A medida que los sistemas de software se distribuyan cada vez más, el número de dependencias con las que tendrá que lidiar durante las pruebas crecerá rápidamente. A menudo, estas dependencias pueden causarle problemas cuando desea ejecutar pruebas. Pueden estar en desarrollo ellos mismos, o es difícil conseguirlos en el estado correcto o acceder a ellos en primer lugar. En otras situaciones, desea aislar el comportamiento del componente o sistema que está desarrollando a partir del de estas dependencias.


En ambas situaciones, saber cómo burlarse de las API es una habilidad valiosa. Los simulacros le permiten configurar y simular el comportamiento (esperado) de sus dependencias, lo que le permite probar antes, cada vez más de lo que podría hacer al tratar con las dependencias reales. Hoy en día, hay muchas herramientas disponibles que puede usar para crear y usar simulacros de API, que van desde bibliotecas de código abierto específicas como Wiremock y Hoverfly, hasta soluciones de virtualización de servicios a nivel empresarial ofrecidas por principales proveedores de herramientas como Tricentis, Parasoft y SmartBear.


Uso de API para otros fines de prueba

Las API también pueden ser un medio muy útil para proporcionar soporte para otros tipos de pruebas. Aquí hay algunos ejemplos en los que una API no es el objetivo de prueba en sí, sino donde se puede usar para realizar otros tipos de pruebas y automatización de manera más eficiente: en su lugar:


  • Realizar una verificación de salud del sistema antes de comenzar una suite de prueba de extremo a extremo de larga duración que se ejecuta contra la GUI
  • Configuración de datos de prueba a granel para prepararse para las pruebas de aceptación del usuario
  • La verificación de que los datos producidos en las pruebas a nivel de GUI se han almacenado y se pueden recuperar con éxito del sistema de backend
  • Tirar y analizar registros del sistema producidos en una prueba de rendimiento
Prueba de contrato

Otro desafío al probar sistemas altamente distribuidos y basados ​​en microservicios es encontrar una respuesta a la pregunta.


"Todos son componentes capaces de comunicarse entre sí, y es seguro implementar una nueva versión de nuestro componente?"


La prueba de contrato es una técnica, respaldada por herramientas, que puede ayudar a encontrar la respuesta a esta pregunta de una manera más eficiente. Es complementario a realizar pruebas funcionales y de aceptación a nivel API, ya que no se centra en los componentes individuales en un sistema distribuido, sino en la integración de pares de estos componentes.


Las pruebas de contrato (ya sea impulsadas por el consumidor, impulsadas por el proveedor o bidireccionales) están creciendo rápidamente en popularidad ahora que los sistemas se están volviendo cada vez más distribuidos y los equipos de desarrollo enfrentan la pregunta anterior cada vez más a menudo.


Como puede ver en este artículo, hay mucho que aprender como probador cuando se trata de API. En la próxima publicación de blog de esta serie, echaremos un vistazo a algunos de los desafíos que los probadores generalmente enfrentan cuando se embarcan en su viaje de prueba de API, o que les impiden navegar en primer lugar.


Bas Dijkstra

Acerca de

BAS es actualmente el director de la academia inspirada. Antes de unirse, estuvo activo en el campo de automatización de pruebas durante unos 15 años, primero como ingeniero, pero más recientemente principalmente como entrenador y consultor.


Ha entregado capacitación en automatización de pruebas a una amplia gama de empresas y asistentes a la conferencia en los Países Bajos, así como a nivel mundial, a excelentes revisiones.

Etiquetado como