5. Alcance de una prueba E2E: frontend, backend, base de datos y servicios externos

5.1 Introducción

El alcance de una prueba End-to-End indica qué partes del sistema participan en el flujo que queremos validar. Una prueba E2E puede atravesar la interfaz de usuario, el backend, la base de datos, servicios de autenticación, proveedores de pago, sistemas de correo y otros componentes.

Definir bien el alcance es importante porque una prueba demasiado pequeña puede no dar confianza sobre el flujo completo, mientras que una prueba demasiado grande puede volverse lenta, frágil y difícil de diagnosticar.

En este tema veremos cómo pensar el alcance de una prueba E2E y qué rol cumple cada capa dentro del recorrido.

5.2 Qué significa alcance en E2E

En una prueba E2E, el alcance responde preguntas como estas:

  • ¿Desde dónde comienza la prueba?
  • ¿Qué acciones reales ejecuta el usuario o proceso externo?
  • ¿Qué capas del sistema intervienen?
  • ¿Qué dependencias se usan realmente y cuáles se reemplazan o simulan?
  • ¿Dónde termina el flujo?
  • ¿Qué evidencia confirma que el resultado fue correcto?
Definir el alcance no es agregar todo lo posible. Es decidir qué partes deben participar para que la prueba entregue confianza real sobre el flujo.

5.3 El frontend en una prueba E2E

El frontend es la parte visible con la que interactúa el usuario: pantallas, formularios, botones, mensajes, menús, tablas, enlaces y navegación. Muchas pruebas E2E comienzan en esta capa porque intentan reproducir el uso real de la aplicación.

Cuando una prueba E2E incluye frontend, puede validar aspectos como:

  • Que la pantalla correcta se cargue.
  • Que el usuario pueda completar campos y enviar formularios.
  • Que los botones y enlaces importantes permitan avanzar.
  • Que aparezcan mensajes de confirmación o error.
  • Que la navegación conduzca a la página esperada.
  • Que la información final sea visible para el usuario.

El frontend no es solo una decoración. En muchos sistemas contiene validaciones, estados, permisos visibles y experiencia de uso que forman parte del flujo.

5.4 El backend en una prueba E2E

El backend procesa las reglas de negocio, valida datos, coordina operaciones y se comunica con bases de datos o servicios externos. Aunque el usuario no lo vea directamente, es una parte central de muchos flujos E2E.

Una prueba E2E puede atravesar el backend cuando, por ejemplo:

  • Se crea una orden de compra.
  • Se calcula un importe final.
  • Se valida si un usuario tiene permiso para realizar una acción.
  • Se cambia el estado de una solicitud.
  • Se registra una operación en el sistema.
  • Se envía una notificación a otro componente.

Cuando el backend participa, la prueba puede detectar problemas que no se ven solo mirando la pantalla: reglas mal aplicadas, errores de permisos, estados incorrectos o datos incompletos.

5.5 La base de datos en una prueba E2E

La base de datos guarda información necesaria para que el flujo exista y para que el resultado se mantenga. En una prueba E2E puede intervenir de dos maneras: como estado inicial y como destino de los cambios producidos por la prueba.

Por ejemplo, antes de ejecutar una prueba, puede ser necesario que exista un usuario, un producto publicado o una agenda con turnos disponibles. Después de ejecutar el flujo, podemos esperar que se haya creado una compra, una reserva o una solicitud.

Uso de la base de datos Ejemplo
Preparar estado inicial Crear un producto disponible para poder comprarlo durante la prueba.
Persistir resultado Guardar la orden generada cuando el usuario confirma la compra.
Verificar consecuencia Comprobar que la reserva aparece en la agenda del usuario.

Conviene ser cuidadoso: verificar directamente la base de datos puede ser útil, pero la evidencia principal de una prueba E2E debería estar conectada con el resultado observable del flujo.

5.6 Servicios externos

Muchos sistemas dependen de servicios externos: pagos, correos, mapas, mensajería, verificación de identidad, almacenamiento de archivos, facturación o proveedores de autenticación.

En una prueba E2E debemos decidir si esos servicios se usarán realmente, si se reemplazarán por un ambiente de prueba o si se simularán. La decisión depende del riesgo y del costo.

Enfoque Ventaja Riesgo
Servicio real Mayor realismo. Puede ser costoso, lento o afectar datos reales.
Ambiente de prueba del proveedor Buen equilibrio entre realismo y seguridad. Puede comportarse distinto al ambiente real.
Simulación o reemplazo controlado Más estabilidad y control. Menos realismo sobre la integración completa.

5.7 Autenticación y permisos

La autenticación y los permisos suelen formar parte del alcance de muchas pruebas E2E. No alcanza con saber que una acción funciona; también importa saber si la puede realizar el usuario correcto.

Algunos ejemplos:

  • Un alumno puede comprar un curso, pero no puede editar su precio.
  • Un administrador puede aprobar una solicitud, pero un usuario común no.
  • Un usuario invitado debe ser redirigido al login antes de acceder a una sección privada.
  • Un usuario con sesión vencida debe volver a autenticarse.

Cuando el flujo depende de roles o permisos, el alcance de la prueba debe incluir el estado del usuario y la verificación del acceso correcto.

