🤔 ¿Qué es E2E Testing?
🤔 ¿Qué es E2E Testing?
E2E Testing con Playwright y TypeScript
Instalación y configuración de nuestro espacio de trabajo
Instalación y configuración de nuestro espacio de trabajo
Encontrar elementos en una página web: Locators
Encontrar elementos en una página web: Locators
Interactuar con Elementos web.
Interactuar con Elementos web.
Validando el estado de nuestro sistema
Validando el estado de nuestro sistema
Ejecución y su control
Ejecución y su control
Playwright avanzado y mejores prácticas
Playwright avanzado y mejores prácticas
Antes de escribir una sola línea de Playwright, conviene tomarse un momento para entender qué tipo de testing vamos a hacer y por qué existe. No es solo relleno teórico: saber qué estás haciendo y por qué lo hacés cambia completamente la forma en que diseñás tus pruebas.
Empecemos por el principio: ¿qué es testing de software?
Testing es el proceso de evaluar un sistema o sus componentes para verificar que se comporta como se espera. Simple de decir, no tan simple de hacer bien.
Ahora bien, no existe una sola forma de testear. Dependiendo de qué querés validar y desde qué nivel lo mirás, vas a usar distintos tipos de pruebas. Y acá es donde entra la famosa pirámide de testing.
La pirámide de testing: un mapa para no perderse
La pirámide de testing es un modelo que te ayuda a pensar en cómo distribuir tus esfuerzos de prueba. Tiene tres niveles:
Unit tests (base de la pirámide): testean la unidad más pequeña del sistema, típicamente una función o método aislado. Son rápidos, baratos y fáciles de escribir. Deberían ser la mayoría de tus tests.
Integration tests (medio): verifican que dos o más componentes funcionen bien juntos. Ya no testeás una función sola, sino cómo se comunican entre sí.
E2E tests (punta de la pirámide): validan flujos completos del sistema desde la perspectiva del usuario final. Son más lentos, más costosos de mantener, pero te dan una confianza que ningún otro nivel puede darte.
Entonces, ¿qué es E2E Testing?
E2E viene de End-to-End, de punta a punta. La idea es simple: simulás lo que haría un usuario real interactuando con tu aplicación a través de la interfaz, y verificás que todo el flujo funcione correctamente de principio a fin.
Cuando hacés un test E2E, no te importa cómo está implementado el backend, qué base de datos usa o cómo está estructurado el código. Lo que te importa es esto: ¿el sistema hace lo que se supone que tiene que hacer desde el punto de vista del usuario?
Un ejemplo concreto: si tenés un e-commerce, un test E2E podría ser:
El usuario abre la página principal
Busca un producto
Lo agrega al carrito
Completa el checkout
Recibe la confirmación del pedido
Ese flujo entero, tal como lo viviría una persona real, es lo que un test E2E valida.
¿Por qué no alcanza con unit tests?
Excelente pregunta. Los unit tests son fundamentales, pero tienen un límite claro: pueden verificar que cada pieza funciona bien por separado, pero no garantizan que todo funcione bien junto.
Imaginate que el equipo de backend cambió cómo retorna el ID de un producto. Los unit tests del backend siguen pasando. Los unit tests del frontend también. Pero cuando el usuario intenta agregar ese producto al carrito... boom. El frontend esperaba otro formato y el flujo se rompe.
Un test E2E hubiera detectado exactamente eso.
¿Y por qué no hacer solo E2E tests?
Porque son costosos. Son más lentos de ejecutar, más difíciles de mantener y cuando fallan, puede ser complicado saber exactamente dónde está el problema. Si tenés 500 tests E2E y todos los días rompen 20 por razones distintas, el equipo termina ignorándolos. Y un test que se ignora es peor que no tener test.
Por eso la pirámide importa: la base ancha de unit tests te da velocidad y precisión; los E2E en la punta te dan confianza sobre el flujo real del usuario. Los dos se necesitan.
¿Qué vamos a testear con Playwright?
En este curso nos vamos a enfocar en el nivel E2E: vamos a simular interacciones reales de usuario sobre una interfaz web, verificar que los elementos estén donde tienen que estar, que los formularios funcionen, que los mensajes de error aparezcan cuando corresponde y que los flujos completos se ejecuten sin problemas.
Para eso vamos a usar Playwright, una herramienta moderna de automatización de browsers que hace que escribir y mantener tests E2E sea mucho más llevadero de lo que solía ser. Pero eso lo vemos en detalle más adelante.
Por ahora, lo importante es que te quede claro el concepto: E2E testing es la capa que cierra el círculo de confianza de tu estrategia de calidad. Es lo más cercano que podés estar de validar que tu producto realmente funciona antes de que lo haga un usuario real.
💡 En el video de esta clase exploramos el concepto con más detalle y lo ponemos en contexto dentro de una estrategia de testing real. Si todavía no lo viste, este es el momento ideal.
¿Te quedó alguna duda sobre qué es E2E testing antes de arrancar con la práctica? Podés dejarla en el foro del curso o en el canal de la comunidad.