21. Plan de pruebas y estrategia de testing

21.1 Introducción

Probar software sin organización puede generar esfuerzo repetido, zonas importantes sin cubrir, defectos reportados tarde y poca claridad sobre el estado real del producto. Para evitarlo, los equipos definen un plan de pruebas y una estrategia de testing.

El plan de pruebas ordena qué se probará, cómo, cuándo, con qué recursos y bajo qué condiciones. La estrategia de testing define el enfoque general para cubrir riesgos y obtener información útil sobre la calidad.

En este tema veremos ambos conceptos de forma introductoria y práctica, sin convertirlos en documentación excesiva.

21.2 ¿Qué es un plan de pruebas?

Un plan de pruebas es un documento o acuerdo que describe cómo se organizará el trabajo de testing para una funcionalidad, versión, proyecto o producto.

Puede incluir:

  • Objetivos de prueba.
  • Alcance y fuera de alcance.
  • Funcionalidades a probar.
  • Tipos y niveles de prueba.
  • Riesgos principales.
  • Ambientes y datos necesarios.
  • Responsables y recursos.
  • Cronograma o momentos de ejecución.
  • Criterios de entrada y salida.
  • Entregables y reportes.

El nivel de detalle depende del contexto. Un proyecto grande puede requerir un documento formal. Un equipo pequeño puede trabajar con una planificación más liviana, pero igual necesita acuerdos claros.

21.3 ¿Qué es una estrategia de testing?

La estrategia de testing define el enfoque general que se usará para probar. Responde cómo se cubrirán los riesgos y qué tipos de pruebas serán más importantes.

Ejemplos de decisiones estratégicas:

  • Priorizar pruebas de regresión en flujos críticos.
  • Automatizar pruebas unitarias y de API para reglas estables.
  • Ejecutar pruebas exploratorias en funcionalidades nuevas.
  • Validar rendimiento solo en operaciones de alto volumen.
  • Involucrar a usuarios de negocio en pruebas de aceptación.
  • Usar pruebas de caja gris para integraciones críticas.

La estrategia orienta las decisiones. El plan las baja a una organización concreta para un alcance determinado.

21.4 Diferencia entre plan y estrategia

Concepto Pregunta principal Ejemplo
Estrategia ¿Qué enfoque general usaremos para probar y reducir riesgos? Automatizar regresión crítica y complementar con pruebas exploratorias.
Plan ¿Cómo organizaremos las pruebas de esta entrega concreta? Ejecutar suite de humo el lunes, regresión el martes y aceptación el miércoles.

En proyectos pequeños ambos conceptos pueden mezclarse en un mismo documento. Lo importante es que el equipo sepa qué probará y por qué.

21.5 Objetivos de prueba

El plan debe indicar qué se busca lograr con las pruebas. Los objetivos deben ser claros y realistas.

Ejemplos:

  • Verificar que el nuevo flujo de compra cumpla los criterios de aceptación.
  • Confirmar que los cambios no rompan inicio de sesión, carrito y pagos.
  • Validar que usuarios sin permisos no accedan a funciones administrativas.
  • Detectar defectos críticos antes del despliegue.
  • Obtener evidencia para decidir si la versión puede publicarse.

Un objetivo como "probar todo" no es útil porque no define prioridades ni alcance realista.

21.6 Alcance

El alcance indica qué funcionalidades, módulos, flujos o requisitos serán probados.

Ejemplo de alcance:

  • Registro de usuarios.
  • Inicio de sesión.
  • Recuperación de contraseña.
  • Compra con tarjeta de prueba.
  • Administración de productos.

Definir alcance evita malentendidos. Si una funcionalidad no será probada, también conviene indicarlo en el fuera de alcance.

21.7 Fuera de alcance

El fuera de alcance indica qué no se probará en esa etapa o entrega. Esto es tan importante como definir lo que sí se probará.

Ejemplos:

  • No se ejecutarán pruebas de rendimiento en esta versión.
  • No se probará integración con el proveedor real de pagos, solo sandbox.
  • No se validará compatibilidad con navegadores no soportados.
  • No se probarán reportes históricos porque no fueron modificados.
  • No se ejecutarán pruebas en producción, salvo verificación posterior al despliegue.

Documentar fuera de alcance ayuda a comunicar riesgos pendientes.

21.8 Análisis de riesgos

