Skip to main content

Según una encuesta de SlashData de 2020, casi el 90% de los desarrolladores entrevistados estaban utilizando APIs en alguna medida. Teniendo esto en cuenta, no es de extrañar que, incluso si eres un tester manual o de automatización que busca cambiar de empleo, la entrevista de contratación consista en preguntas relacionadas con las APIs. 

En este artículo, te mostraré algunas de las preguntas de entrevista más comunes e importantes sobre pruebas de APIs y proporcionaré la respuesta ideal para cada una. ¡Vamos a ello!

1. ¿Qué es el testing de API?

El testing de API es un tipo de prueba de software que implica evaluar APIs (Interfaz de Programación de Aplicaciones) para ver si cumplen los requisitos de funcionalidad, confiabilidad, rendimiento y seguridad. Como las APIs no tienen una interfaz gráfica de usuario (GUI), el testing de APIs se realiza en la capa de mensajes del sistema. 

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

Este campo es un campo de validación y debe quedar sin cambios.
Name*

2. ¿Cuáles son las ventajas de realizar testing de API?

El testing de API tiene varias ventajas. Entre las más importantes se pueden mencionar:

  • Prueba sin GUI: Los testers pueden realizar pruebas de API sin tener que usar el software directamente. Esto es una gran ventaja porque les da a los ingenieros de QA una visión temprana de errores y fallos, permitiendo a los desarrolladores corregirlos antes de que afecten la GUI.
  • Prueba para la funcionalidad principal: Antes de realizar pruebas de GUI, probar la funcionalidad a nivel de código de una aplicación permite evaluar la calidad de la construcción general. Esto ayuda a revelar pequeños errores que pueden convertirse en problemas más importantes a nivel de GUI. El acceso al núcleo permite hacer pruebas de forma concurrente con el desarrollo, facilitando la comunicación y el trabajo en equipo.
  • Eficiencia de tiempo: Las pruebas de API normalmente toman menos tiempo que las pruebas funcionales de GUI. Las pruebas de GUI toman más tiempo porque los componentes web necesitan ser revisados. La automatización de pruebas de API particularmente implica menos código y ofrece mejor y más rápida cobertura de pruebas en comparación con la automatización de pruebas de GUI.
  • Independiente del lenguaje: Una prueba de API utiliza XML o JSON para intercambiar datos. Estos modos de transferencia no dependen del lenguaje, por lo que puedes usar cualquier lenguaje de programación al escribir pruebas automatizadas para tu API. 

3. ¿En qué se diferencia el testing de API del testing de UI?

El testing de API se centra mucho más en probar la lógica de negocio, las respuestas de los datos y la seguridad, así como los cuellos de botella en el rendimiento. Por el contrario, el testing de UI se encarga de verificar el aspecto visual de una interfaz web o que ciertos botones, formularios, desplegables, etc., funcionen correctamente.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Este campo es un campo de validación y debe quedar sin cambios.
Name*

4. ¿Cuáles son los componentes de una petición HTTP?

Una petición HTTP tiene cinco elementos:

  • Un método HTTP (se explica más abajo) que define la acción a realizar.
  • Un URI (Identificador Uniforme de Recursos) que es el identificador del recurso en el servidor.
  • Una versión de HTTP, por ejemplo HTTP v1.1.
  • La cabecera de la petición contiene metadatos (como pares clave-valor) para el mensaje de la petición HTTP. Algunos ejemplos de metadatos son el tipo de cliente (o navegador), los formatos de datos soportados por el cliente, los formatos del cuerpo del mensaje, configuraciones de caché, y otra información.
  • El cuerpo de la petición representa los datos enviados por el cliente a la API.

5. ¿Cuáles son los métodos HTTP más usados en las APIs REST?

Los métodos HTTP más importantes utilizados al realizar pruebas de APIs REST son aquellos que ejecutan operaciones CRUD:

  • GET es el método HTTP que lee la información del recurso.
  • POST se utiliza para crear o actualizar recursos.
  • PUT modifica un recurso existente.
  • DELETE elimina un recurso especificado.

6. ¿Cuál es la diferencia entre los métodos PUT y POST?

Esta es una pregunta de entrevista que me hicieron a menudo, y la respuesta ya fue parcialmente explicada arriba. 

Cuando necesitas cambiar un recurso único que forma parte de una colección de recursos, debes usar el método PUT. Cuando necesitas agregar un recurso hijo a una colección de recursos, debes utilizar el método POST. Si la llamada HTTP PUT se envía más de una vez, los resultados seguirán siendo los mismos. Si una petición POST se envía varias veces, los resultados serán distintos; es decir, se podrían crear varios recursos o se puede devolver un error.

Por ejemplo, si tienes un recurso para crear y actualizar usuarios, enviar el mismo método PUT para un usuario actualizará al usuario cada vez. Enviar el mismo método POST para un usuario dará como resultado que se creen varios usuarios o que aparezca un error indicando que el nombre de usuario o la dirección de correo electrónico ya están en uso.

7. ¿Cuáles son las clases de códigos de estado de respuesta HTTP?

