API Testing Técnicas
Testing de APIs REST: testing
· Sergio Morán Reina
Testing de APIs REST: Más allá del 200 OK
Muchos equipos se quedan en validar que un endpoint devuelva 200 OK. Pero un API de calidad requiere validaciones mucho más exhaustivas.
Validación de schemas
Una API que cambia su contrato sin avisar puede romper docenas de integraciones. Utilizo JSON Schema para validar responses:
const schema = {
type: 'object',
required: ['id', 'name', 'email'],
properties: {
id: { type: 'integer' },
name: { type: 'string', minLength: 1 },
email: { type: 'string', format: 'email' }
}
};
pm.test('Schema is valid', () => {
pm.response.to.have.jsonSchema(schema);
});
Performance testing en pipelines
pm.test('Response time is acceptable', () => {
pm.expect(pm.response.responseTime).to.be.below(500);
});
Escenarios de error críticos
- Rate limiting: 429 Too Many Requests
- Autenticación expirada: 401 con refresh token
- Datos inválidos: 400 con mensajes de error útiles
- Recursos no encontrados: 404 consistente
Herramientas recomendadas
| Uso | Herramienta |
|---|---|
| Exploración manual | Postman / Insomnia |
| Tests automatizados | REST Assured (Java) / Supertest (Node) |
| BDD para APIs | Karate DSL |
| Documentación viva | OpenAPI + Dredd |
Conclusión
Un API bien testeado no es solo funcional: es predecible, documentado y resiliente.
#postman
#rest-assured
#openapi
#karate