¿Qué es End-to-End Testing?
Clase 2 de 24 • Curso de End to End Testing con Cypress 2018
Resumen
End to end testing es uno de los niveles dentro de la pirámide de testing y sirve para detectar fallas en la interfaz del usuario (user interface). El e2e testing es una metodología que comprueba el funcionamiento de toda una aplicación, de principio a fin, por ello, se le conoce como pruebas de extremo a extremo o pruebas end-to-end (e2e).
Las pruebas e2e garantizan que el flujo de una aplicación funcione como se esperaría ante la interacción de un usuario real. El foco es detectar posibles problemas que van a encontrar nuestros usuarios en el flujo general del programa.
Características del end-to-end testing
Dar una efectiva experiencia del usuario (user experience) es importante para ayudar a mejorar posibles fallas de una aplicación. Algunas características que puedes encontrar al hacer e2e testing son:
- Prueba todo el flujo del software desde el punto de vista del usuario final.
- Prueba el software desde la interfaz de usuario y no desde el código interno.
- Está enfocado en detectar posibles problemas que pudieran encontrar nuestros usuarios en su interacción con el flujo general del programa.
Cómo funciona el end to end testing
Esta metodología intenta simular desde el punto de vista del usuario cómo se comportaría la aplicación en condiciones normales y reales.
Para lograrlo, programamos la interacción del usuario con un navegador y verificamos el funcionamiento de principio a fin del proceso. Con este propósito, podemos utilizar herramientas como Cypress, entre otras.
¿Por qué es necesario hacer testing?
Testing Process es un método de trabajo que se emplea para identificar fallas en el software o producto con el fin de que este alcance un grado aceptable de madurez y estabilidad incluso antes de ser lanzado.
¿Cómo se relaciona el testing con las pruebas e2e? Lo veremos a continuación.
Niveles de la pirámide de testing
De acuerdo al nivel de complejidad y elementos que la componen, existe una pirámide de testing compuesta de varios niveles. Dentro de los niveles de esta pirámide encontramos el e2e testing.

Unit Test o Pruebas Unitarias
Permiten probar los elementos más fundamentales del software como objetos, funciones, eventos, entre otros.
Component Tests o Pruebas de Componentes
Permiten identificar fallas en componentes que incluyen varias funciones o elementos internos.
Integration Tests o Pruebas de Integración
Permiten probar el comportamiento y posibles fallas en la interacción entre los componentes entre sí, y demás elementos del software.
GUI Tests o End-to-end Tests
Nos ayudan a identificar fallas en la interfaz de usuario. Es en este nivel de pruebas es el más sofisticado, pues depende de los otros niveles de tests y una combinación de sus funciones.