22. Ejecución de pruebas y registro de resultados

22.1 Introducción

Diseñar buenos casos de prueba es importante, pero el valor del testing aparece cuando esos casos se ejecutan, se observan resultados y se registra información útil para el equipo.

La ejecución de pruebas consiste en realizar las verificaciones planificadas o exploratorias, comparar el resultado obtenido con el resultado esperado y documentar el estado de cada prueba.

Registrar resultados con claridad permite saber qué se probó, qué pasó, qué falló, qué quedó bloqueado y qué riesgos siguen pendientes.

22.2 Preparación antes de ejecutar

Antes de comenzar la ejecución conviene revisar que estén dadas las condiciones necesarias. De lo contrario, se puede perder tiempo con bloqueos evitables.

Checklist básico:

  • La versión correcta está desplegada.
  • El ambiente está disponible.
  • Los datos de prueba existen y están en el estado esperado.
  • Los usuarios y permisos están configurados.
  • Los servicios externos necesarios están activos o simulados.
  • Los casos de prueba están actualizados.
  • Los criterios de aceptación están claros.
  • Existe un canal para reportar defectos.

Una ejecución ordenada empieza antes de presionar el primer botón.

22.3 Qué significa ejecutar una prueba

Ejecutar una prueba no es solo seguir pasos. Implica observar, comparar y decidir.

  1. Leer el caso de prueba y entender su objetivo.
  2. Verificar precondiciones.
  3. Usar los datos definidos.
  4. Ejecutar los pasos.
  5. Observar el comportamiento del sistema.
  6. Comparar resultado obtenido con resultado esperado.
  7. Registrar estado y evidencia si corresponde.
  8. Reportar incidencia si hay diferencia relevante.

La observación es clave. A veces el resultado principal es correcto, pero aparecen mensajes, demoras o comportamientos secundarios que también deben analizarse.

22.4 Resultado esperado y resultado obtenido

Durante la ejecución, siempre debemos distinguir entre:

  • Resultado esperado: lo que el sistema debería hacer.
  • Resultado obtenido: lo que el sistema hizo realmente.

Ejemplo:

Resultado esperado: al ingresar contraseña incorrecta, el sistema debe mostrar "Correo o contraseña incorrectos".
Resultado obtenido: el sistema muestra "Error interno del servidor".

Esta diferencia es la base para decidir si el caso aprueba, falla o requiere análisis adicional.

22.5 Estados de ejecución

Los estados ayudan a comunicar el avance y resultado de las pruebas. Los más comunes son:

Estado Significado
Aprobado El resultado obtenido coincide con el resultado esperado.
Fallido El resultado obtenido no coincide con el resultado esperado.
Bloqueado No se pudo ejecutar por una condición externa al caso.
No ejecutado La prueba aún no fue realizada.
No aplica El caso no corresponde para esa versión, configuración o alcance.

Usar estados consistentes evita confusiones al informar avances.

22.6 Cuándo marcar una prueba como aprobada

Una prueba se marca como aprobada cuando el resultado obtenido coincide con el resultado esperado y no se observan diferencias relevantes.

Ejemplo:

  • Se ejecuta el inicio de sesión con usuario correcto.
  • El sistema autentica al usuario.
  • Se muestra la pantalla principal.
  • El nombre del usuario aparece correctamente.

Si todo coincide con lo esperado, el caso puede aprobarse. Si aparece un comportamiento secundario dudoso, conviene registrarlo o consultarlo antes de aprobar sin análisis.

22.7 Cuándo marcar una prueba como fallida

Una prueba se marca como fallida cuando el comportamiento observado no coincide con el esperado.

Ejemplos:

  • El sistema permite una acción que debería rechazar.
  • El cálculo mostrado es incorrecto.
  • No se guarda un dato obligatorio.
  • Aparece un error inesperado.
  • La pantalla no muestra información requerida.
  • Se envía un correo cuando no debería enviarse.

Cuando un caso falla, normalmente corresponde registrar una incidencia con información suficiente para reproducir el problema.

22.8 Cuándo marcar una prueba como bloqueada

Una prueba está bloqueada cuando no puede ejecutarse por una condición externa a lo que se quiere probar.

Ejemplos:

  • El ambiente está caído.
  • El usuario de prueba no existe.
  • El servicio externo necesario no responde.
  • La funcionalidad previa del flujo no funciona.
  • No se desplegó la versión correcta.
  • Faltan datos necesarios para ejecutar.

Bloqueado no significa aprobado ni fallido. Significa que no se pudo obtener información válida sobre ese caso.

22.9 Evidencia de prueba

La evidencia ayuda a respaldar lo observado. Puede ser necesaria especialmente en fallas, pruebas críticas, auditorías o validaciones de aceptación.

Ejemplos de evidencia:

  • Capturas de pantalla.
  • Videos cortos.
  • Logs del navegador o servidor.
  • Respuesta de una API.
  • Registro en base de datos.
  • Archivo generado.
  • Número de operación, pedido o transacción.

La evidencia debe ser útil y suficiente. No siempre hace falta capturar todo, pero sí lo necesario para entender el resultado.

22.10 Qué registrar durante la ejecución

Un registro de ejecución puede incluir:

  • Identificador del caso.
  • Fecha de ejecución.
  • Persona que ejecutó.
  • Ambiente y versión.
  • Datos usados.
  • Estado del caso.
  • Resultado obtenido.
  • Evidencia asociada.
  • Defecto vinculado, si corresponde.
  • Comentarios o aclaraciones.

Este registro permite reconstruir qué ocurrió y ayuda a tomar decisiones sobre la versión.

22.11 Ejemplo de registro de resultado

