El QA: Revision de Calidad

Por: Artiko
bmadqatestingcalidadseguridad

La Linea de Defensa de Calidad

En un equipo agil tradicional, el QA es quien dice “esto no esta listo para produccion”. En BMAD, el QA Agent cumple exactamente ese rol: es la ultima barrera antes de que el codigo se considere completo.

El QA no escribe codigo nuevo. Su trabajo es validar que lo que el Developer implemento cumple con todo lo especificado en las fases anteriores. Es el agente que conecta el final del pipeline con el principio: verifica que la implementacion refleja fielmente lo que el Analyst, PM y Architect definieron.

Cuando entra el QA

El QA Agent se activa cuando el Developer marca una story como “implementada”. No antes. Si el Developer aun esta trabajando, el QA no interviene. Esta secuencia es importante porque:

  1. El Developer completa la story segun la spec
  2. El Developer ejecuta sus propias validaciones basicas
  3. El QA recibe el codigo y lo revisa contra los artefactos de referencia
  4. El QA emite un veredicto: Approved o Needs Fixes

Que revisa el QA: El Checklist Completo

El QA Agent no revisa “a ojo”. Tiene un checklist estructurado que cubre seis areas fundamentales.

1. Cumplimiento de estandares de codigo

2. Cobertura de requisitos vs PRD

Esta es la revision mas critica. El QA toma el PRD del Product Manager y verifica punto por punto:

3. Cobertura de tests

El QA evalua la cobertura de testing en tres niveles:

No se trata solo del porcentaje de cobertura. El QA verifica que los tests cubran los caminos criticos: el happy path, los errores esperados y los edge cases de las stories.

4. Calidad de codigo

5. Vulnerabilidades de seguridad

El QA ejecuta un analisis de seguridad que incluye:

6. Performance y refactoring

Ejemplo: Reporte QA del Kanban

Cuando el QA revisa la implementacion del drag & drop de tarjetas en nuestro Kanban, genera un reporte estructurado como este:

Encabezado del reporte

QA Review Report
Story: KAN-007 - Drag and drop de tarjetas entre columnas
Reviewer: QA Agent
Date: 2024-12-17
Status: NEEDS FIXES

Checklist Pass/Fail

AreaStatusNotas
Estandares de codigoPASSNaming consistente, estructura correcta
Requisitos vs PRDPASSTodos los criterios de aceptacion cubiertos
Cobertura de testsFAILFalta test para drag entre tableros diferentes
Calidad de codigoPASSComplejidad aceptable
SeguridadFAILEndpoint PATCH no valida ownership del board
PerformancePASSActualizacion optimista implementada

Issues por severidad

Blocker (deben corregirse antes de merge)

Major (deben corregirse, no bloquean merge si hay plan)

Minor (mejoras sugeridas)

Veredicto

Status: NEEDS FIXES
Blocking issues: 1 (SEC-001)
Recommendation: Corregir SEC-001 antes de merge.
                TEST-001 y TEST-002 pueden resolverse en
                la siguiente iteracion si se crea ticket.

El Flujo de Feedback

El proceso de QA no es un evento unico. Es un ciclo:

Developer completa story
    → QA revisa
        → Si APPROVED: merge
        → Si NEEDS FIXES:
            → QA detalla issues
                → Developer corrige
                    → QA re-valida (solo lo corregido)
                        → Si APPROVED: merge
                        → Si NEEDS FIXES: otro ciclo

Lo clave es que en la re-validacion, el QA solo revisa los puntos que fallaron. No repite todo el checklist desde cero. Esto mantiene el flujo eficiente.

Comunicacion entre QA y Developer

En BMAD, esta comunicacion ocurre a traves de artefactos. El QA genera su reporte en _bmad/reviews/ y el Developer consulta ese archivo para saber que corregir. No hay ambiguedad ni conversaciones informales que se pierdan.

_bmad/reviews/
  KAN-007-review-v1.md    ← Primera revision (NEEDS FIXES)
  KAN-007-review-v2.md    ← Re-validacion (APPROVED)

Testing Manual vs Testing Automatizado

En BMAD, el QA trabaja en dos modos complementarios.

Testing automatizado

El QA Agent verifica que los tests escritos por el Developer:

Tambien puede sugerir tests adicionales que el Developer deberia agregar.

Revision manual (analisis estatico)

El QA lee el codigo y los artefactos para detectar problemas que los tests automatizados no capturan:

La combinacion de ambos enfoques es lo que hace al QA Agent efectivo. No reemplaza al testing automatizado ni se limita a el.

Verificacion contra Criterios de Aceptacion

Esta es la tarea central del QA. Cada story tiene criterios de aceptacion definidos por el PM y refinados por el Scrum Master. El QA verifica cada uno.

Ejemplo para la story “Drag & drop de tarjetas”:

Criterio de aceptacionVerificadoMetodo
Usuario puede arrastrar tarjeta entre columnasSiTest E2E + revision manual
Posicion de tarjeta persiste tras refreshSiTest de integracion
Otros usuarios ven el cambio en tiempo realSiTest de WebSocket
No se puede mover tarjeta a tablero sin accesoNoFalta validacion en endpoint
Columna vacia muestra zona de drop visibleSiTest de componente

Cuando un criterio falla, el QA lo reporta como issue con la severidad correspondiente. Un criterio de aceptacion no cumplido es siempre al menos Major.

Resumen del capitulo

El QA Agent es la ultima fase del pipeline de BMAD. Su responsabilidad es garantizar que el codigo entregado cumple con los estandares de calidad, seguridad y funcionalidad definidos en las fases anteriores. No escribe codigo: valida, reporta y re-valida.

Lo mas importante del QA en BMAD no es el checklist en si, sino que conecta la implementacion con los requisitos originales. Cierra el ciclo que empezo con el Analyst y asegura que nada se perdio en el camino.


← Capitulo 7: El Developer | Capitulo 9: Party Mode y Workflows →