Esta es otra pregunta común de entrevista y es importante conocerla al realizar pruebas de API. Las clases de códigos de respuesta HTTP son:

  • 1xx: las respuestas en esta categoría son respuestas informativas. Indican que el cliente debe continuar con la solicitud o ignorar la respuesta si ya está terminada.
  • 2xx: un código 200 significa éxito. 
  • 3xx: estas respuestas son respuestas de redirección. Esto significa que hay múltiples posibles respuestas a la solicitud. Una de ellas debe ser seleccionada por el agente de usuario o el usuario. 
  • 4xx: los códigos en este grupo indican un error del cliente. Esto significa que el servidor no puede procesar la solicitud, y lo percibe como un error del lado del cliente, como una URL no reconocida, una sintaxis de solicitud incorrecta, y cosas similares.
  • 5xx: el código de respuesta HTTP 500 se devuelve cuando hay un error en el servidor y no puede realizar la solicitud.

Si deseas conocer en detalle los estados de respuesta, puedes consultar la lista completa en línea

8. ¿Cuáles son algunas herramientas comunes para la automatización de pruebas de API?

Para esta pregunta, respondería con algunas herramientas con las que ya he trabajado o al menos conozco un poco. Así que, si tienes experiencia con alguna herramienta para pruebas de API, menciónala. Si no, puedes responder con algunas populares, como Katalon, Postman o SoapUI. Consulta nuestro artículo sobre las mejores herramientas para pruebas de API para inspirarte. 

9. ¿Cuáles son algunos métodos de autenticación comúnmente utilizados en las pruebas de API?  

Una respuesta adecuada a esta pregunta sería:

  • Autenticación basada en sesión/cookies
  • Autenticación básica
  • Autenticación digest
  • OAuth

10. ¿Cuál es la diferencia entre autenticación y autorización?

En resumen, la autenticación es el proceso de verificar la identidad del usuario, mientras que la autorización es el proceso de confirmar su nivel de acceso. 

11. ¿Por qué se prefiere la prueba de API a la prueba de UI para pruebas automatizadas?

Volviendo a la clásica pirámide de automatización de pruebas, es bien sabido en nuestra industria que las pruebas end-to-end de UI deben estar en la parte superior, lo que significa que deben representar la menor cantidad de pruebas. Esto se debe a que las pruebas automatizadas de UI tienden a tomar más tiempo y son más propensas a ser inestables porque tienen muchas dependencias. Las pruebas automatizadas de API representan la parte de pruebas de integración de la pirámide, son mucho más rápidas y generalmente más fiables.

12. ¿Cuál es la diferencia entre las pruebas de API y las pruebas unitarias?

Las pruebas unitarias se enmarcan dentro de las pruebas de caja blanca, mientras que las pruebas de API suelen ser pruebas de caja negra. Dado que un usuario final interactuará con la interfaz de usuario, las pruebas de API deben representar al sistema como un todo. En las pruebas unitarias, una consideración clave es si cada componente o módulo funciona a la perfección. Es decir, para lograr una arquitectura de módulos sólida, se deben minimizar las dependencias. 

13. ¿Qué tipos de pruebas se pueden aplicar a las APIs?

La mayoría de los tipos de pruebas aplicados a pruebas de UI también funcionan para APIs. Algunos de los tipos de pruebas más destacados que puedes mencionar para esta pregunta de entrevista sobre API son:

  • Pruebas funcionales: la mayoría de las veces, querrás comprobar que las APIs hacen lo que están diseñadas para hacer. Esto significa que ejecutarás casos de prueba funcionales sobre las APIs. 
  • Pruebas manuales: que no seas un tester de automatización no significa que no puedas probar APIs. Puedes usar herramientas como Postman para enviar solicitudes y comprobar las respuestas manualmente.
  • Pruebas automatizadas: es buena idea automatizar los casos de prueba de las APIs. Muchas de las herramientas mencionadas anteriormente pueden ayudarte con esto, o puedes crear tu propio marco de trabajo para APIs. 
  • Pruebas de carga: al simular tráfico a las APIs, los testers pueden identificar cuellos de botella antes de que lleguen a producción. En ausencia de una carga en producción, puede ser complicado identificar estos cuellos de botella en entornos de desarrollo. Existen herramientas de prueba de carga que te permiten enviar llamadas HTTP a un endpoint determinado y medir el tiempo de respuesta, los errores y tasas de error, y otros datos valiosos de las respuestas. También pueden ayudar a simular grandes volúmenes de datos para evaluar cómo se comporta una aplicación.
  • Pruebas de seguridad: con las pruebas de seguridad, se protege la implementación de la API frente a amenazas externas. Las fases de las pruebas de seguridad incluyen la verificación de técnicas de cifrado y la arquitectura del control de acceso a la API. También se incluye la gestión de acceso de usuarios y la verificación de autorizaciones.
  • Pruebas de penetración: Con este tipo de pruebas, usuarios que no conocen la API intentarán evaluar el vector de amenaza desde fuera, centrándose en funcionalidades, recursos, flujos de trabajo, o en la API completa y sus componentes.

Ya seas tester manual o trabajes en automatización de pruebas, es fundamental saber cómo trabajar con APIs. Si te estás preparando para preguntas de entrevista sobre pruebas de APIs, espero que este artículo te resulte útil.

¡No olvides suscribirte al boletín de The CTO Club para más consejos y tutoriales sobre pruebas!