Definiré “Black Box” como “nivel de usuario o UI” y “White Box” como “datos o nivel funcional”.
¿Puede acceder a todas las rutas de código necesarias para la misma cobertura con las pruebas de nivel de usuario que puede con las pruebas funcionales?
Es posible, para aplicaciones simples. A medida que crece la complejidad del producto o la aplicación, es menos probable que logre la misma cobertura.
Este es el por qué. Imagina que tienes una aplicación de correo como gmail. Mediante las pruebas de usuario final (mediante pruebas manuales o automatización a través de la interfaz de usuario), puede seguir los escenarios de usuario para la mayoría de los casos a los que puede acceder a través de la interfaz de usuario. Pero las rutas de código son más que eso. Hay llamadas de API que no podrá ejecutar. No podrá ejercer rutas de código que no se verán afectadas por el funcionamiento normal del sistema, pero sí cuando se tocan funciones individuales. Escribir la automatización que alcanza estas funciones internas expondrá los errores en el código donde las pruebas a nivel de usuario desconocerán por completo que algo está mal.
- ¿Por qué no hay una plataforma de código abierto para desarrollar productos de software?
- Cómo distribuir mi presupuesto para desarrollar una solución de software
- ¿Qué tipo de sistema operativo se usa en aviones de combate y misiles?
- ¿Existe un servicio web que proporcione tasas de conversión de moneda por hora / día precisas?
- ¿Por qué decidiste aprender y trabajar en las pruebas de software?
Las pruebas son una pirámide, y las pruebas a nivel de usuario deben estar en la parte superior, completando todos los esfuerzos de los niveles subyacentes. En un mundo perfecto, también sería el ciclo más corto y la menor cantidad de recursos gastados en él.