CommunityRedacción y edicióngithub.com

Desarrollo Guiado por Pruebas

Construye funcionalidades y corrige errores una rebanada vertical a la vez, usando las pruebas como bucle de retroalimentación.

¿Qué es Desarrollo Guiado por Pruebas?

Este skill define un flujo de trabajo de Desarrollo Guiado por Pruebas (TDD) para agentes de IA. Su principio central es que las pruebas verifican el comportamiento a través de interfaces públicas, no detalles de implementación; si una prueba se rompe sin cambiar el comportamiento, la prueba está mal. Previene el antipatrón de rebanadas horizontales (escribir todas las pruebas primero y luego toda la implementación), promoviendo en su lugar un ciclo incremental: una prueba roja -> implementación verde -> refactorización. El flujo de trabajo incluye fases de planificación (confirmar cambios de interfaz, listar comportamientos como resultados observables), una bala trazadora (una prueba que falla, código mínimo para que pase), un bucle incremental para comportamientos restantes, y refactorización solo cuando todas las pruebas pasan (nunca en rojo). Incluye una lista de verificación por ciclo (asegurando que las pruebas describan comportamiento, usen interfaces públicas y sobrevivan a refactorizaciones) y reglas como escribir pruebas antes de la implementación para nuevo comportamiento, usar sugerencias de tipo y nombres claros, mantener funciones pequeñas y de un solo propósito, y fallar rápido con mensajes de error claros. Este skill es útil para cualquier agente de IA que realice tareas de ingeniería de software, ya que proporciona una disciplina estructurada y probada en producción para escribir código de alta calidad con pruebas.

Compatible con✓Claude Code~Codex CLI✓Cursor✓OpenCode
npx skills add aizech/bernhard-zechmann-skills

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Desarrollo Guiado por Pruebas?

Construye funcionalidades y corrige errores una rebanada vertical a la vez, usando las pruebas como bucle de retroalimentación.

Principio central

Las pruebas verifican el comportamiento a través de interfaces públicas, no detalles de implementación. Si refactorizas y la prueba se rompe sin que cambie el comportamiento, la prueba estaba mal.

Antipatrón: rebanadas horizontales

No escribas todas las pruebas primero, luego toda la implementación. Escribe una prueba, haz que pase, luego repite.

Incorrecto: PRUEBA roja prueba1, prueba2, prueba3 -> VERDE impl1, impl2, impl3
Correcto:   PRUEBA roja prueba1 -> VERDE impl1 -> PRUEBA roja prueba2 -> VERDE impl2 -> ...

Flujo de trabajo

1. Planificar

  • Confirma los cambios de interfaz con el usuario.
  • Confirma qué comportamientos probar. No puedes probar todo.
  • Enumera los comportamientos como resultados observables, no pasos de implementación.
  • Obtén la aprobación del usuario antes de escribir código.

2. Bala trazadora

Escribe una prueba para un comportamiento. Obsérvala fallar. Escribe el código mínimo para que pase.

3. Bucle incremental

Para cada comportamiento restante:

  • Escribe la siguiente prueba.
  • Haz que pase con código mínimo.
  • No anticipes pruebas futuras.

4. Refactorizar

Después de que todas las pruebas pasen:

  • Extrae duplicación.
  • Profundiza módulos: interfaz pequeña, implementación profunda.
  • Ejecuta pruebas después de cada paso de refactorización.

Nunca refactorices mientras esté en ROJO.

Lista de verificación por ciclo

  • La prueba describe comportamiento, no implementación.
  • La prueba usa la interfaz pública.
  • La prueba sobreviviría a una refactorización interna.
  • El código es mínimo para esta prueba.
  • No se agregaron características especulativas.

Reglas

  • Escribe pruebas antes de la implementación para nuevo comportamiento.
  • Usa sugerencias de tipo y nombres claros.
  • Mantén las funciones pequeñas y de un solo propósito.
  • Falla rápido con mensajes de error claros.

Skills relacionados