¿Qué es el Ciclo de Vida del Testing de Software?

El Software Testing Life Cycle (STLC) es un enfoque sistemático para el testing que define los pasos y actividades realizadas durante cada fase. Así como el desarrollo sigue el SDLC, el testing sigue el STLC.

El STLC asegura que el testing sea organizado, exhaustivo y rastreable. Transforma el testing de una actividad ad-hoc en un proceso estructurado con entradas, salidas y criterios de calidad claros.

Las Seis Fases del STLC

graph LR RA[1. Análisis de
Requisitos] --> TP[2. Planificación
de Tests] TP --> TCD[3. Diseño de
Casos de Prueba] TCD --> ES[4. Configuración
de Entorno] ES --> TE[5. Ejecución
de Tests] TE --> TC[6. Cierre
de Tests] style RA fill:#4CAF50,color:#fff style TP fill:#2196F3,color:#fff style TCD fill:#FF9800,color:#fff style ES fill:#9C27B0,color:#fff style TE fill:#F44336,color:#fff style TC fill:#795548,color:#fff

Fase 1: Análisis de Requisitos

Objetivo: Entender qué necesita probarse y determinar la testeabilidad.

Criterios de entrada: Documento de requisitos disponible, stakeholders disponibles para clarificaciones.

Actividades:

  • Revisar requisitos por completitud, claridad y testeabilidad
  • Identificar tipos de testing requeridos (funcional, rendimiento, seguridad)
  • Determinar alcance del testing
  • Identificar factibilidad de automatización
  • Conducir sesiones Three Amigos para requisitos complejos
  • Identificar brechas y ambigüedades en requisitos

Entregables:

  • Matriz de Trazabilidad de Requisitos (RTM)
  • Lista de requisitos testeables
  • Reporte de factibilidad de automatización
  • Lista de preguntas para stakeholders

Fase 2: Planificación de Tests

Objetivo: Definir la estrategia, alcance, esfuerzo y cronograma de testing.

Actividades:

  • Definir estrategia de testing (manual vs. automatizado, tipos de testing)
  • Estimar esfuerzo de testing (tiempo, personas, herramientas)
  • Planificar requisitos de entorno de prueba
  • Identificar herramientas necesarias
  • Definir roles y responsabilidades
  • Crear análisis de riesgos y plan de mitigación
  • Definir criterios de entrada y salida

Entregables:

  • Documento de Plan de Tests
  • Documento de estimación de esfuerzo
  • Documento de planificación de recursos

Fase 3: Diseño de Casos de Prueba

Objetivo: Crear casos de prueba detallados y datos de prueba.

Actividades:

  • Escribir casos de prueba basados en requisitos
  • Diseñar conjuntos de datos de prueba (positivos, negativos, valores límite)
  • Crear scripts de tests automatizados
  • Revisar y priorizar casos de prueba
  • Mapear casos de prueba a requisitos en la RTM

Entregables:

  • Casos de prueba (con pasos, resultados esperados, precondiciones)
  • Conjuntos de datos de prueba
  • Scripts de tests automatizados
  • RTM actualizada

Fase 4: Configuración de Entorno

Objetivo: Preparar el entorno de prueba y verificar que esté listo.

Actividades:

  • Configurar entorno de prueba (hardware, software, red)
  • Instalar y configurar la aplicación bajo prueba
  • Preparar datos de prueba en el entorno
  • Configurar herramientas de testing
  • Realizar smoke testing para verificar preparación
  • Documentar configuración del entorno

Entregables: Entorno de prueba listo, documento de configuración, resultados de smoke test.

Nota: La configuración de entorno a menudo se ejecuta en paralelo con el Diseño de Casos de Prueba para ahorrar tiempo.

Fase 5: Ejecución de Tests

Objetivo: Ejecutar casos de prueba, registrar resultados y reportar defectos.

Actividades:

  • Ejecutar casos de prueba (manual y automatizado)
  • Comparar resultados reales con esperados
  • Registrar defectos para casos fallidos
  • Re-probar defectos corregidos
  • Ejecutar testing de regresión
  • Rastrear progreso de ejecución
  • Actualizar estado en herramienta de gestión de tests

Entregables:

  • Resultados de ejecución (pass/fail/blocked/skipped)
  • Reportes de defectos
  • Reportes de estado diarios/semanales
  • RTM actualizada con resultados

Fase 6: Cierre de Tests

Objetivo: Evaluar completitud del testing y capturar lecciones aprendidas.

Actividades:

  • Evaluar criterios de completitud vs. resultados reales
  • Analizar métricas de testing (tasa de aprobación, densidad de defectos, cobertura)
  • Documentar lecciones aprendidas
  • Crear reporte resumen de tests
  • Archivar artefactos de testing

Entregables:

  • Reporte Resumen de Tests (Test Closure Report)
  • Documento de lecciones aprendidas
  • Reporte de métricas
  • Artefactos archivados

STLC vs SDLC

Fase SDLCFase STLCActividad QA
RequisitosAnálisis de RequisitosRevisar requisitos, crear RTM
DiseñoPlanificación de TestsCrear estrategia y plan
ImplementaciónDiseño de Casos + Configuración de EntornoEscribir tests, preparar entorno
TestingEjecución de TestsEjecutar tests, reportar defectos
DespliegueCierre de TestsResumir resultados, lecciones
MantenimientoTesting continuoRegresión para parches