Caso CP-LOGIN-002
Objetivo Rechazar inicio de sesión con contraseña incorrecta.
Ambiente QA - versión 2.4.0
Datos usados usuario.activo@correo.com / contraseña incorrecta
Resultado esperado Mostrar mensaje "Correo o contraseña incorrectos".
Resultado obtenido El sistema muestra "Error interno del servidor".
Estado Fallido
Incidencia DEF-238

22.12 Ejecución manual y automatizada

El registro de resultados aplica tanto a pruebas manuales como automatizadas.

En pruebas manuales, una persona registra estado, observaciones y evidencias. En pruebas automatizadas, la herramienta suele generar reportes con casos pasados, fallidos, tiempos de ejecución, errores y capturas o logs.

En ambos casos, el resultado necesita interpretación. Una prueba automatizada fallida puede indicar un defecto real, un problema de ambiente, datos incorrectos o una prueba desactualizada.

22.13 Re-ejecución o retesting

El retesting consiste en volver a ejecutar una prueba que falló después de que el defecto fue corregido.

Ejemplo:

  1. El caso CP-LOGIN-002 falla.
  2. Se registra el defecto DEF-238.
  3. El desarrollador corrige el problema.
  4. Se despliega una nueva versión en QA.
  5. Se vuelve a ejecutar CP-LOGIN-002.
  6. Si el resultado ahora coincide con lo esperado, el defecto puede cerrarse.

Re-ejecutar confirma que el problema reportado fue resuelto.

22.14 Regresión después de corregir

Además de reprobar el caso fallido, puede ser necesario ejecutar pruebas de regresión. Una corrección puede resolver un defecto y romper otra funcionalidad relacionada.

Ejemplo: se corrige el rechazo de contraseña incorrecta. Luego conviene validar también:

  • Inicio de sesión exitoso.
  • Usuario bloqueado.
  • Recuperación de contraseña.
  • Contador de intentos fallidos.
  • Cierre de sesión.

La regresión se define según impacto y riesgo del cambio.

22.15 Manejo de resultados dudosos

A veces el resultado no es claramente aprobado ni fallido. Puede haber ambigüedad en el requisito, datos incompletos o comportamiento no documentado.

En esos casos conviene:

  • Registrar la observación.
  • Consultar criterio esperado con analista, negocio o product owner.
  • No asumir que es correcto sin confirmación.
  • No reportar como defecto definitivo si falta información.
  • Actualizar el caso de prueba cuando se aclare la regla.

Un resultado dudoso puede revelar una falla en la documentación, no necesariamente en el código.

22.16 Reporte de avance

Durante una ejecución, el equipo necesita conocer el avance. Un reporte simple puede incluir:

  • Total de casos planificados.
  • Casos ejecutados.
  • Casos aprobados.
  • Casos fallidos.
  • Casos bloqueados.
  • Defectos abiertos por severidad.
  • Riesgos pendientes.
  • Funcionalidades no probadas.

El reporte no debe limitarse a porcentajes. También debe explicar riesgos relevantes para decidir.

22.17 Ejemplo de resumen de ejecución

Suite Regresión de compra
Total de casos 40
Ejecutados 35
Aprobados 30
Fallidos 3
Bloqueados 2
No ejecutados 5
Riesgo principal Dos casos de pago bloqueados por indisponibilidad del sandbox.

Este resumen combina números con contexto, lo cual ayuda mucho más que un porcentaje aislado.

22.18 Errores comunes

Al ejecutar pruebas y registrar resultados, algunos errores frecuentes son:

  • No verificar ambiente y versión antes de ejecutar.
  • No registrar datos usados.
  • Marcar como aprobado un caso con diferencias no analizadas.
  • Marcar como fallido un caso bloqueado por ambiente.
  • No adjuntar evidencia en defectos importantes.
  • No distinguir resultado esperado y obtenido.
  • No reprobar defectos corregidos.
  • No ejecutar regresión después de cambios riesgosos.
  • Informar solo cantidad de casos sin explicar riesgos.

22.19 Buenas prácticas

Para ejecutar y registrar mejor conviene:

  • Confirmar precondiciones antes de empezar.
  • Registrar ambiente, versión y datos relevantes.
  • Comparar siempre resultado esperado contra obtenido.
  • Usar estados de ejecución consistentes.
  • Adjuntar evidencia suficiente cuando haya fallas.
  • Registrar incidencias con pasos reproducibles.
  • Marcar bloqueos claramente y explicar la causa.
  • Re-ejecutar casos después de correcciones.
  • Comunicar avance junto con riesgos pendientes.

22.20 Qué debes recordar de este tema

  • Ejecutar una prueba implica observar, comparar y registrar.
  • Antes de ejecutar deben revisarse ambiente, datos y precondiciones.
  • El resultado esperado y el obtenido deben distinguirse claramente.
  • Los estados más comunes son aprobado, fallido, bloqueado, no ejecutado y no aplica.
  • Un caso bloqueado no es lo mismo que un caso fallido.
  • La evidencia ayuda a respaldar resultados y analizar defectos.
  • El retesting confirma que un defecto fue corregido.
  • La regresión ayuda a detectar efectos secundarios de cambios.
  • Un buen reporte combina métricas con contexto y riesgos.

22.21 Conclusión

La ejecución de pruebas transforma los casos diseñados en información concreta sobre el producto. Pero esa información solo es útil si se registra con claridad: qué se probó, en qué ambiente, con qué datos, qué se esperaba y qué ocurrió.

Un buen registro permite reproducir defectos, medir avance, tomar decisiones y mantener trazabilidad. Ejecutar sin registrar correctamente reduce el valor del testing.

En el próximo tema estudiaremos cómo reportar defectos con información mínima y claridad, para que el equipo pueda entenderlos, reproducirlos y corregirlos de manera eficiente.