5.8 Ejemplo de alcance completo

Imaginemos una prueba E2E para reservar un turno médico. El flujo podría tener este alcance:

Parte del sistema Participación en el flujo
Frontend El paciente busca un profesional, selecciona fecha y confirma el turno.
Backend Valida disponibilidad, permisos y reglas de reserva.
Base de datos Guarda el turno reservado y actualiza la disponibilidad.
Servicio de correo Envía una confirmación al paciente.
Panel del usuario Muestra el turno reservado en la agenda del paciente.

Esta prueba entrega confianza porque valida el recorrido completo y las consecuencias principales del flujo.

5.9 Alcance demasiado pequeño

Una prueba puede llamarse E2E pero tener un alcance demasiado reducido. Por ejemplo, si solo abre la pantalla de turnos y comprueba que el botón "Reservar" existe, no está validando el flujo completo.

Señales de alcance demasiado pequeño:

  • No hay una acción de usuario completa.
  • No se verifica un resultado final.
  • No se atraviesan las partes relevantes del sistema.
  • La prueba confirma presencia visual, pero no comportamiento.
  • El escenario no representa un objetivo real.

En estos casos puede tratarse de una prueba de interfaz o una verificación superficial, pero no de una prueba E2E completa.

5.10 Alcance demasiado grande

También puede ocurrir lo contrario: una prueba intenta cubrir demasiadas cosas en un solo escenario. Esto vuelve difícil entender por qué falló y aumenta el costo de mantenimiento.

Señales de alcance demasiado grande:

  • La prueba mezcla varios objetivos de usuario independientes.
  • El escenario tarda demasiado en ejecutarse.
  • Una falla puede tener demasiadas causas posibles.
  • La prueba verifica detalles que podrían probarse mejor en otro nivel.
  • El flujo necesita preparar demasiados datos complejos para comenzar.
Una prueba E2E debe ser completa para el flujo elegido, pero no debe intentar probar toda la aplicación en un solo recorrido.

5.11 Qué dependencias incluir y cuáles controlar

Una decisión importante es si las dependencias externas deben participar realmente en la prueba. No siempre existe una única respuesta correcta.

Conviene incluir una dependencia real cuando:

  • La integración con esa dependencia es parte del riesgo principal.
  • Existe un ambiente de prueba estable y seguro.
  • El costo de ejecutar la operación es aceptable.
  • La respuesta de la dependencia puede verificarse sin afectar usuarios reales.

Conviene controlar o simular una dependencia cuando:

  • El servicio externo es inestable o lento.
  • La operación tiene costo económico real.
  • No se pueden crear datos de prueba seguros.
  • El objetivo de la prueba no es validar esa integración específica.

5.12 Alcance y diagnóstico de fallas

Cuanto mayor es el alcance de una prueba E2E, más información puede aportar, pero también más difícil puede ser diagnosticar una falla. Si una prueba que recorre diez componentes falla, el problema puede estar en cualquiera de ellos.

Por eso conviene acompañar las pruebas E2E con evidencias útiles:

  • Mensajes visibles en pantalla.
  • Capturas o videos de la ejecución.
  • Registros del backend.
  • Identificadores de operaciones creadas.
  • Estado final de la entidad principal del flujo.

Una prueba E2E bien delimitada facilita entender si la falla está en el producto, en el ambiente, en los datos o en la prueba misma.

5.13 Preguntas para definir alcance

Antes de escribir o ejecutar una prueba E2E, podemos responder estas preguntas:

  • ¿Qué objetivo real queremos validar?
  • ¿Cuál es el punto de inicio más adecuado?
  • ¿Cuál es el resultado final que demuestra éxito?
  • ¿Qué capas deben participar para que la prueba sea valiosa?
  • ¿Qué dependencias externas son necesarias?
  • ¿Qué datos iniciales necesita el flujo?
  • ¿Cómo limpiaremos o aislaremos los datos después?
  • ¿Qué evidencia ayudará a diagnosticar una falla?

Estas preguntas evitan que la prueba crezca sin control o que quede demasiado superficial.

5.14 Qué debes recordar de este tema

  • El alcance indica qué partes del sistema participan en una prueba E2E.
  • Una prueba E2E puede incluir frontend, backend, base de datos, permisos y servicios externos.
  • No siempre conviene usar todos los componentes reales.
  • El alcance debe ser suficiente para validar el flujo, pero no tan grande que vuelva inmanejable la prueba.
  • Las dependencias externas pueden usarse realmente, en modo de prueba o mediante simulación.
  • La evidencia final debe demostrar que el objetivo del usuario se cumplió.
  • Un buen alcance facilita tanto la confianza como el diagnóstico de fallas.

5.15 Conclusión

Definir el alcance de una prueba End-to-End es una decisión central. Una prueba E2E debe atravesar las partes necesarias para validar un flujo real, pero sin transformarse en una prueba enorme que intente cubrir todo el sistema.

El equilibrio está en incluir lo que aporta confianza sobre el objetivo del usuario y controlar lo que introduce inestabilidad innecesaria. Así la prueba resulta más clara, más útil y más fácil de mantener.

En el próximo tema veremos cómo identificar flujos críticos del negocio y cómo seleccionar los escenarios E2E que realmente vale la pena probar.