Skip to content
StackPractices

testing

Recursos prácticos sobre testing para ingenieros de software.

89 resultados

Estrategias de Testing que Entregan con Confianza

El testing no se trata solo de encontrar bugs — se trata de entregar más rápido, refactorizar sin miedo y documentar comportamiento a través de specs ejecutables. Una base de código bien testeada reduce el tiempo de respuesta a incidentes y la fricción de onboarding.

Explora recetas para unit testing con mocks, testing de integración con dependencias reales, testing end-to-end con Playwright y load testing con k6. Cada patrón incluye instrucciones de setup, estrategias de aserción y tips de integración CI/CD.

beginner

Mocks de resolvers GraphQL para desarrollo frontend

Configura resolvers GraphQL mockeados con Apollo Server para que los equipos frontend desarrollen contra una API falsa antes del backend

intermediate

Testing de Carga de APIs con k6 y Aserciones Basadas en

Como escribir y ejecutar tests de carga con k6 para medir rendimiento de APIs, validar SLOs e identificar cuellos de botella antes del despliegue a produccion

intermediate

Testear Contratos de API con Consumer-Driven Contracts

Cómo prevenir cambios breaking entre microservicios usando contract testing consumer-driven con Pact y validadores de OpenAPI.

intermediate

API Mocking para Testing

Construye tests confiables mockeando APIs externas con WireMock, MockServer y MSW para eliminar flakiness y testear casos edge.

beginner

Generar Datos de Test

Cómo generar datos de test realistas y deterministas con Faker, factory-boy y generadores type-aware para suites de test confiables en Python, JavaScript y Java.

advanced

Implementar Mutation Testing

Cómo usar mutation testing con MutPy, Stryker y PIT para evaluar si tus tests realmente asertan comportamiento o simplemente ejecutan código.

intermediate

Implementar Property-Based Testing

Cómo escribir tests property-based con Hypothesis, fast-check y jqwik que generan miles de entradas para encontrar casos edge que los tests tradicionales no detectan.

intermediate

Diseñar Tests de Integración Efectivos para Sistemas

Cómo escribir tests de integración que verifiquen interacciones de componentes usando test containers, contratos de API, consumer-driven contracts y contract testing en Java, TypeScript y Python.

intermediate

Escribir Tests de Integración

Cómo testear múltiples componentes trabajando juntos usando bases de datos reales, clientes HTTP y colas de mensajes en Python, JavaScript y Java.

intermediate

JUnit5 Soft Assertions con AssertJ

Cómo usar AssertJ soft assertions en JUnit5 para recolectar múltiples fallos de aserción en un solo test en lugar de detenerse en el primer fallo.

advanced

Testcontainers para Tests de Integración en Java

Cómo usar Testcontainers en JUnit5 para levantar contenedores reales de Postgres, Redis y Kafka para tests de integración confiables y reproducibles.

intermediate

Stubear Servicios HTTP Externos con WireMock

Cómo usar WireMock en tests de Java para stubear servicios HTTP externos, incluyendo templating de respuestas, simulación de delays y comportamiento stateful.

intermediate

Mockear Peticiones de Red con MSW

Cómo usar Mock Service Worker (MSW) para interceptar peticiones de red en tests y desarrollo de JavaScript, incluyendo mocking de REST y GraphQL.

intermediate

Vitest Snapshot Testing para React

Cómo usar Vitest snapshot testing para detectar cambios no intencionados en la UI de componentes React, incluyendo inline snapshots y flujos de actualización.

beginner

Snapshot Testing de Componentes React con Jest

Como usar snapshot testing de Jest para detectar regresiones de UI no intencionales en componentes React y prevenir bugs visuales en produccion

intermediate

Realizar Load Testing en APIs

Cómo simular tráfico realista, medir tiempos de respuesta e identificar cuellos de botella usando k6 y JMeter para APIs y servicios web.

beginner

Medir Cobertura de Test

Cómo medir, reportar y hacer cumplir la cobertura de código con branch y condition coverage usando pytest-cov, nyc y JaCoCo para quality gates significativos.

intermediate

Testear APIs Express con supertest

Cómo testear endpoints REST de Express.js end-to-end usando supertest, incluyendo códigos de estado, bodies JSON, headers, autenticación y manejo de errores.

beginner

Medir Cobertura de Tests con pytest-cov

Cómo medir y exigir umbrales de cobertura de tests en Python con pytest-cov, incluyendo branch coverage, reportes HTML, exclusiones e integración con CI.

advanced

Property-Based Testing con Hypothesis

Cómo usar Hypothesis para property-based testing en Python, generando cientos de casos de test automáticamente desde strategies en lugar de escribirlos a mano.

intermediate

Mockear APIs Externas con responses

