# Pruebas backend por capa > Estado: **NORMATIVO**. Cada capa prueba su responsabilidad; no se repite la misma validación en todas ellas. ## DTO Probar schemas válidos e inválidos, keys desconocidas cuando aplique, `optional`/`null` y schemas semánticos. Zod se prueba aquí. ## InputMapper Probar `DTO + context → Value Objects/Props`, fallos de Value Objects, conversión a `Maybe` y `Result`/colecciones de errores. No repetir el parsing Zod de la route. ## Use case Probar orquestación, transacción, colaboración con servicios, propagación de `Result` e idempotencia cuando aplique. ## Controller y routes El controller prueba contexto autenticado, input enviado al use case y traducción `Result → HTTP`. Las routes se prueban cuando aporten valor estructural: guards, `validateRequest` y wiring. ## Integración La integración HTTP real se documenta por separado en [Tests HTTP backend](../testing/backend-http-integration.md): Express, módulos, auth/tenant, MariaDB y Sequelize reales.