Session-Based Test Management (SBTM) une las ventajas de la exploración no estructurada con la responsabilidad del testing scriptado. Según el reporte “State of Testing 2024” de SmartBear, el testing exploratorio es usado por el 62% de los equipos de QA, pero el 41% cita la falta de estructura y trazabilidad como su mayor desafío. Desarrollado por Jon Bach y James Bach como parte de la metodología Rapid Software Testing (RST), SBTM organiza el trabajo exploratorio en sesiones de 60-120 minutos guiadas por un charter escrito que define la misión sin prescribir pasos exactos. La Encuesta de Testing Exploratorio 2023 de Maaret Pyhäjärvi encontró que los equipos que usan métodos estructurados como SBTM encuentran 30-50% más bugs de alta severidad por hora que equipos con enfoques ad-hoc. Esta guía cubre escritura de charters, ejecución de sesiones, debriefing, métricas e integración con CI/CD.
TL;DR
- SBTM organiza el testing exploratorio en sesiones (60-120 min) con charters escritos
- Formato: “Explorar [objetivo] con [recursos] para descubrir [información/riesgos]”
- El debriefing captura: cobertura, issues, notas, ratio de tiempo on-charter vs off-charter
- Métricas: bugs por hora, % de completion del charter, tasa de escape de defectos
Ideal para: Equipos que hacen testing exploratorio y necesitan responsabilidad y trazabilidad
“SBTM resolvió un problema que vi repetidamente: equipos que afirmaban hacer testing exploratorio pero en realidad solo hacían clic sin registro de lo que se cubría. El ciclo charter-y-debriefing te da la responsabilidad del testing scriptado mientras preserva la libertad cognitiva que hace valioso el testing exploratorio.” — Yuri Kan, Senior QA Lead
El Dilema del Testing Exploratorio
El testing exploratorio es poderoso—aprovecha la creatividad humana y el conocimiento del dominio para encontrar bugs que las pruebas scriptadas omiten. Sin embargo, enfrenta críticas por ser desestructurado, difícil de gestionar e imposible de medir. ¿Cómo rastrear el progreso cuando no hay lista predefinida de casos de prueba? ¿Cómo saber cuándo terminas? ¿Cómo justificar el tiempo gastado?
Session-Based Test Management (SBTM), pionero por Jon Bach y James Bach, resuelve esto trayendo estructura a la exploración sin sacrificar los beneficios del testing investigativo. Proporciona un framework que hace el testing exploratorio rastreable, gestionable y medible.
¿Qué es Session-Based Test Management?
SBTM organiza el testing exploratorio en sesiones con límite de tiempo guiadas por test charters. Cada sesión se enfoca en una misión específica, típicamente durando 60-120 minutos (90 minutos es estándar). Después de cada sesión, los testers documentan hallazgos a través de debriefing estructurado.
Componentes Principales
1. Test Charter: Declaración de misión definiendo qué explorar 2. Sesión: Actividad de testing con límite de tiempo (típicamente 90 minutos) 3. Hoja de Sesión: Template de documentación capturando actividades de testing 4. Debriefing: Revisión post-sesión y colección de métricas 5. Métricas: Insights basados en datos sobre progreso y cobertura de testing
Test Charters: Definiendo la Misión
Un test charter especifica qué probar y por qué, proporcionando enfoque sin scripts rígidos. El formato del charter típicamente sigue esta estructura:
Charter: Explorar [target]
Con [recursos]
Para descubrir [información]
Ejemplos de Charters Bien Elaborados
Ejemplo 1: Checkout E-Commerce
Charter: Explorar el flujo de checkout
Con varios métodos de pago (tarjeta de crédito, PayPal, Apple Pay)
Para descubrir cómo el sistema maneja fallas de pago y reintentos
Ejemplo 2: Rendimiento de App Móvil
Charter: Explorar la función de carga de fotos
Con diferentes condiciones de red (3G, 4G, WiFi, offline)
Para descubrir degradación de rendimiento y manejo de errores
Ejemplo 3: Integración API
Charter: Explorar la API de autenticación de usuario
Con tokens inválidos, sesiones expiradas y peticiones concurrentes
Para descubrir vulnerabilidades de seguridad y manejo de casos límite
Ejemplo 4: Migración de Datos
Charter: Explorar la importación de datos del sistema legacy
Con archivos CSV corruptos, tipos de datos inesperados y datasets grandes
Para descubrir fallas de validación de datos y cuellos de botella de rendimiento
Guías de Alcance del Charter
Buenos Charters:
- Suficientemente enfocados para una sesión de 90 minutos
- Target y objetivos claros
- Testeable y accionable
- Alineado con riesgos actuales del proyecto
Evitar:
- Demasiado amplio: “Probar la aplicación completa”
- Demasiado estrecho: “Verificar que el botón de login es azul”
- Vago: “Jugar con el sistema”
- Duplicado: Repetir áreas ya cubiertas sin razón
La Estructura de Sesión SBTM
Una sesión típica de 90 minutos se desglosa en:
Configuración (5-10 minutos):
- Revisar charter
- Preparar datos de prueba, herramientas, ambiente
- Establecer objetivos de sesión
Testing (70-80 minutos):
- Ejecutar testing exploratorio guiado por charter
- Documentar hallazgos en tiempo real
- Seguir caminos interesantes
- Notar bugs, preguntas, riesgos
Cierre (5-10 minutos):
- Resumir hallazgos
- Completar hoja de sesión
- Identificar áreas de seguimiento
Gestionando el Tiempo de Sesión
Las sesiones SBTM son ininterrumpibles. Si se interrumpe, pausa el reloj de sesión. Esto asegura rastreo preciso de tiempo y preserva el estado de flujo.
Tipos de Sesión:
- Sesión Normal: Tiempo completo de testing dedicado al charter
- Sesión Corta: < 60 minutos (cuando el tiempo es limitado)
- Sesión Larga: > 120 minutos (para integraciones complejas; dividir en múltiples sesiones si es posible)
El Template de Hoja de Sesión
La hoja de sesión es el artefacto central de SBTM. Captura qué se probó, qué se encontró y asignación de tiempo.
Formato Estándar de Hoja de Sesión
## Información de Sesión
Charter: [Texto del charter]
Tester: [Nombre]
Fecha: [Fecha]
Hora de Inicio: [Hora]
Duración: [X minutos]
Desglose de Tareas: [Test%, Bug%, Setup%]
## Áreas Probadas
- Flujo de login con integración SSO
- Funcionalidad de reseteo de contraseña
- Comportamiento de timeout de sesión
- Autenticación multi-factor
## Notas de Prueba
- Probado con proveedores SSO Google, Microsoft y Okta
- Verificado mecanismo de refresh de token
- Explorado caso límite: sesión SSO expirada durante uso de app
- Verificado comportamiento con MFA deshabilitado vs habilitado
## Bugs Encontrados
BUG-1234: Login SSO falla silenciosamente cuando Okta retorna error 503
BUG-1235: Prompt de timeout de sesión aparece detrás de modal, haciéndolo inalcanzable
BUG-1236: Código MFA acepta 5 dígitos en lugar de 6 requeridos
## Preguntas/Riesgos
P: ¿Qué sucede si el usuario cambia contraseña mientras la sesión está activa?
P: ¿Hay limitación de tasa en peticiones de reseteo de contraseña?
RIESGO: Sin logging para intentos fallidos de SSO, difícil diagnosticar problemas de usuario
## Problemas/Bloqueadores
- Ambiente de prueba de Okta estuvo caído por 20 minutos
- Incapaz de probar Microsoft SSO por falta de tenant de prueba
## Archivos de Datos
- test_users.csv (100 cuentas de usuario con varios estados)
- sso_tokens_invalid.json (tokens expirados y malformados)
## Métricas
Duración de Sesión: 90 minutos
Charter vs Oportunidad: 70% charter, 30% oportunidad
Test vs Bug vs Setup: 75% test, 15% investigación de bug, 10% setup
Desglose de Tareas: El Ratio TBS
SBTM rastrea la asignación de tiempo en tres categorías:
Test: Tiempo gastado probando activamente Bug: Tiempo gastado investigando y reportando bugs Setup: Tiempo gastado preparando ambiente, datos, herramientas
Ratios Típicos:
- Saludable: 70% Test, 20% Bug, 10% Setup
- Preocupante: 40% Test, 10% Bug, 50% Setup (problemas de ambiente)
- Heavy en Bug: 50% Test, 45% Bug, 5% Setup (build inestable)
Charter vs. Oportunidad
No todo el testing sigue el charter. Los testers pueden descubrir tangentes interesantes que vale la pena explorar.
Tiempo de Charter: Testing alineado con el charter de sesión Tiempo de Oportunidad: Testing de hallazgos interesantes tangenciales
Ejemplo: El charter se enfoca en procesamiento de pagos, pero el tester nota errores CORS sospechosos en la consola. Gastar 20 minutos investigando el problema CORS es testing de “oportunidad”.
Balance Ideal: 70-80% charter, 20-30% oportunidad. Demasiada oportunidad sugiere charters pobremente delimitados o software altamente inestable.
El Proceso de Debriefing
Después de cada sesión, el tester y el test manager conducen un breve debrief (5-15 minutos). Esto sirve múltiples propósitos:
Objetivos del Debrief
- Validar Hallazgos: ¿Son los bugs reproducibles? ¿Es clara la descripción?
- Identificar Seguimientos: ¿Necesitamos sesiones adicionales para esta área?
- Compartir Conocimiento: ¿Qué aprendimos? ¿Qué patrones emergieron?
- Ajustar Estrategia: ¿Deberíamos repriorizar charters basados en hallazgos?
Preguntas del Debrief
Para el Tester:
- ¿Qué encontraste más interesante?
- ¿Qué te sorprendió?
- ¿Qué probarías diferente la próxima vez?
- ¿Qué riesgos identificaste?
Para el Manager:
- ¿El charter sigue siendo relevante?
- ¿Deberíamos invertir más/menos en esta área?
- ¿Hay dependencias bloqueando el progreso?
- ¿Qué soporte necesita el tester?
Salidas del Debrief
- Actualizaciones de Charter: Refinar o retirar charters basados en aprendizajes
- Nuevos Charters: Generar misiones de seguimiento de hallazgos
- Priorización de Bugs: Triar severidad y asignar a desarrolladores
- Rastreo de Cobertura: Actualizar mapas de cobertura de pruebas
Métricas y Reportes SBTM
A diferencia del testing scriptado, las métricas SBTM se enfocan en cobertura y aprendizaje en lugar de conteos de pasar/fallar.
Métricas Clave
1. Conteo de Sesiones: Número de sesiones completadas por área/feature 2. Cobertura: Qué áreas recibieron atención de testing 3. Tasa de Descubrimiento de Bugs: Bugs encontrados por hora de sesión 4. Distribución de Sesiones: Asignación de tiempo a través de diferentes charters 5. % de Oportunidad: Cuánto testing se desvió de charters
Mapa de Cobertura de Sesión
Visualiza dónde se ha invertido esfuerzo de testing:
| Área de Feature | Sesiones | Horas Totales | Bugs Encontrados | Última Prueba |
|---|---|---|---|---|
| Auth Usuario | 8 | 12h | 14 | 2025-10-05 |
| Pago | 12 | 18h | 23 | 2025-10-06 |
| Envío | 4 | 6h | 5 | 2025-10-03 |
| Panel Admin | 2 | 3h | 7 | 2025-10-01 |
| Reportes | 0 | 0h | 0 | Nunca |
Insights:
- Procesamiento de pago recibió más atención (área de alto riesgo)
- Panel admin encontrando alta densidad de bugs (7 bugs en 2 sesiones)
- Área de reportes sin probar (programar sesiones)
Tendencias de Descubrimiento de Bugs
Rastrear bugs encontrados por hora de sesión a lo largo del tiempo:
- Semana 1: 3.2 bugs/hora (muchos frutos de bajo colgado)
- Semana 2: 2.1 bugs/hora (problemas mayores encontrados)
- Semana 3: 0.8 bugs/hora (rendimientos decrecientes)
- Semana 4: 0.5 bugs/hora (acercándose a estabilidad)
Punto de Decisión: En la semana 4, cambiar enfoque de testing a áreas inexploradas o features.
Métricas de Productividad
Eficiencia de Sesión:
- Duración promedio de sesión: 87 minutos (target: 90)
- Tiempo de setup %: 12% (target: < 15%)
- Sesiones canceladas por bloqueadores: 8% (investigar estabilidad de ambiente)
Implementación SBTM del Mundo Real
Caso de Estudio: Lanzamiento de App Móvil Fintech
Contexto: Ventana de testing de 6 semanas antes del lanzamiento, app compleja con procesamiento de pagos, autenticación biométrica y trading de acciones en tiempo real.
Enfoque SBTM:
Semana 1: Generación de Charters Creados 45 charters organizados por riesgo:
- Alto Riesgo (15 charters): Procesamiento de pagos, seguridad, integridad de datos
- Riesgo Medio (20 charters): Flujos de UI, rendimiento, integración
- Bajo Riesgo (10 charters): Configuraciones, pantallas de ayuda, animaciones
Semana 2-4: Fase de Ejecución
- 2 testers, 6 sesiones/día cada uno
- Total: 252 sesiones completadas
- Encontrados 127 bugs (0.5 bugs/sesión en promedio)
Distribución de Sesión:
- 60% áreas de alto riesgo
- 30% áreas de riesgo medio
- 10% áreas de bajo riesgo
Semana 5: Inmersiones Profundas Dirigidas Basado en hallazgos tempranos, creados charters enfocados:
- “Explorar condiciones de carrera en trading concurrente” (generado después de crash intermitente)
- “Explorar escenarios de reverso de pago” (generado después de bug de reembolso)
- “Explorar rutas de fallback biométrico” (generado después de caso límite de autenticación)
Semana 6: Regresión + Barrido Final
- Re-probadas áreas de alto riesgo con charters frescos
- Verificados todos los bugs críticos corregidos
- Exploradas áreas previamente de baja prioridad
Resultados:
- Lanzado a tiempo con 96% de bugs críticos resueltos
- Tasa de defectos post-lanzamiento: 0.3 bugs/1000 usuarios (promedio industria: 2.5)
- Cobertura de testing claramente documentada para pista de auditoría
- Visibilidad de gestión en progreso de testing durante todo
Factores Clave de Éxito:
- Charters claros priorizados por riesgo de negocio
- Debriefs diarios mantuvieron equipo alineado
- Métricas mostraron cuándo cambiar enfoque
- Flexibilidad para perseguir tangentes de alto valor
Rapid Software Testing y SBTM
Rapid Software Testing (RST), desarrollado por James Bach y Michael Bolton, es una metodología que incorpora fuertemente principios SBTM.
Principios Centrales de RST
- Testing es aprendizaje: Enfoque en descubrimiento, no solo verificación
- Humanos habilidosos son esenciales: Herramientas apoyan, pero no reemplazan, pensamiento
- Feedback rápido: Acortar ciclos entre testing y desarrollo
- Impulsado por heurística: Usar reglas prácticas, no procesos rígidos
- Impulsado por contexto: Adaptar enfoque a necesidades del proyecto
SBTM en el Framework RST
RST usa SBTM como el mecanismo primario para organizar trabajo exploratorio:
Estrategia de Prueba: Definida por temas de charter Ejecución de Prueba: Organizada en sesiones Reporte de Prueba: Capturado vía hojas de sesión y debriefs Gestión de Prueba: Rastreado a través de métricas de sesión
Heurísticas RST para Creación de Charter
SFDPOT (San Francisco Depot) - Dimensiones a explorar:
- Structure: Código, arquitectura, estructuras de datos
- Function: Qué hace el producto
- Data: Inputs, outputs, estado
- Platform: OS, navegador, hardware
- Operations: Cómo interactúan los usuarios
- Time: Concurrencia, secuencias, timing
Ejemplo Charter Usando SFDPOT:
Charter: Explorar el carrito de compras (Function)
Con operaciones rápidas de agregar/remover (Time)
En Safari móvil (Platform)
Para descubrir bugs de gestión de estado
Herramientas que Soportan SBTM
SessionTester
Herramienta de código abierto para gestionar sesiones SBTM:
- Gestión de biblioteca de charters
- Timer de sesión con pausa/reanudación
- Toma de notas integrada
- Cálculo automático de métricas
- Dashboard de equipo
RapidReporter
Herramienta ligera de toma de notas de sesión:
- Interfaz simple basada en texto
- Timestamping automático
- Exportación Markdown
- Overhead mínimo
Rastreo Basado en Hoja de Cálculo
Muchos equipos usan hojas de cálculo simples:
Columnas:
- ID de Sesión
- Fecha
- Tester
- Charter
- Duración
- Áreas Probadas
- Bugs Encontrados
- Notas
- Test%/Bug%/Setup%
Integración con Sistemas de Gestión de Pruebas
Exportar datos de sesión a:
- Jira (crear tickets de hojas de sesión)
- TestRail (enlazar sesiones a planes de prueba)
- Confluence (mantener wiki de charter)
Mejores Prácticas para Éxito SBTM
1. Comenzar con Charters Claros
Invertir tiempo en calidad de charter:
- Revisar charters como equipo
- Priorizar basado en riesgo
- Actualizar charters a medida que evoluciona el software
- Retirar charters irrelevantes
2. Mantener Sesiones con Límite de Tiempo
Respetar el límite de 90 minutos:
- Previene fatiga
- Mantiene enfoque
- Habilita rastreo preciso
- Fuerza priorización
3. Debrief Consistentemente
Nunca omitir debriefs:
- Valida hallazgos inmediatamente
- Transfiere conocimiento
- Ajusta estrategia en tiempo real
- Mantiene alineación de equipo
4. Usar Métricas para Guiar, No Juzgar
Las métricas informan decisiones, no revisiones de rendimiento:
- Conteo bajo de bugs podría significar software estable, no testing pobre
- Alto % de setup podría indicar problemas de ambiente, no ineficiencia del tester
- Varianza de % de oportunidad esperada y valiosa
5. Balancear Charter y Oportunidad
Abrazar la división 70/30:
- Charter asegura cobertura
- Oportunidad habilita descubrimiento
- Demasiado charter = omitir tangentes importantes
- Demasiada oportunidad = testing sin enfoque
6. Documentar Suficiente, No Todo
Las hojas de sesión deberían ser:
- Suficientemente detalladas para reproducibilidad
- Suficientemente concisas para revisión rápida
- Enfocadas en hallazgos, no jugada por jugada
7. Iterar sobre Charters
Los charters no son estáticos:
- Generar nuevos charters de hallazgos
- Combinar charters redundantes
- Dividir charters excesivamente amplios
- Retirar charters completados
Combinando SBTM con Otros Enfoques
SBTM complementa en lugar de reemplazar otras metodologías de testing:
SBTM + Testing Scriptado
- Usar pruebas scriptadas para regresión y cumplimiento
- Usar SBTM para nuevas features y áreas de riesgo
- Dejar que hallazgos SBTM informen nuevas pruebas automatizadas
SBTM + Automatización de Pruebas
- Automatizar flujos estables y repetibles
- Usar SBTM para investigación exploratoria
- SBTM identifica casos límite para automatizar
SBTM + BDD/Specification by Example
- Usar BDD para requisitos documentados
- Usar SBTM para escenarios más allá de especificaciones
- SBTM descubre especificaciones faltantes
Conclusión: La Estructura Habilita Libertad
La paradoja de SBTM es que la estructura mejora en lugar de limitar el testing exploratorio. Al organizar el trabajo en sesiones enfocadas, documentar hallazgos sistemáticamente y rastrear métricas consistentemente, SBTM hace el testing exploratorio:
Gestionable: Clara visibilidad en qué se está probando Medible: Insights basados en datos en cobertura y efectividad Valioso: Hallazgos documentados justifican inversión Sostenible: Previene burnout del tester a través de límite de tiempo
Cuando stakeholders preguntan “¿Qué han probado?”, SBTM proporciona respuestas claras. Cuando managers preguntan “¿Hemos terminado?”, las métricas muestran cobertura y tendencias de descubrimiento de bugs. Cuando testers preguntan “¿Dónde debería enfocarme?”, los charters proporcionan dirección.
SBTM prueba que el testing exploratorio puede ser tanto riguroso como creativo, estructurado y adaptativo, medible e investigativo. No es testing scriptado disfrazado—es testing exploratorio hecho profesionalmente.
Comienza con charters simples, ejecuta sesiones enfocadas, debrief honestamente y deja que las métricas guíen tu estrategia. El resultado es testing exploratorio que gana respeto a través de resultados, no retórica.
FAQ
¿Qué es Session-Based Test Management (SBTM)?
SBTM es una metodología de testing exploratorio estructurado creada por Jon Bach y James Bach. Las pruebas se organizan en sesiones de tiempo limitado con un charter escrito y un debriefing posterior. Más información en Satisfice.
¿Qué es un charter de prueba en SBTM?
Un charter es una declaración de misión para una sesión: “Explorar [objetivo] con [recursos] para descubrir [información/riesgos]”. Proporciona dirección sin dictar pasos exactos, preservando la naturaleza exploratoria.
¿Cómo se mide la efectividad de las sesiones exploratorias?
SBTM usa tres métricas: ratio Charter/Opportunity, bugs por hora de sesión, y porcentaje de cobertura. La Encuesta 2023 de Maaret Pyhäjärvi mostró que equipos con SBTM encuentran 30-50% más bugs críticos por hora.
¿Cuál es la diferencia entre SBTM y testing scriptado?
El testing scriptado sigue pasos predeterminados. SBTM proporciona un charter pero deja el camino al criterio del tester. SBTM es más efectivo para defectos inesperados; el scriptado garantiza cobertura de regresión consistente.
Ver También
- Exploratory Testing Documentation - Documentación de actividades de testing exploratorio
- Test Reporting Best Practices - Reportes efectivos de testing
- Testing Metrics and KPIs - Medir efectividad del testing
- Risk-Based Testing Strategy - Priorizar testing basado en riesgo
- Test Documentation Templates - Templates para documentación de pruebas
Recursos Oficiales
- Satisfice SBTM Overview — metodología SBTM original de James Bach
- Rapid Software Testing Handbook — referencia de metodología RST
- ISTQB Glossary — terminología estándar de testing