Cómo mockear llamadas HTTP en tests de Python usando la librería responses, incluyendo códigos de estado, headers, bodies JSON y simulación de errores.

intermediate

Pytest Fixtures y Parametrize

Cómo usar pytest fixtures y @pytest.mark.parametrize para escribir tests data-driven con lógica de setup reutilizable en proyectos Python.

beginner

Configurar Fixtures de Test

Cómo gestionar fixtures de test con patrones factory, hooks de setup/teardown y datos deterministas para tests unitarios e integración confiables en Python, JavaScript y Java.

beginner

Escribir Unit Tests con Mocks y Stubs

Cómo aislar código bajo test usando objetos mock, stubs y spies para reemplazar dependencias externas como bases de datos, APIs y sistemas de archivos.

beginner

Pruebas Unitarias

Cómo escribir pruebas unitarias rápidas y deterministas con mocks y assertions en Python, JavaScript y Java.

advanced

Patrón Contract Testing

Cómo usar contract testing para verificar que producers y consumers de API acuerdan en shapes de request y response. Cubre Pact consumer-driven contracts y provider verification.

beginner

Patrón Fixture Setup/Teardown

Cómo usar setup y teardown fixtures para crear contexto de test reutilizable. Cubre beforeEach, factory functions, fixture objects y cleanup con ejemplos.

advanced

Golden Master Testing

Cómo usar golden master testing para caracterizar comportamiento de legacy code antes de refactorizar. Cubre captura de output, comparación de baselines, e incremental refactoring.

intermediate

Patrón Mock Server: Mock Server para Aislamiento de

Cómo usar mock servers para aislar integration tests de dependencias externas. Cubre WireMock, nock, MSW, y Mountebank con ejemplos de configuración.

beginner

Patrón Parameterized Test

Cómo escribir parameterized tests para verificar la misma lógica across múltiples inputs. Cubre pytest parametrize, Jest test.each, JUnit ParameterizedTest y data providers.

intermediate

Patrón Snapshot Testing

Cómo usar snapshot testing para detectar cambios no intencionales en output serializado. Cubre Jest snapshots, pytest-snapshot, e inline vs external snapshots.

intermediate

Patrón Test Double: Reemplazar Dependencias con Stubs,

Cómo usar test doubles para aislar unidades bajo test. Cubre stubs, spies, fakes, mocks y dummy objects con ejemplos en Python, JavaScript y Java.

intermediate

Patrón Test Pyramid: Balancear Proporciones de Unit,

Cómo estructurar un test suite usando la test pyramid. Cubre proporciones de unit, integration y E2E tests, la testing trophy, y el anti-pattern ice cream cone.

intermediate

Plantilla de Política de Gobernanza de Datos

Una plantilla para clasificación, retención, control de acceso, privacidad y cumplimiento de datos cubriendo GDPR, CCPA y SOC 2.

intermediate

Plantilla de Documento de Diseño de Data Pipeline

Una plantilla para documentar sources, transforms, sinks, scheduling, error handling y monitoring de data pipelines con schema definitions.

intermediate

Plantilla de Reglas de Calidad de Datos

Una plantilla para definir reglas de validación por dataset y columna: completeness, consistency, accuracy, timeliness y uniqueness checks.

intermediate

Plantilla de Runbook para Jobs ETL

Un runbook para operar, monitorear y troubleshootear jobs ETL: startup, shutdown, health checks, common failures, diagnostics y recovery.

intermediate

Plantilla de Diseño de Pipeline CI/CD

Una plantilla para documentar stages, gates, environments, deployment strategies, rollback procedures y security scanning de pipelines CI/CD.

beginner

Plantilla de Checklist para Code Review

Una checklist estructurada para realizar revisiones de codigo consistentes y exhaustivas que detecten bugs, mejoren la legibilidad y compartan conocimiento entre el equipo.

intermediate

Checklist de Revisión de Helm Charts

Un checklist para revisar Helm charts cubriendo values, templates, security, resource limits, probes, RBAC y best practices.

intermediate

Plantilla de Pod Disruption Budget de Kubernetes

Una plantilla para definir Pod Disruption Budgets que controlan voluntary disruptions durante node drains, upgrades y maintenance windows.

intermediate

Plantilla de Alcance de Prueba de Penetracion

Una plantilla para definir los limites, objetivos, reglas y entregables de una prueba de penetracion.

intermediate

Política de Gestión de Estado de Terraform

Una política para gestionar Terraform state files: backend configuration, locking, isolation, access control, versioning y disaster recovery.

intermediate

Checklist de Auditoría de Accesibilidad

Un checklist de cumplimiento WCAG 2.2 cubriendo criterios perceivable, operable, understandable y robust con herramientas y pasos de remediación.

intermediate

Plantilla de Matriz de Soporte de Navegadores