Una buena estrategia de testing se basa en riesgos. No todas las funcionalidades tienen el mismo impacto si fallan.

Preguntas útiles:

  • ¿Qué funcionalidades son críticas para el negocio?
  • ¿Dónde sería más grave una falla?
  • ¿Qué módulos cambiaron recientemente?
  • ¿Qué zonas tienen historial de defectos?
  • ¿Hay integraciones externas sensibles?
  • ¿Hay datos personales, pagos o permisos involucrados?
  • ¿Qué partes se usan con mayor frecuencia?

El análisis de riesgo ayuda a decidir dónde concentrar el esfuerzo cuando el tiempo es limitado.

21.9 Priorización de pruebas

Una vez identificados los riesgos, se priorizan las pruebas. No todos los casos se ejecutan con la misma urgencia.

Ejemplo de prioridad:

Prioridad Criterio Ejemplo
Alta Flujo crítico, alto impacto o requisito obligatorio. Pago, login, permisos, datos sensibles.
Media Funcionalidad importante, pero no bloqueante. Filtros, edición de perfil, notificaciones.
Baja Caso poco frecuente o impacto menor. Textos secundarios, combinaciones raras no críticas.

21.10 Tipos y niveles de prueba incluidos

El plan debe indicar qué niveles y tipos de prueba se ejecutarán. Por ejemplo:

  • Pruebas unitarias para reglas de cálculo.
  • Pruebas de integración para APIs y base de datos.
  • Pruebas de sistema para flujos completos.
  • Pruebas de aceptación con negocio.
  • Pruebas funcionales positivas, negativas y borde.
  • Pruebas de seguridad básicas para permisos.
  • Pruebas de compatibilidad en navegadores soportados.
  • Pruebas de regresión sobre flujos críticos.

Esta definición evita asumir que "probar" significa lo mismo para todos.

21.11 Ambientes y datos

El plan debe indicar dónde se probará y qué datos se necesitan.

Ejemplo:

Ambiente: QA.
Versión: candidata 2.4.0.
Datos: usuarios activos, usuarios bloqueados, productos con stock, productos sin stock, tarjetas de prueba aprobadas y rechazadas.
Servicios: sandbox de pagos y servidor de correos de prueba.

Si el ambiente o los datos no están listos, las pruebas pueden bloquearse. Por eso deben planificarse antes de la ejecución.

21.12 Roles y responsabilidades

El plan puede indicar quién hará cada actividad. Ejemplo:

  • Desarrolladores: pruebas unitarias y corrección de defectos.
  • QA: diseño y ejecución de casos funcionales.
  • Analista: aclaración de requisitos y reglas de negocio.
  • Product owner: validación de criterios de aceptación.
  • DevOps o infraestructura: preparación de ambiente.
  • Usuarios clave: pruebas de aceptación.

Definir responsabilidades reduce confusiones y evita que tareas importantes queden sin dueño.

21.13 Criterios de entrada

Los criterios de entrada son condiciones que deben cumplirse antes de iniciar una etapa de pruebas.

Ejemplos:

  • La funcionalidad fue desplegada en ambiente QA.
  • Los requisitos y criterios de aceptación están definidos.
  • Los datos de prueba están disponibles.
  • Los servicios externos necesarios están configurados.
  • Las pruebas unitarias básicas pasaron.
  • No existen defectos bloqueantes conocidos que impidan probar.

Si no se cumplen los criterios de entrada, la ejecución puede ser ineficiente o inválida.

21.14 Criterios de salida

Los criterios de salida indican cuándo se considera finalizada una etapa de pruebas o cuándo una versión está en condiciones de avanzar.

Ejemplos:

  • Se ejecutaron los casos críticos planificados.
  • No quedan defectos bloqueantes abiertos.
  • Los defectos críticos fueron corregidos o aceptados formalmente.
  • La suite de humo pasó correctamente.
  • Los riesgos pendientes fueron documentados.
  • El product owner aceptó las funcionalidades incluidas.

Los criterios de salida no significan que el sistema no tenga defectos. Significan que se alcanzó un nivel de confianza acordado.

21.15 Entregables de testing

Los entregables son los resultados o documentos generados durante el proceso de pruebas.

Ejemplos:

  • Plan de pruebas.
  • Casos de prueba.
  • Suites de prueba.
  • Datos de prueba.
  • Reportes de ejecución.
  • Defectos registrados.
  • Evidencias.
  • Informe de riesgos pendientes.
  • Resumen de aceptación.

