15. Verificaciones: qué comprobar al final y durante el flujo

15.1 Introducción

Una prueba End-to-End no consiste solamente en ejecutar pasos. Su valor aparece cuando compara lo que ocurrió con lo que debería ocurrir. Esa comparación se realiza mediante verificaciones, también llamadas aserciones.

Si una prueba recorre un flujo completo pero no comprueba resultados importantes, puede pasar aunque el sistema no haya cumplido el objetivo real del usuario. Por eso, definir qué verificar es tan importante como definir qué acciones ejecutar.

En este tema veremos qué conviene comprobar al final del flujo, qué puede verificarse durante el recorrido y qué errores evitar.

15.2 Qué es una verificación

Una verificación es una comprobación concreta de que el sistema se encuentra en el estado esperado. Puede observar la interfaz, un dato, un mensaje, un estado de negocio o una consecuencia del flujo.

Una prueba E2E sin verificaciones claras es solo una secuencia de acciones. No nos dice si el sistema hizo lo correcto.

Por ejemplo, después de una compra no alcanza con haber hecho clic en "Confirmar". Debemos comprobar que la compra fue aceptada, que existe una orden y que el usuario puede verla.

15.3 Verificación final

La verificación final comprueba que el objetivo principal del escenario se cumplió. Es la comprobación más importante de una prueba E2E.

Ejemplos:

  • Después de comprar un curso, el curso aparece en "Mis cursos".
  • Después de reservar un turno, el turno aparece en la agenda del paciente.
  • Después de enviar una solicitud, queda registrada con estado pendiente.
  • Después de aprobar una operación, cambia a estado aprobada.
  • Después de recuperar una contraseña, el usuario puede iniciar sesión con la nueva clave.

La verificación final debe estar conectada con el objetivo del usuario o del negocio.

15.4 Verificaciones intermedias

Las verificaciones intermedias comprueban que el flujo avanza correctamente antes de llegar al final. Son útiles cuando el proceso tiene varios pasos o cuando un error temprano puede confundir el diagnóstico.

Ejemplos de verificaciones intermedias:

  • Después de iniciar sesión, el usuario llega al panel correcto.
  • Después de agregar un producto al carrito, el producto aparece en el resumen.
  • Después de aplicar un cupón, el total se actualiza.
  • Después de completar un paso, el sistema habilita el botón siguiente.
  • Después de elegir un turno, el resumen muestra fecha y profesional correctos.

No conviene verificar todo en cada paso. Las verificaciones intermedias deben ser pocas y relevantes.

15.5 Verificar pantalla no siempre alcanza

Una pantalla puede mostrar un mensaje de éxito aunque el estado real del sistema no se haya actualizado correctamente. Por eso, en flujos críticos conviene verificar consecuencias más fuertes.

Verificación débil Verificación más fuerte
Aparece "Compra realizada". La orden aparece en el historial y el curso queda habilitado.
Aparece "Solicitud enviada". La solicitud figura con estado pendiente para el usuario correspondiente.
Aparece "Turno confirmado". El turno aparece en la agenda y ya no está disponible para otro paciente.
Aparece "Cambios guardados". Al volver a abrir el perfil, los datos actualizados se conservan.

15.6 Verificar resultados observables

Una prueba E2E debe apoyarse en resultados observables. Esto no significa que todo deba verse en la pantalla, pero sí que debe existir una evidencia comprobable.

Resultados observables pueden ser:

  • Un mensaje visible.
  • Una página de confirmación.
  • Un registro en un listado.
  • Un cambio de estado.
  • Un correo recibido en una bandeja de prueba.
  • Un archivo generado o descargado.
  • Una notificación registrada.

La evidencia debe ser clara y relacionada con el objetivo del escenario.

15.7 Verificaciones positivas

Una verificación positiva comprueba que algo esperado ocurrió. Es la forma más habitual de validar un escenario feliz o alternativo.

Ejemplos:

  • El usuario accede al panel después de iniciar sesión.
  • El producto agregado aparece en el carrito.
  • El descuento se aplica al total.
  • La orden queda registrada como pagada.
  • El curso comprado aparece disponible.

Estas verificaciones confirman que el sistema produjo el resultado correcto.

15.8 Verificaciones negativas

Una verificación negativa comprueba que algo incorrecto no ocurrió. Son importantes en escenarios de error, seguridad o permisos.

Ejemplos:

  • Si el pago es rechazado, no se crea una compra aprobada.
  • Si el usuario no tiene permisos, no puede aprobar una solicitud.
  • Si el curso no fue comprado, no se habilita el contenido.
  • Si falta un dato obligatorio, no se envía el formulario.
  • Si el turno ya está ocupado, no se duplica la reserva.

En muchos errores críticos, verificar lo que no debe pasar es tan importante como verificar el mensaje mostrado.

15.9 Verificar datos correctos

No basta con comprobar que algo existe. También debemos comprobar que contiene los datos correctos.

Por ejemplo, si una compra aparece en el historial, conviene revisar datos como:

  • Producto o curso comprado.
  • Importe final.
  • Estado de la orden.
  • Usuario asociado.
  • Fecha o identificador de operación, si corresponde.

Esto evita falsos positivos donde la prueba encuentra una entidad, pero no necesariamente la que generó el escenario.

15.10 Verificaciones en listas y tablas