Una plantilla para trackear targets de soporte de navegadores, compatibilidad de features, requisitos de polyfills y estrategias de fallback.

intermediate

Plantilla de Documentación de Component API

Una plantilla para documentar APIs de componentes UI: props, events, slots, methods, accessibility y usage examples con TypeScript types.

intermediate

Plantilla de Performance Budget Frontend

Una plantilla para definir budgets de JS, CSS, imágenes y fonts por ruta con estrategias de enforcement y thresholds de monitoreo.

intermediate

Plantilla de Runbook de Alertas

Un runbook estandarizado para responder alertas: triage, diagnosis, mitigation, resolution y post-incident steps con escalation paths.

intermediate

Plantilla de Diseño de Dashboards

Una plantilla para diseñar dashboards de observabilidad con SLOs, error budgets, service health e información contextual para on-call teams.

intermediate

Plantilla de Postmortem de Incidentes

Una plantilla de postmortem blameless para documentar incidentes: timeline, impact, root cause, contributing factors y action items con owners.

intermediate

Plantilla de Evaluación de Madurez de Observabilidad

Una plantilla para evaluar madurez de logging, metrics y tracing across teams con scoring, gap analysis y improvement roadmap.

intermediate

Plantilla de Load Test Plan

Plantilla para planear y documentar load tests: test scenarios, user journey definitions, ramp-up strategies, success criteria, monitoring setup, tool selection (k6, JMeter, Locust), result analysis y reporting con ejemplos de codigo para cada tool.

intermediate

Plantilla de Política de Control de Acceso

Una plantilla para definir autenticación, autorización, RBAC, ABAC, MFA, políticas de contraseñas, gestión de sesiones y revisiones de acceso.

advanced

Runbook de Rotación de Claves de Cifrado

Un runbook para rotación de claves de cifrado cubriendo tipos de clave, schedules de rotación, migración dual-key sin downtime, verificación y rollback.

intermediate

Plantilla de Plan de Respuesta a Incidentes

Una plantilla para respuesta a incidentes cubriendo clasificación de severidad, roles, detección, contención, erradicación, recuperación y revisión post-incidente.

intermediate

Plantilla de Informe de Prueba de Penetración

Una plantilla para informes de pruebas de penetración cubriendo alcance, metodología, hallazgos, severidad, evidencia y recomendaciones de remediación.

intermediate

Checklist de Auditoría de Seguridad

Un checklist para auditorías de seguridad cubriendo network security, application security, data protection, access control, monitoring y compliance.

intermediate

Plantilla de Respuesta a Incidentes de Seguridad

Una plantilla para respuesta a incidentes de seguridad cubriendo detección, clasificación, contención, erradicación, recuperación, comunicación y revisión post-incidente.

intermediate

Plantilla de Proceso de Gestión de Vulnerabilidades

Una plantilla para gestión de vulnerabilidades cubriendo descubrimiento, triaje, priorización, SLAs de remediación, verificación y procedimientos de reporte.

intermediate

Plantilla de Estrategia de Testing de API

Una plantilla para planificar tests de contrato, integración y carga para APIs.

beginner

Plantilla de Pasos de Reproducción de Bugs

Una plantilla para escribir pasos de reproducción mínimos y confiables que ayudan a developers a reproducir y fixear issues rápidamente.

beginner

Plantilla de Informe de Pruebas de Carga

Una plantilla estandarizada para documentar resultados de pruebas de carga y recomendaciones.

intermediate

Checklist de Pruebas de Regresión

Un checklist para verificar funcionalidad existente después de cambios: pre-deploy checks, post-deploy smoke tests y verificación de rollback.

beginner

Plantilla de Caso de Prueba

Un formato estandarizado de caso de prueba con pasos, resultados esperados, precondiciones y postcondiciones para testing manual y automatizado.

intermediate

Plantilla de Reporte de Cobertura de Pruebas

Una plantilla para reportar cobertura de pruebas por módulo, feature y critical path con análisis de tendencias e identificación de gaps.

intermediate

Plantilla de Documento de Estrategia de Pruebas

Una plantilla para documentar la estrategia de pruebas por proyecto: pirámide, alcance, entornos, herramientas, gates de CI/CD y métricas de calidad.

advanced

Referencia Detallada de AI Agents en Producción

Construir AI agents en produccion. Cubre arquitecturas de agents, tool use, planning, memory, multi-agent systems, patrones ReAct, function calling, human-in-the-loop, safety y deployment para agents autonomos confiables.

advanced

Referencia Detallada de LangChain en Producción

Ejecutar LangChain en produccion. Cubre chains, agents, memory, tools, LCEL, streaming, callbacks, integracion RAG, evaluacion y patrones de deployment para aplicaciones LangChain confiables.

advanced

Referencia Detallada de Evaluación de LLM

