En este momento estás viendo API Testing: Preguntas y respuestas para una entrevista

API Testing: Preguntas y respuestas para una entrevista

  • Autor de la entrada:
  • Categoría de la entrada:Agile

Sabemos muy bien que ante una próxima entrevista técnica, debemos prepararnos muy bien y con una batería de preguntas y respuestas que sepamos que estamos cubriendo la mayoría de las situaciones y escenarios que se nos puedan plantear. En este caso, si la posición para la cual te estés postulando requiere conocimiento en API Testing, aquí te dejo una serie de preguntas y respuestas que podrán ayudarte en aclararte este tema e incluso, profundizar en aquellos puntos en los que te sientas débil y sumarle otros para complementar.


¿Te imaginas aplicar algún Prompt o utilizar un GPT ó GEM para que te ayude en llegar a un resultado aún mejor, ¿Quisieras que te ayude en aplicar IAGen (Inteligencia Artificial Generativa) para comprender alguna de las preguntas que aquí te comparto o incluso en aumentar esta batería? Puedes ponerte en contacto conmigo por LinkedIn.


¿Qué son las pruebas API?

Las pruebas de API se refieren al proceso de probar interfaces de programación de aplicaciones (API) para garantizar su funcionalidad, confiabilidad, rendimiento y seguridad.

¿Cuáles son los tipos de API?

Existen varios tipos de API, entre las que se incluyen:
API web: estas API están diseñadas para la comunicación a través de la web y se utilizan ampliamente para crear aplicaciones web. Algunos ejemplos incluyen API RESTful, API SOAP y API GraphQL.
API del sistema operativo: se utilizan para interactuar con el sistema operativo subyacente de un dispositivo o servidor. Algunos ejemplos son la API de Windows, la API de iOS y la API de Android.
API de biblioteca: se utilizan para el desarrollo de software. y proporcionar funciones y clases predefinidas para tareas comunes. Algunos ejemplos incluyen la biblioteca de solicitudes de Python, la API JDBC de Java y Entity Framework de NET.
API de hardware: se utilizan para interactuar con dispositivos de hardware, como sensores, cámaras e impresoras. Algunos ejemplos son las API de USB, las API de Bluetooth y las API de GPIO.

Mencione algunas herramientas comunes utilizadas para pruebas de API.

Algunas herramientas comunes utilizadas para pruebas de API incluyen:

Postman: una herramienta popular para diseñar, probar y documentar API. Proporciona una interfaz fácil de usar para enviar solicitudes, inspeccionar respuestas y automatizar pruebas.
Swagger: una herramienta ampliamente utilizada para diseñar, crear y documentar API RESTful. Proporciona un editor visual para diseñar contratos de API y generar documentación.
SoapUI: una herramienta integral para probar API SOAP y RESTful. Admite varios protocolos, formatos de mensajes y métodos de autenticación y ofrece funciones de prueba avanzadas, como pruebas basadas en datos y pruebas de seguridad.

¿Qué es una API RESTful?

RESTful API (Representational State Transfer) es un estilo arquitectónico para diseñar aplicaciones en red. Se basa en un conjunto de restricciones que permiten la escalabilidad, la simplicidad y la interoperabilidad.

¿Qué es SOAP API?

SOAP API (Simple Object Access Protocol) es un protocolo para intercambiar información estructurada para implementar servicios web. Utiliza XML como su formato de mensaje y proporciona un conjunto de reglas para el intercambio de mensajes, manejo de fallas y seguridad.

¿Cuál es la diferencia entre API RESTful y API SOAP?

La principal diferencia entre la API RESTful y la API SOAP radica en sus estilos arquitectónicos y formatos de mensajes. La API RESTful sigue los principios de transferencia de estado representacional (REST) y normalmente utiliza métodos HTTP como GET, POST, PUT y DELETE, con datos representados en formatos como JSON o XML. Por otro lado, la API SOAP utiliza el Protocolo simple de acceso a objetos (SOAP) y normalmente se basa en XML para el intercambio de mensajes, con métodos predefinidos y estructuras de mensajes estrictas.

¿Qué es un punto final de API?