La Matriz de Trazabilidad de Requisitos (RTM)

La RTM mapea cada requisito a sus casos de prueba correspondientes:

ID ReqRequisitoIDs Casos de PruebaEstado
REQ-001Usuario puede registrarse con emailTC-001, TC-002, TC-003Aprobado
REQ-002Usuario puede iniciar sesiónTC-004, TC-005Aprobado
REQ-003Usuario puede restablecer contraseñaTC-006, TC-007, TC-0081 Fallido
REQ-004Admin puede exportar reportesTC-009No Ejecutado

Por qué importa la RTM:

  • Asegura que ningún requisito quede sin probar
  • Muestra cobertura de testing de un vistazo
  • Rastrea estado de requisitos a través del testing
  • Identifica brechas en cobertura
  • Requerida por muchos estándares de calidad (ISO, CMMI)

Ejercicio: Crear Entregables STLC para un Proyecto

Eres QA lead para un nuevo feature de banca en línea: Pago de Facturas. El feature permite:

  • Agregar proveedores (electricidad, agua, internet)
  • Programar pagos únicos o recurrentes
  • Ver historial de pagos
  • Recibir notificaciones de pagos próximos y completados

Tu tarea:

  1. Análisis de Requisitos: Crear una RTM con al menos 6 requisitos e identificar 2 problemas de testeabilidad
  2. Planificación: Escribir un esquema breve de plan de tests
  3. Diseño de Casos: Escribir 3 casos de prueba detallados (positivo, negativo, límite)
  4. Ejecución: Dados estos resultados, determinar si se cumplen los criterios de salida
Pista

Para la RTM, piensa en requisitos funcionales y no funcionales. El pago de facturas involucra transacciones financieras — seguridad y precisión son críticas.

Solución de Ejemplo

1. RTM

ID ReqRequisitoCasos de PruebaPrioridad
BP-001Usuario puede agregar proveedor por nombre o número de cuentaTC-001, TC-002, TC-003Alta
BP-002Usuario puede programar pago únicoTC-004, TC-005, TC-006Alta
BP-003Usuario puede programar pago recurrenteTC-007, TC-008, TC-009, TC-010Alta
BP-004Usuario puede ver historial de pagos (últimos 12 meses)TC-011, TC-012Media
BP-005Usuario recibe notificación 2 días antes del pagoTC-013, TC-014Media
BP-006Monto de pago no debe exceder saldo de cuentaTC-015, TC-016, TC-017Crítica

Problemas de testeabilidad:

  1. Pagos recurrentes requieren triggers basados en tiempo — necesario simular cambios de fecha
  2. Procesamiento de pagos involucra APIs de terceros — necesario mocks o sandboxes

2. Esquema de Plan de Tests

Alcance: Testing funcional de pago de facturas: agregar proveedor, programar pago, historial, notificaciones.

Tipos de testing: Funcional, seguridad, rendimiento, usabilidad, regresión.

Riesgos: Mock de gateway puede no reflejar comportamiento real; pagos recurrentes son time-dependent.

3. Casos de Prueba

TC-004: Programar pago único (Positivo)

  • Precondición: Usuario logueado, proveedor “Electricidad” agregado, saldo $500
  • Pasos: 1) Seleccionar proveedor 2) Ingresar monto $100 3) Seleccionar fecha: mañana 4) Clic “Programar Pago”
  • Esperado: Pago programado, confirmación mostrada

TC-016: Pago excede saldo (Negativo)

  • Precondición: Usuario logueado, saldo $50
  • Pasos: 1) Seleccionar proveedor 2) Ingresar monto $100 3) Clic “Programar Pago”
  • Esperado: Error “Fondos insuficientes. Tu saldo es $50.00”

TC-017: Pago igual al saldo exacto (Límite)

  • Precondición: Usuario logueado, saldo $100.00
  • Pasos: 1) Seleccionar proveedor 2) Ingresar monto $100.00 3) Clic “Programar Pago”
  • Esperado: Pago programado exitosamente

4. Evaluación de Criterios de Salida

Resultados: 45/50 ejecutados, 1 bug crítico diferido, 2 bugs medios abiertos, 89% aprobados.

Recomendación: NO aprobar release. 1 bug crítico diferido es bloqueante para un feature financiero.

Errores Comunes del STLC

  1. Saltarse Análisis de Requisitos — lleva a tests que no cubren escenarios críticos
  2. Planificación incompleta — causa scope creep y deadlines no cumplidos
  3. Sin criterios de entrada/salida — fases comienzan por fecha, no por preparación
  4. Cierre de tests pobre — lecciones nunca aprendidas, mismos errores se repiten

Consejos Pro

  1. Automatiza actualizaciones de RTM. Usa herramientas (TestRail, Zephyr, Xray) que vinculen automáticamente casos a requisitos.

  2. Comienza configuración de entorno temprano. Problemas de entorno son la causa #1 de retrasos.

  3. Haz criterios de salida medibles. “Testing completo” no es criterio. “95% ejecutado, cero defectos críticos abiertos” sí lo es.

  4. Realiza cierre de tests incluso en agile. Mini-cierre al final de cada sprint, cierre completo al final del release.

  5. Usa la RTM en reuniones con stakeholders. Cuando alguien pregunte “¿estamos listos?”, la RTM da una respuesta objetiva.