Empieza por el contrato: códigos de estado, esquema de respuesta, tipos de contenido y campos obligatorios frente a opcionales. Luego valida cada entrada (ausente, tipo incorrecto, fuera de rango, demasiado grande), testea autenticación y autorización incluyendo el acceso al recurso de otro usuario, comprueba la coherencia de las respuestas de error, la idempotencia ante envíos duplicados, la paginación y la ordenación, la limitación de peticiones, y el comportamiento cuando una dependencia falla o se agota el tiempo.
Por qué lo preguntan los entrevistadores
El testing de APIs es donde va a parar la mayor parte del esfuerzo de QA moderno, y el entrevistador quiere saber si pasas del 200 en el camino feliz. Las señales más fuertes son testear la autorización entre usuarios, que caza los bugs reales más graves, más la idempotencia y la coherencia del contrato de errores. Quien solo describe payloads válidos e inválidos está mostrando un modelo superficial de la superficie.
Cómo estructurar tu respuesta
- Explora primero el contrato: códigos, esquema, tipos.
- Ataca sistemáticamente cada campo de entrada.
- Testea autenticación y autorización como cosas distintas.
- Cubre idempotencia, paginación y limitación de peticiones.
- Testea qué pasa cuando una dependencia falla.
Ejemplo de respuesta
Primero mapeo el contrato, porque sin documentación necesito conocer la forma antes de poder juzgarla. Llamada del camino feliz, y luego miro el código de estado, las cabeceras, el cuerpo de la respuesta, y si los campos tienen nombres y tipos coherentes. Después ataco las entradas de una en una: omito cada campo obligatorio, mando una cadena donde va un número, mando un negativo, mando un valor que pase cualquier longitud razonable, mando campos extra que no pidió y miro si los rechaza o los ignora en silencio. Y luego la parte que más me importa, que es la autorización como algo distinto de la autenticación. Estar autenticado no es tener permiso. Así que cojo un token válido de un usuario y pido el recurso de otro usuario por ID, porque esa clase de bug es común y de verdad grave. Después de eso: ¿un POST repetido crea dos registros?, ¿la paginación se comporta en la página cero y más allá del final?, ¿los cuerpos de error tienen forma coherente?, ¿hay limitación de peticiones?, ¿y qué pasa cuando un servicio de más abajo va lento? Le pondría un proxy delante y trastearía las respuestas para ver si degrada o suelta un 500.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cómo verificarías un esquema de respuesta de forma automática en vez de a ojo?
- ¿Cuál es aquí la diferencia entre un 401 y un 403, y la comprobarías?
- ¿Cómo testearías un endpoint que solo acepta peticiones de otro servicio?
Más preguntas para Ingeniero de QA
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas