pruebas negra ejemplos e2e caja blanca testing terminology qa

testing - negra - Diferencia entre las pruebas del sistema y las pruebas de extremo a extremo



pruebas de caja negra y caja blanca ejemplos (7)

¿Qué es una prueba de extremo a extremo y cuál es la diferencia entre ella y las pruebas del sistema?

Ambos parecen iguales y verifican la aplicación como un todo. Las definiciones en la red son muy confusas.


Comparar las pruebas de extremo a extremo y las pruebas del sistema es como comparar frutas con colores. La prueba de extremo a extremo (E2E) es un "tipo de prueba" y la prueba del sistema es un "nivel de prueba". En otras palabras, una prueba E2E siempre es una prueba del sistema, pero una prueba del sistema no es necesariamente una prueba E2E.

La prueba E2E es una prueba pesadamente no funcional, aunque ciertamente hay especificaciones funcionales que se pueden validar a través de una prueba E2E. Los E2E usualmente se realizan después de ejecutar las pruebas del sistema funcional. Las pruebas de aceptación del usuario (en entorno de producción), pruebas exploratorias (en QA o entornos de ensayo) y cualquier otra situación donde ejecute el SUT en un entorno que intenta imitar el uso real sería una prueba E2E, mientras que las pruebas de nivel del sistema podrían ejecutarse en un entorno no productivo (como un entorno de desarrollo). Aunque eso no significa que no pueda ejecutar una prueba E2E en desarrollo ... La naturaleza de la terminología de prueba hace que responder esto sea difícil ya que la industria todavía está tratando de sentir y establecer estándares.


Estare en desacuerdo. Para mí estos términos están en pocas palabras:

Prueba del sistema: verifico si mi propio sistema funciona como se espera. Por ejemplo, en el sitio de comercio electrónico: si mi cliente realiza el pago, los datos correctos se envían al almacén (que es propiedad de otra persona)

Prueba de extremo a extremo: como se indicó anteriormente, el flujo de trabajo real. Alguien coloca un artículo en el carrito de compras y completa los datos del usuario, y lo paga. Verifico si realmente recibí el pago, realizo la llamada al almacén, me aseguro de que hayan recibido la información. Y como pequeña cereza en el pastel: al recibir el paquete, me aseguro de que esos datos fueron lo suficientemente buenos, se imprimieron correctamente, especialmente, cuando mi verdadero nombre es Pavel Janíček (ver los graciosos Pavel Janíček diacríticos? A veces se imprimen de forma incorrecta) .

Y aquí te das cuenta de que incluso cuando envías datos como se esperaba y se negocian, es posible que tengas un problema en algún lado a un lado


Las respuestas son buenas para explicar la diferencia, agregaré que es posible encontrar DOS definiciones diferentes de pruebas de extremo a extremo: una vertical y una horizontal (más frecuente y que se describe en las respuestas):


Para mí, no hay realmente una gran diferencia entre los dos y en algunos establecimientos los términos se pueden usar indistintamente. En todas partes es diferente. Yo trataría de explicarlo así:

Pruebas del sistema : está probando todo el sistema, es decir, todos sus componentes para asegurarse de que cada uno funcione según lo previsto. Esto es más desde un lado funcional para verificar contra los requisitos.

Pruebas de extremo a extremo : se trata más del flujo real a través de un sistema en un escenario de usuario final más realista. ¿Puede un usuario navegar por la aplicación como se espera y funciona? Estás probando el flujo de trabajo.

Por ejemplo, si probara un sitio de comercio electrónico en el frente de la tienda:

Prueba del sistema: la búsqueda de elementos, el carrito y el pago funcionarían bien.

Prueba de extremo a extremo: a continuación, puede encontrar problemas con el flujo de trabajo de moverse entre estas áreas de funcionalidad.


Pruebas del sistema de integración: todos los componentes del sistema se prueban si proporcionan los resultados esperados correctos en detalles minuciosos.

Pruebas de extremo a extremo: toda la aplicación se prueba de principio a fin como si fuera satisfecha cuando se mira desde el cliente.


Tengo un ángulo ligeramente diferente para estas dos pruebas más importantes.

Prueba de extremo a extremo: según mi punto de vista La prueba de extremo a extremo es para cubrir el flujo de trabajo completo del caso de uso de la aplicación. Para completar el flujo de extremo a extremo de cualquier caso de uso, es posible que deba cubrir las pruebas (al menos, la interacción como ''solicitud y validación de respuesta'') de otra aplicación individual también. p.ej. Si está utilizando el flujo de extremo a extremo de una aplicación de comercio electrónico, los pasos finales de su aplicación es llevar al usuario a una pasarela de pago para realizar el pago. ahora, la prueba de la solicitud y la respuesta de la funcionalidad de integración del gateway de pago forma parte de las pruebas de integración del sistema o de las pruebas de extremo a extremo.

Pruebas del sistema: mientras que el alcance de las pruebas del sistema está limitado a la validación de todas y cada una de las funcionalidades de nuestra aplicación.

Esa es mi opinión. cualquier corrección es bienvenida.


Pruebas de extremo a extremo: una prueba de extremo a extremo es básicamente exactamente lo que parece; estás probando un software de principio a fin. Si se trata de una plataforma de comercio electrónico, por ejemplo, probarías que puedes acceder a una página de producto, agregarla al carrito, luego pagar y completar el pedido. Para una aplicación, podría ser que pueda seleccionar un elemento de un menú, hacer algún trabajo y luego enviarlo para que sea visible para los demás. Básicamente es solo una forma de que un equipo funcional investigue el nuevo desarrollo y se asegure de que no haya roto algo en el front-end o back-end durante la implementación.

Prueba del sistema : esto es un poco más nebuloso. Esto podría ser alguien que pruebe la base de datos back-end de un sitio web, o que pruebe la interfaz de usuario del front-end o incluso el nivel intermedio. Básicamente es una prueba en silos con un enfoque (principalmente) estrecho, diseñado para garantizar que los componentes individuales de un servicio cumplan con los requisitos que generalmente se establecen antes de que se realice el trabajo de desarrollo. Esto también se puede llamar ''pruebas de integración''.