TEMA 5 Flashcards
¿Qué es un doble de prueba?
Un objeto que reemplaza a un componente real para aislar la unidad bajo prueba.
¿Qué es un Stub?
Un doble de prueba que simula el comportamiento de dependencias externas proporcionando respuestas controladas.
¿Cuándo es recomendable utilizar un Stub?
Cuando la dependencia real es compleja o incontrolable, como bases de datos o servicios externos.
¿Cuál es el objetivo principal de usar un Stub?
Controlar las entradas indirectas del componente bajo prueba para garantizar predictibilidad.
¿Qué es un “Seam enabling point”?
Un punto del código fuente donde se puede insertar un doble de prueba fácilmente.
¿Qué problemas ayudan a resolver los Stubs?
Permiten realizar pruebas sin depender de componentes externos, simplificando y agilizando las pruebas unitarias.
¿Qué es la refactorización por testabilidad?
Modificar el código para hacerlo más fácil de probar, especialmente para permitir insertar stubs o mocks.
¿Qué diferencia hay entre un Stub y un Mock?
El Stub solo proporciona datos controlados, mientras que el Mock además verifica interacciones.
¿Cuál es la principal característica de un Stub?
Ofrecer respuestas predefinidas o constantes para facilitar el control de los tests.
¿Cuándo es necesario refactorizar el código para insertar un Stub?
Cuando no existe un punto adecuado para insertar fácilmente un doble de prueba.
¿Cuál es la limitación principal al usar un Stub?
No verifica si el componente interactúa correctamente con sus dependencias, solo proporciona datos controlados.
¿Qué aspecto del software mejora significativamente al usar Stubs en pruebas?
La robustez y velocidad de las pruebas, al eliminar dependencias reales.
¿Cómo influye el uso de Stubs en la repetibilidad de las pruebas?
Aumenta la repetibilidad al eliminar la dependencia de condiciones externas variables.
¿Qué ocurre si no utilizamos dobles de prueba como los Stubs en un entorno complejo?
Las pruebas pueden volverse lentas, poco fiables y difíciles de mantener debido a dependencias externas.
¿Es posible simular diferentes escenarios con un Stub?
Sí, ajustando sus respuestas controladas para diferentes casos o condiciones.
¿Puede un Stub manejar excepciones simuladas?
Sí, puede configurarse para lanzar excepciones específicas según sea necesario en las pruebas.
¿Cuándo no sería adecuado utilizar un Stub?
Cuando es necesario verificar explícitamente las interacciones con dependencias externas.