Description
El build estaba en verde, desplegaste un viernes, y el lunes un cliente te escribe que su integración devuelve un campo que antes existía y ahora no. Revisás: todos los tests pasaron. Siempre pasan, porque tus tests afirman el status code y nada más, y un 200 puede estar mal en todas las formas que importan. Le entregó a un extraño el registro de otro usuario. Aceptó una entrada que debería haber rechazado. Cambió una forma de respuesta de la que dependen en silencio diez servicios. Hacer clic a mano en Postman no caza nada de esto en el deploy número once, y el que corre el test que salteaste es el cliente. Testear bien una API es una disciplina de verdad: saber qué afirmar más allá del status code, chequear la respuesta contra un schema, cubrir la autenticación y los caminos infelices, y atajar un cambio que rompe con un contract test antes de que lo vea nadie río abajo. Las herramientas te llevan una tarde. Saber qué garantiza de verdad una API correcta, y probarlo en cada commit, es la parte que evita que llegue el mail del lunes.
Este libro te enseña a testear APIs REST y GraphQL como el contrato que son, para que una rotura la cace tu suite y no un cliente en producción. Arranca desde qué afirmar de verdad (el status code es lo de menos: la forma de la respuesta, los valores, los headers, los efectos secundarios, y los errores) y construye una suite real desde ahí. Cubre validar una respuesta contra un schema JSON para que un campo cambiado falle fuerte, testear el contrato completo de métodos y status codes, ejercitar los caminos infelices y los casos límite que un clic feliz nunca toca, y testear la autenticación y los huecos de autorización por objeto (el request que devuelve los datos de otro usuario) que son los bugs de API más comunes y peligrosos. Se pone práctico con las herramientas que usa el campo, el flujo de request-y-afirmar (Postman/Newman, un enfoque code-first con SuperTest o RestAssured, y Python con pytest y requests), tests data-driven sobre muchas entradas, y testear GraphQL donde el endpoint único y las queries flexibles cambian qué afirmás. Los capítulos más difíciles y valiosos son sobre el cambio en el tiempo: contract testing con una herramienta como Pact para que un provider no pueda romper a un consumer sin que el test falle primero, e integrar la suite en CI para que cada commit pruebe que el contrato sigue en pie. Cierra con performance y seguridad como la siguiente capa y lo que cubren esas guías dedicadas. Los ejemplos son una API real, mostrada con el bug que un chequeo de status code se pierde y la afirmación que lo ataja. Para ingenieros que quieren su API probada correcta en cada commit, no supuesta correcta.
Quién debería leerlo
Este libro es para: QA automation e ingenieros backend que tienen que probar que una API es correcta, se mantiene correcta a medida que cambia, y no rompe a los clientes que dependen de ella, y quieren una suite que caza la rotura antes que un cliente.
Con qué te vas a quedar
- Capítulo 1: La demo en verde que lanzó una API rota
- Capítulo 2: Lo que un test en verde se olvida de chequear
- Capítulo 3: El campo renombrado que rompe a todos los clientes
- Capítulo 4: La promesa que todo método HTTP rompe en silencio
- Capítulo 5: Las entradas que tu demo nunca mandó
- Capítulo 6: El bug que le entrega a un extraño los datos de otro
- Capítulo 7: Postman o pytest, y cuándo deja de importar
- Capítulo 8: Un test para los casos que siempre salteás
- Capítulo 9: Por qué todo GraphQL responde 200, hasta los errores
- Capítulo 10: Dos suites en verde, una integración rota
- Capítulo 11: La suite que solo corre cuando te acordás
- Capítulo 12: Cuando una API correcta igual le falla al usuario
- Capítulo 13: Probada correcta, no supuesta correcta