Un punto final de API hace referencia a una URL o URI (Identificador uniforme de recursos) específico que representa un recurso o servicio único proporcionado por una API. Actúa como un punto de interacción para que los clientes envíen solicitudes y reciban respuestas de una API.

Explique la documentación de la API.

La documentación de API es una guía completa que brinda información sobre cómo usar e interactuar con una API. Generalmente, incluye detalles sobre los puntos finales de la API, los formatos de solicitud y respuesta, los métodos de autenticación y autorización, el manejo de errores y otra información relevante.

¿Qué es un marco de pruebas de API?

Un marco de pruebas de API es un conjunto de reglas, convenciones y herramientas predefinidas que proporcionan un enfoque estructurado para diseñar, implementar y ejecutar pruebas de API.

Mencione los métodos HTTP comunes utilizados en las pruebas de API.

Los métodos HTTP comunes utilizados en las pruebas de API son:

GET: Se utiliza para recuperar datos o recursos de una API. POST: Se utiliza para crear nuevos datos o recursos en una API.
PUT: Se utiliza para actualizar datos o recursos existentes en una API. ELIMINAR: Se utiliza para eliminar datos o recursos de una API.
PARCHE: Se utiliza para actualizar parcialmente datos o recursos existentes en una API.

¿Cuál es el propósito de los códigos de estado HTTP en las pruebas de API?

El propósito de los códigos de estado HTTP en las pruebas de API es indicar el resultado de una solicitud de API.
Los códigos de estado son números de tres dígitos incluidos en el mensaje de respuesta del servidor para proporcionar información sobre el resultado de la solicitud.

¿Cuál es el papel de los encabezados en las pruebas de API?

Los encabezados en las pruebas de API juegan un papel importante en el control y la gestión del comportamiento de las solicitudes y respuestas de API.

¿Qué es JSON y por qué se utiliza comúnmente en las pruebas de API?

JSON JSON significa JavaScript Object Notation, un formato liviano de intercambio de datos que se usa comúnmente en las pruebas de API. JSON se usa comúnmente en API RESTful ya que permite la serialización y deserialización de datos eficientes, lo que lo hace ideal para las pruebas de API.

¿Qué es XML y cuándo se utiliza en las pruebas de API?

XML, que significa lenguaje de marcado extensible, define el conjunto de reglas para codificar documentos en un formato legible tanto para humanos como para máquinas. XML se utiliza en las pruebas de API cuando estas requieren el intercambio de datos en formato XML.

¿Cuál es el propósito de la autenticación en las pruebas de API?

El propósito de la autenticación en las pruebas de API es verificar la identidad del solicitante antes de otorgar acceso a recursos protegidos.

¿Cuáles son algunos métodos de autenticación comunes utilizados en las pruebas de API?

Algunos métodos de autenticación comunes utilizados en las pruebas de API incluyen:

Autenticación basada en token: implica emitir un token al cliente después de una autenticación exitosa, que luego se incluye en las solicitudes de API posteriores para autorización.
Autenticación básica: implica enviar el nombre de usuario y la contraseña como parte de los encabezados de solicitud de API, codificados en formato base64.
OAuth: es un marco de autorización ampliamente utilizado que permite delegar derechos de acceso de una entidad a otra sin compartir credenciales.

¿Cómo manejas la autenticación de API en tus pruebas?

En las pruebas de API, la autenticación generalmente se gestiona incluyendo los parámetros de autenticación necesarios, como tokens, claves de API o credenciales de OAuth, en los encabezados o parámetros de consulta apropiados de las solicitudes de API.

¿Qué es el control de versiones de API y por qué es importante en las pruebas de API?

El control de versiones de API es la práctica de especificar un número de versión en el punto final o los encabezados de la API para garantizar la compatibilidad con versiones anteriores y administrar los cambios en la API a lo largo del tiempo. El control de versiones de API es importante en las pruebas de API para garantizar que se esté probando la versión correcta de la API y que los cambios en la API no afecten las aplicaciones cliente existentes.

¿Cuáles son los diferentes tipos de respuestas de error en las pruebas de API?

Los diferentes tipos de respuestas de error en las pruebas de API incluyen:

Códigos de estado de error HTTP: son códigos de estado HTTP estándar, como los códigos 4xx y 5xx, que indican errores en la solicitud o respuesta de la API.
Respuestas de error personalizadas: son mensajes de error personalizados u objetos de error devueltos por la API en caso de errores o excepciones.
Errores de validación: son errores que ocurren cuando la solicitud de API no cumple con los criterios de validación o las restricciones definidas por la API.

¿Cómo gestionas las respuestas de error en tus pruebas de API?

Las respuestas de error en las pruebas de API se pueden manejar verificando los códigos de estado de respuesta, analizando los mensajes de error personalizados o los objetos de error devueltos por la API y validando contra el error esperado.

¿Cuál es el propósito de los parámetros de consulta en las pruebas de API?

Los parámetros de consulta en las pruebas de API se utilizan para pasar parámetros adicionales en la URL de una solicitud de API. Estos parámetros se utilizan para personalizar el comportamiento de la solicitud de API, como filtrar, ordenar o paginar resultados.

¿Cuál es el propósito de los encabezados de solicitud y respuesta en las pruebas de API?

Los encabezados de solicitud y respuesta en las pruebas de API se utilizan para transmitir información adicional sobre la solicitud o la respuesta. Los encabezados de solicitud se pueden utilizar para especificar un tipo de contenido, autenticación, almacenamiento en caché, preferencias de idioma, etc., mientras que los encabezados de respuesta pueden proporcionar información sobre el servidor, el almacenamiento en caché y más.

¿Cuál es el propósito del cuerpo de la solicitud y la respuesta en las pruebas de API?

El cuerpo de la solicitud y la respuesta en las pruebas de API contienen la carga útil o los datos que se envían en los mensajes de solicitud y respuesta. El cuerpo de la solicitud envía datos del cliente al servidor, como parámetros de entrada o datos para crear o actualizar recursos, mientras que el cuerpo de la respuesta contiene los datos que devuelve la API en respuesta a una solicitud.

¿Cómo se manejan los valores dinámicos en las pruebas de API, como marcas de tiempo o datos aleatorios?

Los valores dinámicos en las pruebas de API, como marcas de tiempo o datos aleatorios, se pueden manejar mediante técnicas como pruebas basadas en datos, parametrización o gestión de datos de prueba.

¿Qué es la simulación de API y por qué se utiliza en las pruebas de API?

La simulación de API es la práctica de simular o emular el comportamiento de un punto final de API durante la prueba sin invocar realmente la API real. La simulación de API se utiliza en las pruebas de API para aislar el entorno de prueba de las dependencias externas.

¿Cuáles son las ventajas de utilizar la simulación de API en las pruebas de API?

Independencia de pruebas: la simulación de API permite probarlas de forma aislada sin depender de API externas, lo que reduce las dependencias y las posibles fallas debido a factores externos.
Repetibilidad de las pruebas: la simulación de API garantiza respuestas y comportamientos consistentes durante las pruebas, lo que facilita la reproducción y depuración de problemas.
Control de pruebas: las API de simulación brindan control sobre las respuestas y el comportamiento de los puntos finales de la API, lo que permite realizar pruebas específicas de diferentes escenarios o condiciones de error.

¿Cómo se realizan pruebas de carga en las API?

Las pruebas de carga en las API se pueden realizar simulando muchos usuarios o solicitudes simultáneos al punto final de la API mediante herramientas o marcos de prueba de carga.

¿Qué son las pruebas de seguridad de API y por qué son importantes?

Las pruebas de seguridad de API son la práctica de evaluar la postura de seguridad de una API para identificar y mitigar posibles riesgos o vulnerabilidades de seguridad. En las pruebas de API, es importante garantizar que las API sean seguras y protejan los datos confidenciales.

¿Cuáles son algunas vulnerabilidades de seguridad comunes en las API?

Ataques de inyección: ocurren cuando se incluyen datos no confiables directamente en las solicitudes o respuestas de API, lo que permite a los atacantes ejecutar comandos maliciosos o inyectar código malicioso.

Vulnerabilidades de autenticación y autorización: se producen cuando la autenticación o los mecanismos de autorización son débiles o están implementados incorrectamente, lo que lleva a acceso no autorizado o escalada de privilegios.

Ataques de secuencias de comandos entre sitios (XSS): ocurren cuando una API no valida o desinfecta correctamente la entrada del usuario, lo que permite que se inyecten y ejecuten scripts maliciosos en las respuestas que se muestran en los navegadores web.

¿Cómo garantizas la seguridad de las API en tus pruebas?

Algunas de las mejores prácticas para garantizar la seguridad de las API en sus pruebas incluyen:

Validación de entrada: asegúrese de que todos los datos de entrada en las solicitudes de API estén correctamente validados y desinfectados para evitar ataques de inyección.
Autenticación y autorización: Implementar y validar adecuadamente los mecanismos de autenticación y autorización para garantizar que solo los usuarios autorizados puedan acceder a los puntos finales de la API. y realizar acciones autorizadas.
Comunicaciones seguras: utilice protocolos de comunicación seguros, como HTTPS, para cifrar los datos transmitidos entre el cliente y el servidor.

¿Qué es el script entre sitios (XSS) y cómo se puede prevenir en las pruebas de API?

El cross­site scripting (XSS) es un tipo de vulnerabilidad en la que se inyectan secuencias de comandos maliciosas en páginas web. Se puede prevenir validando y depurando adecuadamente la entrada del usuario en las solicitudes de API.

¿Qué es la falsificación de solicitud entre sitios (CSRF) y cómo se puede prevenir en las pruebas de API?

La falsificación de solicitudes entre sitios (CSRF) es un ataque en el que se realizan acciones no autorizadas en nombre de usuarios autenticados. Se puede prevenir implementando tokens CSRF y verificando solicitudes en pruebas de API.

¿Qué es la validación de entrada y por qué es importante en las pruebas de API?

La validación de entrada es el proceso de validación y limpieza de la entrada del usuario para evitar vulnerabilidades de seguridad. Es importante en las pruebas de API para evitar ataques de inyección y otras actividades maliciosas.

¿Cuáles son algunas de las mejores prácticas para las pruebas de API?

Las mejores prácticas para las pruebas de API incluyen la validación de entrada, autenticación y autorización adecuadas, y el manejo de errores. pruebas de seguridad, controles de acceso y actualizaciones y parches regulares.

¿Cómo gestionas el control de versiones de API en tus pruebas?

El control de versiones de la API se puede gestionar en las pruebas incluyendo información de versiones en los puntos finales o encabezados de la API y garantizando la compatibilidad con versiones anteriores para evitar romper la funcionalidad existente.

¿Cuáles son algunas técnicas para manejar tiempos de espera y reintentos de API en pruebas?

En las pruebas, las técnicas para manejar tiempos de espera y reintentos de API incluyen establecer umbrales de tiempo de espera adecuados, implementar reintentos con estrategias de retroceso y manejar respuestas de error de manera elegante.

¿Qué son las pruebas de contrato API y por qué son importantes?

Las pruebas de contrato de API son importantes para validar la compatibilidad entre consumidores y proveedores de API. Se puede realizar utilizando herramientas como Swagger, Postman o marcos de pruebas de contrato especializados.

¿Cómo realizas pruebas de contrato API en tus pruebas?

Las pruebas de contrato de API verifican que las API cumplan con las expectativas y comportamientos predefinidos, lo que garantiza la compatibilidad y la confiabilidad.

¿Qué son las pruebas de rendimiento de API y por qué son importantes?

Las pruebas de rendimiento de API son importantes para medir el tiempo de respuesta, el rendimiento y la utilización de recursos de las API. Se pueden realizar con herramientas como JMeter, LoadRunner, o Gatling.

¿Cómo mides el rendimiento de las API en tus pruebas?

El rendimiento de la API se mide mediante métricas clave como el tiempo de respuesta, la latencia, el rendimiento y la tasa de errores. Las herramientas de prueba de carga y estrés (por ejemplo, Postman, JMeter o k6) ayudan a evaluar la eficiencia de la API en diferentes condiciones. El monitoreo del tiempo de actividad, la escalabilidad y el cumplimiento de los acuerdos de nivel de servicio también garantizan un rendimiento óptimo de la API.

¿Qué es la monitorización de API y por qué es importante?

La supervisión de las API es importante para garantizar la disponibilidad, el rendimiento y la seguridad de las API.

¿Cuáles son algunas herramientas comunes utilizadas para la monitorización de API?

Las herramientas comunes utilizadas para la monitorización de API incluyen Prometheus, Grafana y ELK Stack.

¿Qué es la virtualización de API y por qué se utiliza en las pruebas de API?

La virtualización de API es el proceso de simulación de API con fines de prueba. Se utiliza en pruebas de API para aislar dependencias, simular respuestas y garantizar un comportamiento coherente.

¿Cuáles son los beneficios de utilizar la virtualización de API en las pruebas de API?

Los beneficios de utilizar la virtualización de API en las pruebas de API incluyen una menor dependencia de sistemas externos, pruebas más rápidas y aisladas y una mejor repetibilidad de las pruebas.

¿Cómo gestiona el control de versiones y la compatibilidad con versiones anteriores en sus pruebas de API?

El control de versiones y la compatibilidad con versiones anteriores en las pruebas de API se pueden gestionar manteniendo la compatibilidad con versiones anteriores de las API existentes, proporcionando información clara sobre las versiones y actualizando las pruebas en consecuencia.

¿Cuál es el propósito de la documentación de API en las pruebas de API?

La documentación de API es importante en las pruebas de API para comprender los puntos finales de API, sus funcionalidades y cómo usarlos correctamente.

¿Cómo genera y mantiene la documentación de API en sus pruebas?

Se puede generar y mantener utilizando herramientas como Swagger, API Blueprint o OpenAPI.

¿Cuáles son algunas de las mejores prácticas para la automatización de pruebas de API?

Las mejores prácticas para la automatización de pruebas de API incluyen el uso de un marco o herramienta para la automatización, el diseño de scripts de prueba reutilizables y mantenibles, la incorporación de la gestión de datos de prueba y el aprovechamiento
de prácticas de integración y entrega continuas (CI/CD).

¿Cómo gestionas los cambios y actualizaciones de la API en tus pruebas?

Los cambios y actualizaciones de API se pueden manejar en las pruebas actualizando los scripts de prueba, volviendo a probar las funcionalidades afectadas y asegurando la compatibilidad con versiones anteriores antes de implementar los cambios en producción.

¿Cómo se priorizan los casos de prueba de API para las pruebas de regresión?

La priorización de los casos de prueba de API para pruebas de regresión se puede basar en la criticidad de las API, el impacto en las funcionalidades comerciales, la frecuencia de uso de las API y los comentarios de las partes interesadas.


RECURSOS

API Generator

Este recurso GRATUITO es para desarrolladores y testers que han avanzado en este campo.

Crea APIs REST de prueba en segundos:

  • Métodos GET, POST, PUT y DELETE
  • Datos aleatorios para la respuesta
  • Compatible con HTTPS y CORS
  • Sin despliegues

retool.com/api-generator

Fuente de la info (miembro de LinkedIn): Miguel Angel Durán García


9 types of API Testing

Imagen aportado en Linkedin por: Yogesh TyagiYogesh Tyagi


GPT: UI & API Test Case Generator

Por VIJAYALAKSHMI T

Creates detailed test cases in table format for UI and API testing.

[acceso al GPT]

Comentario acerca de este GPT: Lo poco que exploré me pareció interesante, no obstante te recomiendo que vayas interactuando de manera incremental y chequeando los resultados que te entregue. Debes tener siempre un punto de comparación, una referencia, y por supuesto conocimiento en la materia para poder evaluar correctamente.


5 APIs públicas

1. Dragon Ball API
https://lnkd.in/e9dBxkv2
Accede a información sobre personajes, sagas, transformaciones y más del universo de Dragon Ball

2. One Piece API
https://lnkd.in/eWvkdvc7
Obtén datos sobre personajes, tripulaciones y arcos argumentales de One Piece

3. Attack on Titan API
https://lnkd.in/eUtcnR62
Consulta información sobre titanes, personajes, facciones y episodios del mundo de Attack on Titan

4. NarutoDB API
https://narutodb.xyz/
Explora detalles sobre clanes, jutsus, aldeas y personajes del universo de Naruto

5. Jikan API
https://jikan.moe/
API para acceder a datos de animes, mangas y personajes

Fuente de la info (miembro de LinkedIn): Evelyn Daniela Mendez Gomez

Gus Terrera

Apasionado por el agile testing y la ia.