Quiz JAVA 8 - PruebasVersión en línea JAVA 8 - Pruebas por HR Mexico 1 ¿Cuál es el objetivo principal de una prueba unitaria? a Validar la interacción de varios módulos del sistema b Verificar que un módulo funcione correctamente de forma aislada c Asegurar que todos los requerimientos del cliente estén cubiertos d Evaluar la experiencia del usuario final 2 ¿Qué afirmación es cierta sobre el uso de mocks en pruebas unitarias? a Se usan para probar funcionalidades de front-end b Permiten reemplazar dependencias externas para verificar el comportamiento interno c Simulan la base de datos real para hacer pruebas de carga d Sirven para automatizar pruebas de aceptación con el cliente 3 ¿Qué tipo de prueba es más adecuada para validar la comunicación entre dos microservicios? a Prueba unitaria b Prueba de integración c Prueba de regresión d Prueba de humo 4 En el contexto de TDD (Test Driven Development), ¿cuál es el orden correcto del ciclo de desarrollo? a Test -> Refactor -> Code b Code -> Test -> Refactor c Test -> Code -> Refactor d Refactor -> Test -> Code 5 ¿Qué significa que una prueba sea "idempotente"? a Puede ejecutarse múltiples veces sin alterar el estado del sistema b Debe ejecutarse sólo una vez para ser válida c Depende del orden en que se ejecutan otras pruebas d Solo es válida si modifica el estado del sistema 6 ¿Qué herramienta es comúnmente utilizada en Java para realizar pruebas unitarias? a Jenkins b Postman c JUnit d Hibernate 7 ¿Cuál es una buena práctica en el diseño de pruebas automatizadas? a Evitar aislar el entorno de pruebas b Escribir pruebas que dependan del sistema operativo c Nombrar las pruebas de forma clara y descriptiva d Incluir lógica de negocio dentro de las pruebas 8 ¿Cuál es la diferencia principal entre pruebas funcionales y no funcionales? a Las pruebas funcionales no requieren especificaciones b Las no funcionales validan el comportamiento ante cargas, rendimiento, seguridad c Las pruebas no funcionales son responsabilidad del equipo de QA exclusivamente d Las funcionales no se automatizan 9 ¿Cuál de las siguientes afirmaciones es verdadera sobre pruebas automatizadas con Selenium? a Selenium solo puede usarse para probar servicios REST b Selenium automatiza pruebas de interfaces gráficas web c Selenium requiere siempre acceso a base de datos d Selenium no es compatible con Java 10 En una prueba automatizada con Cucumber, ¿qué representa un archivo .feature? a Un archivo de configuración del entorno de ejecución b Un script con comandos SQL para pruebas de base de datos c Una definición en lenguaje natural de los casos de prueba d Un resumen del estado de la cobertura de pruebas 11 ¿Cuál es una ventaja de usar Cucumber con pruebas BDD (Behavior-Driven Development)? a Obliga a escribir pruebas en XML b Permite que tanto técnicos como no técnicos comprendan los escenarios de prueba c Solo funciona con lenguajes funcionales d Reduce la necesidad de pruebas unitarias 12 ¿Qué método de JUnit 5 se usa para ejecutar una acción antes de cada prueba individual? a @BeforeClass b @BeforeAll c @BeforeEach d @Setup 13 ¿Cuál es una diferencia clave entre @Mock y @Spy en Mockito? a @Mock conserva comportamiento real, @Spy no b @Spy requiere inyección manual siempre c @Spy permite espiar objetos reales, @Mock crea objetos simulados d Ambas son idénticas 14 ¿Qué herramienta se usa comúnmente para medir la cobertura de código en pruebas Java? a Docker b Jacoco c Git d SonarScanner 15 ¿Cuál es el propósito de una prueba de contrato en servicios REST? a Medir el rendimiento de la red b Validar que el servicio esté disponible en el puerto correcto c Verificar que el consumidor y el proveedor del servicio sigan un contrato de interfaz d Ejecutar pruebas de seguridad sobre endpoints 16 En un pipeline de CI/CD, ¿en qué etapa se recomienda ejecutar las pruebas automatizadas? a Antes del commit al repositorio b Después de la entrega a producción c Después de compilar, antes de la entrega d No deben incluirse en el pipeline 17 ¿Cuál es la principal ventaja de las pruebas de regresión automatizadas? a Reducen la necesidad de pruebas funcionales b Aseguran que nuevas funcionalidades estén completas c Detectan rápidamente si cambios recientes rompen funcionalidades previas Detectan rápidamente si cambios recientes rompen funcionalidades previas d Son pruebas más baratas que las pruebas unitarias