Muchas pruebas terminan verificando que un dato aparece en una lista o tabla. En esos casos, conviene identificar el dato por una clave única y luego comprobar su contenido.

Ejemplo:

Buscar la orden creada por su número de operación y verificar que pertenece al usuario correcto, tiene el importe esperado y figura como pagada.

Evitar verificaciones como "hay al menos una orden" o "aparece una fila", porque pueden pasar con datos de otra prueba.

15.11 Verificaciones de estado

Los estados son fundamentales en muchos sistemas. Una solicitud puede estar pendiente, aprobada o rechazada. Una orden puede estar creada, pagada o cancelada. Un turno puede estar disponible, reservado o finalizado.

Verificar estados permite confirmar que el flujo avanzó correctamente.

Flujo Estado inicial Estado esperado
Enviar solicitud Borrador Pendiente de revisión
Aprobar solicitud Pendiente Aprobada
Reservar turno Disponible Reservado
Cancelar compra Pagada Cancelada o reembolsada

15.12 Verificaciones durante flujos de error

En escenarios de error, una buena verificación debe comprobar tres cosas:

  • El sistema informa el problema de manera comprensible.
  • El usuario no puede avanzar indebidamente.
  • No se generan consecuencias incorrectas en el sistema.

Por ejemplo, si un pago es rechazado, la prueba puede verificar que aparece el mensaje de rechazo, que el usuario permanece en un estado recuperable y que el curso no queda habilitado.

15.13 Evitar demasiadas verificaciones

Agregar muchas verificaciones no siempre mejora la prueba. Puede hacerla más frágil y difícil de mantener. Una prueba E2E debe verificar lo suficiente para confirmar el objetivo, sin revisar detalles secundarios innecesarios.

Señales de exceso:

  • La prueba verifica textos decorativos que no afectan el flujo.
  • Comprueba colores, tamaños o posiciones sin que sean parte del requisito.
  • Incluye muchas verificaciones no relacionadas con el objetivo principal.
  • Falla por cambios menores de interfaz aunque el flujo funcione.

Las verificaciones deben proteger comportamiento importante, no inmovilizar toda la pantalla.

15.14 Evitar verificaciones demasiado débiles

El problema contrario es verificar muy poco. Una prueba débil puede pasar aunque el sistema esté mal.

Ejemplos de verificaciones débiles:

  • Comprobar solo que la página cargó.
  • Comprobar solo que existe un botón.
  • Comprobar solo que no apareció un error técnico.
  • Comprobar solo que la URL cambió.
  • Comprobar solo que hay algún elemento en una lista.

Estas comprobaciones pueden ser útiles como parte del flujo, pero no deberían ser la única evidencia de éxito.

15.15 Ejemplo: compra de un curso

Un escenario E2E de compra de curso podría tener estas verificaciones:

Momento Verificación Motivo
Después de iniciar sesión El alumno ve su panel o menú de cuenta. Confirma que opera como el usuario correcto.
Después de agregar al carrito El curso aparece en el resumen de compra. Confirma que el flujo avanza con el dato correcto.
Después del pago Se muestra confirmación con número de operación. Aporta evidencia inmediata de la acción.
Al final El curso aparece disponible en "Mis cursos". Confirma el objetivo principal del usuario.

15.16 Errores comunes

Al definir verificaciones E2E, conviene evitar estos errores:

  • Ejecutar pasos sin verificar el resultado.
  • Verificar solo mensajes sin comprobar consecuencias.
  • Verificar detalles visuales que no forman parte del requisito.
  • No comprobar datos específicos de la entidad creada.
  • No verificar que acciones inválidas no generen efectos.
  • Agregar verificaciones que pertenecen a otro escenario.
  • Usar datos compartidos que pueden producir falsos positivos.

15.17 Lista de verificación

Para revisar las verificaciones de un escenario E2E, podemos preguntar:

  • ¿Cuál es la verificación final principal?
  • ¿Esa verificación confirma el objetivo del usuario?
  • ¿Hay verificaciones intermedias necesarias para diagnosticar el flujo?
  • ¿Se verifican datos específicos y no solo existencia genérica?
  • ¿En escenarios de error se comprueba que no hubo efectos indebidos?
  • ¿Las verificaciones evitan detalles visuales innecesarios?
  • ¿La prueba puede pasar por casualidad con datos de otra ejecución?

15.18 Qué debes recordar de este tema

  • Las verificaciones comparan el comportamiento obtenido con el esperado.
  • La verificación final debe confirmar el objetivo principal del escenario.
  • Las verificaciones intermedias ayudan a diagnosticar flujos de varios pasos.
  • Un mensaje visible no siempre alcanza como evidencia de éxito.
  • En errores, también hay que verificar que no ocurran efectos indebidos.
  • Demasiadas verificaciones vuelven la prueba frágil.
  • Muy pocas verificaciones pueden producir falsos positivos.

15.19 Conclusión

Las verificaciones son lo que transforma una secuencia de acciones en una verdadera prueba. Sin ellas, no sabemos si el sistema cumplió el objetivo del usuario ni si quedó en un estado correcto.

Una buena prueba E2E combina una verificación final fuerte con algunas verificaciones intermedias útiles. Debe comprobar consecuencias importantes, evitar detalles frágiles y reducir falsos positivos.

En el próximo tema veremos cómo manejar dependencias externas, correos, pagos y servicios de terceros.