Evaluar aplicaciones LLM en produccion. Cubre RAGAS, LLM-as-judge, evaluacion humana, A/B testing, deteccion de hallucinations, toxicity scoring, regression testing y pipelines de evaluacion automatizados.

advanced

Referencia Detallada de Testing GraphQL

Testear APIs GraphQL en cada capa: unit tests para resolvers, integration tests para esquemas, E2E para operaciones. Cubre mocking, fixtures, snapshot testing y performance testing.

intermediate

Clean Code: Naming, Functions, Classes, Comments

Dominá clean code principles: meaningful naming, small functions, single responsibility, comments, formatting, error handling y patrones de code quality en producción.

intermediate

Code Reviews: Reviewer Mindset, Feedback, Automation

Dominá code review best practices: reviewer mindset, constructive feedback, review checklists, automated checks, PR sizing y cómo construir una strong review culture.

intermediate

Refactoring: Extract Method, Replace Conditional

Dominá refactoring techniques: extract method, replace conditional with polymorphism, move function, extract class, rename y safe refactoring workflows con tests.

intermediate

Referencia Detallada de Technical Debt: Track, Prioritize, Pay Down

Dominá technical debt management: identificá debt types, trackeá con debt registers, priorizá usando impact vs effort, agendá paydown sprints y medí debt reduction.

advanced

Referencia Detallada de Concurrencia en Go

Concurrencia en Go en produccion. Cubre goroutines, channels, context, select, sync primitives, worker pools, pipelines, fan-out/fan-in y patrones para aplicaciones Go concurrentes de alto throughput.

advanced

Referencia Detallada de Concurrencia en Java

Concurrencia en Java en produccion. Cubre threads, locks, CompletableFuture, virtual threads, executors, concurrent collections, memory model y patrones para aplicaciones paralelas de alto throughput.

advanced

Referencia Detallada de Python Asyncio en Producción

Ejecutar Python asyncio en produccion con confianza. Cubre event loops, gestion de tasks, debugging, cancellation, timeouts, backpressure y patrones para aplicaciones async de alta concurrencia.

advanced

Chaos Engineering

Guia practica de chaos engineering: construye sistemas resilientes inyectando fallos intencionalmente. Aprende los cinco principios, Litmus, Gremlin y Chaos Mesh.

intermediate

Guía de Pipelines CI/CD

Una guía práctica para construir pipelines CI/CD con GitHub Actions, testing, estrategias de deployment y procedimientos de rollback.

intermediate

Referencia Detallada de CI/CD con GitHub Actions

Construye pipelines CI/CD desde cero con GitHub Actions. Cubre workflows, runners, matrix builds, caching, secrets, environments, deployment strategies y reusable workflows.

intermediate

Postmortems Sin Culpa: Aprendiendo de Incidentes Sin Culpar

Guía práctica sobre postmortems sin culpa: capturar timelines, identificar causas raíz, escribir seguimientos útiles y construir una cultura de mejora continua a partir de interrupciones.

intermediate

Prácticas de Codificación Segura — Por Lenguaje y Patrón

Guía práctica de prácticas de codificación segura en varios lenguajes: validación de entrada, seguridad de memoria, autenticación y patrones defensivos para Python, Java, JavaScript y Go.

intermediate

JUnit 5: Extensions, Tests Parametrizados, Dynamic Tests

Dominá JUnit 5 para testing moderno en Java: modelo de extensions, tests parametrizados, dynamic tests, test interfaces, lifecycle, conditional execution y JUnit Platform.

advanced

Property-Based Testing: Hypothesis, fast-check, QuickCheck

Dominá property-based testing con Hypothesis (Python), fast-check (TypeScript) y principios de QuickCheck. Generá test cases automáticamente, encontrá edge cases y shrinkéá failures.

intermediate

Guía de Pytest en Producción

Dominá pytest para codebases de producción: fixtures avanzados, plugins, markers personalizados, tests parametrizados, ejecución paralela con pytest-xdist e integración con CI.

advanced

Testcontainers: Dependencias Reales en Integration Tests

Dominá Testcontainers para integration testing con databases reales, message brokers y APIs. Cubre Java, Python y Node.js con test fixtures basados en Docker.

intermediate

Vitest para React: Component, Hook, e Integration Testing

Dominá Vitest para testing en React: component tests con Testing Library, hook tests con renderHook, integration tests, mocking, snapshot testing y ejecución paralela.

beginner

Desarrollo Guiado por Pruebas (TDD)

Aprende TDD paso a paso: escribe un test que falle, hazlo pasar, refactoriza. Red-Green-Refactor con ejemplos reales en Python, JavaScript y Java.

intermediate

Guía de Estrategia de Testing

Una guía práctica para construir una estrategia de testing en capas con unit, integration y end-to-end tests.