Páginas generadas
714
Páginas estáticas generadas después de añadir especialidades, herramientas y rutas localizadas.
Prueba de ingeniería
Esta página muestra la lógica técnica detrás de la plataforma: arquitectura web, backend NestJS, calidad, pruebas, operaciones, SEO, i18n y disciplina de entrega.
Páginas generadas
714
Páginas estáticas generadas después de añadir especialidades, herramientas y rutas localizadas.
Idiomas activos
6
Francés, inglés, árabe, español, alemán y neerlandés con rutas dedicadas.
Cadena de calidad
Typecheck + Build
Validación frontend sistemática antes de congelar los cambios.
Backend quality is module-owned.
Each serious module can expose its own perf, contract, unit, integration, E2E, smoke, security and mutation phases.
Mapa del sistema
La prueba no viene de una sola página. Viene del conjunto: sitio público, API, admin, documentación, herramientas, contenido localizado y calidad.
Next.js, localized routes, SEO, sitemap, expertise pages and documentation.
NestJS API for contact, chatbot, analytics, communication and product workflows.
Future supervision for requests, conversations, logs, statistics and operations.
Developer packs, scripts, transactional SMS gateway and local AI workstation.
Prueba backend
El objetivo es mostrar capacidad para estructurar módulos, contratos, validaciones, flujos de dominio, seguridad e integraciones.
NestJS
Modules, services, DTOs, guards, validation and maintainable API contracts.
Prisma
Models, transactions, constraints and clear separation between domain and storage.
Realtime
Chat, support, notifications and admin interfaces connected to real system state.
Communication
Transactional channels designed with limits, logs, security and precise usage.
Controller receives a public operation through a documented route.
class-validator, Swagger metadata and ValidationPipe must stay aligned.
Access rules, JWT context, throttling and role checks protect the boundary.
Business rules are isolated, testable and protected by explicit branches.
Transactions, constraints and persistence shape are verified by tests.
Schemathesis, smoke, ZAP, k6 and Stryker expose behavior from outside.
Metodología backend
NestJS, Spring Boot, Python, Go o .NET: el principio sigue igual. Comprender, bloquear, mejorar, medir, endurecer y documentar.
Leer rutas, DTOs, guards, servicios, base de datos, errores y contratos públicos.
Comprender el sistema antes de modificarlo.
Aclarar responsabilidades sin reescribir el producto ni romper el comportamiento existente.
Reducir deuda sin crear una migración riesgosa.
Bloquear comportamientos existentes con pruebas simples pero útiles.
Crear una red de seguridad antes de correcciones profundas.
Probar ramas, errores, límites, transacciones, null, undefined y excepciones.
Atacar ángulos muertos que las pruebas superficiales ignoran.
Validar fronteras reales entre API, autenticación, base de datos y servicios.
Probar el comportamiento fuera del aislamiento.
Medir latencia, concurrencia, contención DB, N+1, throttling, memoria y rutas lentas.
Encontrar lo que falla cuando el backend recibe carga real.
Usar OpenAPI y Schemathesis para enfrentar el contrato público al comportamiento real.
Corregir DTOs, Swagger, ValidationPipe y respuestas documentadas.
Añadir smoke checks, ZAP, logs y verificación runtime.
Observar el sistema como realmente se ejecuta.
Usar Stryker para verificar que las pruebas detectan cambios de comportamiento.
Medir la fuerza de las pruebas, no solo la cobertura.
Guardar comandos, reportes, runners y decisiones de forma reutilizable.
Hacer la calidad transferible al equipo y futuros proyectos.
Definición de pruebas
La calidad backend no es una pila de carpetas. Cada fase responde a una pregunta precisa: corrección, integración, contrato, robustez, seguridad y resistencia al cambio.
Verifica tipado, ESLint, Prettier, build y hooks Git antes de confiar en el runtime.
When
Antes de suites pesadas, antes de commit, antes de push y antes de investigar errores profundos.
Why
Husky, ESLint y Prettier evitan que entre ruido al repositorio: formato roto, deuda de estilo, errores estáticos o build inválido.
Mide latencia, tasa de error, concurrencia y límites visibles bajo carga.
When
Antes de validar un módulo expuesto o después de un refactor sensible.
Why
Un backend puede pasar tests unitarios y fallar bajo concurrencia real.
Ataca endpoints automáticamente desde el contrato OpenAPI publicado.
When
Después de estabilizar DTOs, Swagger, ValidationPipe y estados HTTP.
Why
Revela diferencias entre documentación, validación real y respuestas.
Aísla decisiones, DTOs, servicios, guards o mappers para verificar ramas.
When
Al inicio del hardening, antes de refactors y para matar mutantes.
Why
Bloquea reglas importantes sin depender de red, base de datos o módulo completo.
Verifica fronteras entre módulos, providers, transacciones, base y servicios.
When
Cuando la lógica depende de Prisma, repositorios o composición de servicios.
Why
Detecta errores que los mocks optimistas pueden ocultar.
Prueba un flujo API completo desde HTTP hasta comportamiento esperado.
When
Para flujos críticos como auth, contacto, admin, soporte o notificaciones.
Why
Prueba que controller, validación, auth, servicio y respuesta trabajan juntos.
Comprueba rápidamente que el sistema vivo responde en rutas críticas.
When
Después de build, despliegue local o cambio de entorno.
Why
Evita lanzar suites caras contra una API caída o mal configurada.
Observa la superficie HTTP expuesta para señales básicas de seguridad.
When
En rutas públicas, admin, auth o cualquier endpoint expuesto.
Why
Añade una visión runtime de la superficie atacable.
Cambia el código para verificar si los tests detectan cambios de comportamiento.
When
Después de una cobertura sólida, para medir la fuerza real de los tests.
Why
La cobertura no basta; Stryker mide si las assertions protegen de verdad.
portfolio-api/test
Each backend module owns the same quality surface, from contract checks to mutation testing, with a dedicated global runner and local README.
Load, latency and concurrency baseline.
OpenAPI contract attack against real endpoints.
DTOs, services, guards, modules and branch decisions.
Database, providers and cross-service boundaries.
Real API flows through the application surface.
Runtime availability and critical path sanity checks.
Basic exposed security signals.
Stryker mutation strength and test robustness.
Sample modules already shaped with this convention
test/<module>/
├── 01-perf
├── 02-schemathesis
├── 03-unit
├── 04-integration
├── 05-e2e
├── 06-smoke
├── 07-zap
├── 08-mutation
├── scripts/run-<module>-global.sh
└── README.mdOne command can run the module quality chain with explicit toggles.
MODULE_NAME="admin-auth"RUN_ADMIN_AUTH_SCHEMATHESIS="${RUN_ADMIN_AUTH_SCHEMATHESIS:-true}"RUN_ADMIN_AUTH_SMOKE="${RUN_ADMIN_AUTH_SMOKE:-true}"RUN_ADMIN_AUTH_UNIT="${RUN_ADMIN_AUTH_UNIT:-true}"RUN_ADMIN_AUTH_INTEGRATION="${RUN_ADMIN_AUTH_INTEGRATION:-true}"RUN_ADMIN_AUTH_E2E="${RUN_ADMIN_AUTH_E2E:-true}"RUN_ADMIN_AUTH_MUTATION="${RUN_ADMIN_AUTH_MUTATION:-true}"OpenAPI is fetched from the running API, then attacked in Docker.
SCHEMA_FETCH_URL="${SCHEMA_FETCH_URL:-http://localhost:4002/api/docs-json}"SCHEMATHESIS_BASE_URL="${SCHEMATHESIS_BASE_URL:-http://host.docker.internal:4002}"SCHEMATHESIS_PATH_REGEX="${SCHEMATHESIS_PATH_REGEX:-^/api/v1/admin/auth/(login|refresh|logout|me)$}"docker run --rm --add-host=host.docker.internal:host-gateway \ ghcr.io/schemathesis/schemathesis:stable run openapi-admin-auth.jsonMutation score is a hard quality threshold, not a vanity metric.
{ "testRunner": "jest", "mutate": ["src/modules/admin-auth/**/*.ts"], "coverageAnalysis": "perTest", "thresholds": { "high": 100, "low": 100, "break": 100 }}Performance tests expose latency and failure-rate risks outside unit isolation.
export const options = { thresholds: { http_req_failed: ["rate<0.01"], checks: ["rate>0.99"], "http_req_duration{endpoint:health}": ["p(95)<250", "p(99)<500"], },};Herramienta → riesgo
La calidad no es una lista de logos. Cada etapa tiene una razón precisa y cubre un ángulo diferente.
TypeScript
Detecta incoherencias antes del runtime, especialmente en DTOs, servicios y contratos internos.
Unit tests
Bloquean reglas importantes, ramas, errores y casos límite aislados.
Integration tests
Verifican interacciones entre servicios, transacciones, base de datos y dependencias.
E2E tests
Validan flujos reales desde el endpoint hasta el comportamiento esperado.
k6
Expone latencia, locks, N+1, contención y comportamientos que no aparecen aislados.
Schemathesis
Revela diferencias entre Swagger, DTOs, ValidationPipe, estados HTTP y respuestas reales.
ZAP
Detecta señales básicas de seguridad visibles desde fuera.
Stryker
Prueba si la suite detecta mutaciones de comportamiento.
Modelo de confianza
Este gráfico es un modelo pedagógico, no una estadística científica.
El código compila y se reducen errores evidentes.
Las decisiones principales empiezan a estar bloqueadas.
Las fronteras servicio/base/API son más seguras.
Los flujos reales se validan de extremo a extremo.
El contrato público se ataca automáticamente.
Performance, smoke y seguridad runtime añaden visión real.
La suite demuestra que detecta cambios peligrosos.
Pipeline de calidad
Cada etapa reduce una categoría de riesgo: tipado, contrato, comportamiento, runtime, seguridad o robustez de pruebas.
01
Check typing, formatting, conventions and obvious errors before runtime.
02
Test business decisions, integrations and end-to-end user paths.
03
Attack API contracts and verify that documentation reflects real behavior.
04
Actively look for weaknesses instead of stopping at a green build.
Lo que demuestra
La página muestra un método: estructurar, verificar, documentar, localizar, medir y refactorizar cuando aparece un límite.
Pages, content, components and routes are separated to stay maintainable.
Oversized files are split instead of being accepted as silent debt.
Sitemap, canonical, hreflang and localized routes are treated as public contracts.
The site itself demonstrates the expected level: content, UI, architecture and validation.
Prueba utilizable
Para una misión backend, recuperación técnica o plataforma producto, esta página sirve como entrada técnica.