No todos los proyectos requieren todos estos entregables. Deben elegirse según valor y contexto.

21.16 Cronograma y ventanas de prueba

El plan puede incluir cuándo se ejecutarán las pruebas y cuánto tiempo se espera dedicar. Esto es importante porque testing suele depender de entregas, ambientes, datos y disponibilidad de personas.

Ejemplo:

  • Lunes: validación de despliegue y suite de humo.
  • Martes y miércoles: pruebas funcionales de nuevas historias.
  • Jueves: regresión de flujos críticos.
  • Viernes: pruebas de aceptación y cierre de riesgos.

El cronograma debe ser realista y contemplar tiempo para reprobar defectos corregidos.

21.17 Ejemplo resumido de plan

Objetivo Validar la versión 2.4.0 antes de publicación.
Alcance Login, recuperación de contraseña, compra y administración de productos.
Fuera de alcance Pruebas de rendimiento y navegadores no soportados.
Riesgos principales Pagos, permisos administrativos, stock y regresión de login.
Tipos de prueba Funcionales, regresión, humo, permisos y aceptación.
Ambiente QA con sandbox de pagos y datos preparados.
Criterio de salida Sin defectos bloqueantes abiertos y casos críticos ejecutados.

Este ejemplo es breve, pero ya comunica información clave para organizar la ejecución.

21.18 Plan liviano vs. plan formal

No todos los proyectos necesitan el mismo nivel de formalidad. Un producto regulado, financiero o médico puede requerir documentación detallada. Un equipo pequeño con entregas frecuentes puede trabajar con un plan más liviano.

Lo importante es que el plan sea útil. Debe ayudar a coordinar, priorizar y comunicar riesgos. Si el documento existe pero nadie lo usa, no aporta valor.

Un buen plan de pruebas no se mide por su extensión, sino por la claridad que aporta al equipo.

21.19 Errores comunes

Al definir planes y estrategias de testing, algunos errores frecuentes son:

  • No definir alcance.
  • No aclarar qué queda fuera de alcance.
  • Planificar sin considerar riesgos.
  • No preparar ambientes y datos con anticipación.
  • No definir criterios de entrada y salida.
  • Prometer probar todo.
  • No reservar tiempo para reprobar correcciones.
  • Crear documentos largos que no guían decisiones.
  • No actualizar el plan cuando cambia la entrega.

Estos errores reducen la utilidad del testing y aumentan la incertidumbre.

21.20 Buenas prácticas

Para crear planes y estrategias útiles conviene:

  • Definir objetivos claros.
  • Separar alcance y fuera de alcance.
  • Priorizar según riesgo e impacto.
  • Seleccionar niveles y tipos de prueba adecuados.
  • Confirmar ambientes, datos y dependencias.
  • Definir responsables.
  • Establecer criterios de entrada y salida.
  • Comunicar riesgos pendientes.
  • Mantener el plan proporcional al tamaño y riesgo del proyecto.

21.21 Qué debes recordar de este tema

  • El plan de pruebas organiza qué se probará, cómo, cuándo y con qué recursos.
  • La estrategia de testing define el enfoque general para cubrir riesgos.
  • El alcance indica qué se probará; el fuera de alcance indica qué no se probará.
  • El análisis de riesgo ayuda a priorizar pruebas.
  • Los criterios de entrada definen cuándo se puede comenzar a probar.
  • Los criterios de salida definen cuándo se considera suficiente la etapa de pruebas.
  • Ambientes y datos deben prepararse antes de ejecutar.
  • Un plan útil debe ser claro, proporcional y accionable.

21.22 Conclusión

El plan de pruebas y la estrategia de testing ayudan a transformar el esfuerzo de pruebas en un trabajo organizado y orientado por riesgos. No se trata de documentar por documentar, sino de tomar mejores decisiones sobre qué probar, con qué profundidad y con qué objetivo.

Un buen plan comunica alcance, prioridades, ambientes, responsabilidades, criterios y riesgos. Una buena estrategia asegura que el testing se enfoque en lo que realmente importa para la calidad del producto.

En el próximo tema estudiaremos ejecución de pruebas y registro de resultados, para ver cómo llevar el plan a la práctica y documentar lo observado.