Metodologías de desarrollo, pruebas y control de versiones — Test de Cuerpo de Técnicos Auxiliares de Informática de la Administración del Estado
Test gratuito de 32 preguntas de Cuerpo de Técnicos Auxiliares de Informática de la Administración del Estado, con la explicación justificada de cada respuesta. Responde las preguntas y envía el test para ver tu resultado: no necesitas registrarte.
En Scrum, ¿cuál es el objetivo principal de la reunión de Sprint Planning?
- ARevisar el trabajo completado en el sprint anterior.
- BDefinir el objetivo y el trabajo a realizar durante el próximo sprint.
- CIdentificar y eliminar impedimentos que afectan al equipo.
- DInspeccionar el incremento de producto y adaptar el Product Backlog.
¿Cuál de las siguientes es una característica distintiva del método Kanban frente a Scrum?
- AKanban utiliza iteraciones con duración fija (sprints).
- BKanban limita el trabajo en curso (WIP) en cada etapa del flujo.
- CKanban define roles específicos como Scrum Master y Product Owner.
- DKanban requiere planificación en reuniones ceremoniales para cada lote de trabajo.
¿Qué práctica de Extreme Programming (XP) implica que dos programadores trabajen juntos en el mismo código, en un mismo ordenador?
- ARefactorización
- BIntegración Continua
- CProgramación en Pareja
- DDesarrollo Guiado por Pruebas
En el modelo de desarrollo en cascada (Waterfall), ¿cuál es la secuencia típica de fases?
- APlanificación, Diseño, Implementación, Pruebas, Mantenimiento.
- BAnálisis, Diseño, Codificación, Pruebas, Despliegue.
- CRequisitos, Diseño, Implementación, Verificación, Mantenimiento.
- DConcepción, Elaboración, Construcción, Transición.
El modelo de desarrollo en espiral se caracteriza principalmente por:
- ASer un proceso lineal con fases bien definidas y sin iteraciones.
- BCombinar la naturaleza iterativa del prototipado con los aspectos controlados del modelo en cascada.
- CEntregar funcionalidad en iteraciones cortas y regulares llamadas sprints.
- DUtilizar un tablero visual para gestionar el flujo de trabajo y limitar el WIP.
¿Qué tipo de prueba se centra en verificar el correcto funcionamiento de un módulo o componente individual de software de forma aislada?
- APruebas de integración
- BPruebas de sistema
- CPruebas de regresión
- DPruebas unitarias
Las pruebas de integración se realizan para:
- AAsegurar que el sistema completo cumple con los requisitos especificados.
- BVerificar la interacción correcta entre diferentes módulos o componentes.
- CValidar que los cambios nuevos no afectan negativamente a la funcionalidad existente.
- DDeterminar si el software es aceptable para el usuario final.
¿Cuál de las siguientes afirmaciones describe mejor el propósito de las pruebas de aceptación?
- AVerificar que cada unidad de código funciona de manera aislada.
- BValidar que el sistema completo cumple con los requisitos de negocio y es usable por el cliente.
- CComprobar que los diferentes módulos se comunican correctamente.
- DGarantizar que el rendimiento del sistema es adecuado bajo carga.
En el contexto de las pruebas de software, ¿qué son las pruebas de regresión?
- APruebas que se ejecutan la primera vez que se desarrolla una funcionalidad.
- BPruebas diseñadas para verificar que los cambios o correcciones no han introducido nuevos defectos en la funcionalidad existente.
- CPruebas que se centran únicamente en la interfaz de usuario y la experiencia del usuario.
- DPruebas que determinan la velocidad de respuesta del sistema bajo condiciones normales.
¿Cuál es la secuencia correcta de pasos en el ciclo de Desarrollo Guiado por Pruebas (TDD)?
- ARefactorizar, Escribir prueba, Escribir código que pase la prueba.
- BEscribir código, Escribir prueba, Ejecutar prueba.
- CEscribir prueba, Escribir código que pase la prueba, Refactorizar.
- DDiseñar arquitectura, Escribir código, Escribir pruebas.
La Integración Continua (CI) es una práctica que consiste en:
- AEntregar automáticamente cada cambio a producción.
- BFusionar frecuentemente el trabajo de todos los desarrolladores en una rama principal y verificar mediante builds automatizados.
- CPlanificar las entregas de software en intervalos trimestrales.
- DRealizar pruebas manuales exhaustivas antes de integrar cualquier cambio.
¿Qué se entiende por Entrega Continua (Continuous Delivery) en el contexto de CI/CD?
- AUn proceso manual donde el equipo decide cuándo desplegar a producción.
- BLa capacidad de desplegar automáticamente cada cambio en el código a producción sin intervención humana.
- CLa capacidad de liberar cualquier versión del software a producción de forma segura y rápida, de manera manual o automática.
- DUn modelo de desarrollo donde las entregas se realizan solo en fechas fijas cada mes.
Jenkins es principalmente una herramienta de:
- AControl de versiones distribuido.
- BAutomatización de servidores de aplicaciones.
- CIntegración y entrega continua (CI/CD).
- DGestión de proyectos ágil.
GitHub Actions es una plataforma que permite:
- AGestionar exclusivamente el control de versiones de proyectos privados.
- BAutomatizar flujos de trabajo de CI/CD directamente desde el repositorio de GitHub.
- CRealizar únicamente despliegues manuales a entornos de producción.
- DSustituir completamente a Git en el control de versiones local.
En Git, el comando 'git merge' se utiliza para:
- ACrear una nueva rama a partir de la rama actual.
- BIntegrar los cambios de una rama en la rama actual.
- CReescribir el historial de commits de una rama.
- DEtiquetar un commit específico con un nombre descriptivo.
¿Cuál es el propósito principal del comando 'git rebase'?
- AFusionar una rama en otra, creando siempre un commit de merge.
- BMover o transplantar una secuencia de commits a una nueva base, resultando en un historial lineal.
- CEliminar commits del historial de manera permanente.
- DComparar las diferencias entre dos ramas.
En Git, ¿para qué se utilizan principalmente las 'tags' (etiquetas)?
- APara crear ramas de desarrollo aisladas para nuevas funcionalidades.
- BPara marcar puntos específicos en el historial como importantes, como releases de versiones.
- CPara guardar temporalmente cambios no confirmados en el directorio de trabajo.
- DPara sincronizar el repositorio local con un repositorio remoto.
El flujo de trabajo Git Flow propone, entre otras, una rama principal llamada 'develop' cuyo propósito es:
- AAlmacenar el historial oficial de releases listos para producción.
- BServir como rama de integración para las funcionalidades en desarrollo.
- CAlbergar correcciones críticas de producción (hotfixes).
- DSer la única rama donde se realizan commits directamente.
La cultura DevOps promueve principalmente:
- ALa separación estricta entre los equipos de desarrollo y operaciones para mantener la especialización.
- BLa automatización y colaboración entre los equipos de desarrollo y operaciones para entregar software de forma más rápida y confiable.
- CLa adopción exclusiva de metodologías ágiles como Scrum en todos los proyectos.
- DLa gestión manual de la infraestructura para mantener un mayor control.
En Scrum, ¿quién es el responsable de maximizar el valor del producto y gestionar el Product Backlog?
- AEl Scrum Master
- BEl Product Owner
- CEl equipo de desarrollo
- DEl Stakeholder principal
En Kanban, la métrica 'Tiempo de Ciclo' (Cycle Time) mide:
- AEl tiempo total desde la concepción de una idea hasta su entrega al cliente.
- BEl tiempo que un trabajo tarda en moverse desde que empieza hasta que se completa en el flujo de trabajo.
- CLa cantidad máxima de ítems que pueden estar en una columna del tablero.
- DEl número de ítems completados en un período de tiempo fijo.
¿Cuál de las siguientes es una práctica de Extreme Programming (XP)?
- ASprint Retrospective
- BRefactorización continua del código
- CLimitación del Trabajo en Curso (WIP)
- DReuniones diarias de 15 minutos
El modelo de desarrollo en 'V' se caracteriza por:
- AEntregar software en incrementos funcionales cortos.
- BTener fases de verificación y validación que se corresponden con cada fase de desarrollo.
- CSer un proceso iterativo e incremental centrado en la gestión de riesgos.
- DUtilizar un tablero Kanban para gestionar el flujo de trabajo.
Las 'pruebas de humo' (Smoke Testing) tienen como objetivo principal:
- AVerificar exhaustivamente todas las funcionalidades del sistema.
- BDeterminar si una build es lo suficientemente estable como para proceder con pruebas más profundas.
- CEvaluar la seguridad del sistema contra ataques externos.
- DMedir el rendimiento del sistema bajo carga extrema.
Un pipeline de CI/CD típicamente incluye las siguientes etapas, en orden:
- ADespliegue a producción, Build, Pruebas.
- BBuild, Pruebas, Despliegue a producción.
- CPruebas, Build, Análisis de requisitos.
- DBuild, Despliegue a producción, Pruebas.
El comando 'git cherry-pick' se utiliza para:
- AAplicar los cambios introducidos por un commit específico de otra rama a la rama actual.
- BFusionar todos los commits de una rama en la rama actual.
- CEliminar commits antiguos del historial.
- DCrear una nueva rama a partir de un tag.
En metodologías ágiles, las 'historias de usuario' sirven principalmente para:
- ADocumentar exhaustivamente todos los requisitos técnicos del sistema.
- BDescribir una funcionalidad deseada desde la perspectiva del usuario final.
- CDefinir la arquitectura técnica de la solución.
- DPlanificar las tareas de mantenimiento del equipo de operaciones.
En Scrum, la reunión diaria (Daily Scrum) tiene las siguientes características, EXCEPTO:
- ASu duración máxima es de 15 minutos.
- BSu objetivo es inspeccionar el progreso hacia el Sprint Goal.
- CLa lleva y modera exclusivamente el Scrum Master.
- DCada miembro del equipo de desarrollo responde tres preguntas clave.
¿Qué herramienta de control de versiones está basada en un modelo distribuido, donde cada desarrollador tiene una copia completa del repositorio?
- ASubversion (SVN)
- BGit
- CTeam Foundation Version Control (TFVC)
- DConcurrent Versions System (CVS)
En el contexto de las pruebas, ¿qué es un 'stub'?
- AUn componente que simula el comportamiento de un módulo dependiente para aislar la unidad bajo prueba.
- BUna suite completa de pruebas de extremo a extremo.
- CUn tipo de prueba que verifica la interfaz de usuario.
- DUn informe de errores encontrados durante las pruebas.
La práctica de 'Integración Continua' requiere habitualmente que:
- ALos desarrolladores integren su código en la rama principal al menos una vez al día.
- BSe realicen despliegues manuales a producción varias veces al día.
- CCada desarrollador trabaje en una rama aislada durante semanas antes de integrar.
- DTodo el código sea revisado manualmente por un líder técnico antes de ser integrado.
¿Cuál de estos conceptos está más relacionado con la filosofía 'You build it, you run it' asociada a DevOps?
- ALos desarrolladores solo escriben código y los operadores lo ejecutan en producción.
- BEl equipo de desarrollo es responsable del ciclo de vida completo del software que construye.
- CSe externaliza la operación del software a un tercero especializado.
- DEl despliegue a producción solo lo realiza un equipo de operaciones dedicado.
Soluciones y explicaciones
Ver las 32 respuestas correctas y su explicación
Esta sección revela las respuestas correctas. Te recomendamos hacer el test antes de consultarla.
-
En Scrum, ¿cuál es el objetivo principal de la reunión de Sprint Planning?
Respuesta correcta: Definir el objetivo y el trabajo a realizar durante el próximo sprint.
En Scrum, el Sprint Planning es un evento donde el equipo de desarrollo, junto con el Product Owner, define el objetivo del sprint (Sprint Goal) y selecciona los elementos del Product Backlog que se compromete a completar durante el sprint.
-
¿Cuál de las siguientes es una característica distintiva del método Kanban frente a Scrum?
Respuesta correcta: Kanban limita el trabajo en curso (WIP) en cada etapa del flujo.
Kanban se centra en la visualización del flujo de trabajo y la limitación del trabajo en curso (Work In Progress - WIP) para mejorar la eficiencia. A diferencia de Scrum, no prescribe iteraciones temporales fijas ni roles ceremoniales específicos.
-
¿Qué práctica de Extreme Programming (XP) implica que dos programadores trabajen juntos en el mismo código, en un mismo ordenador?
Respuesta correcta: Programación en Pareja
La Programación en Pareja (Pair Programming) es una práctica central de XP donde dos desarrolladores colaboran en una misma estación de trabajo: uno escribe el código (conductor) y el otro revisa cada línea (navegante).
-
En el modelo de desarrollo en cascada (Waterfall), ¿cuál es la secuencia típica de fases?
Respuesta correcta: Requisitos, Diseño, Implementación, Verificación, Mantenimiento.
El modelo clásico en cascada, definido por Royce, sigue una secuencia lineal y secuencial de fases: Requisitos, Diseño, Implementación, Verificación (Pruebas) y Mantenimiento.
-
El modelo de desarrollo en espiral se caracteriza principalmente por:
Respuesta correcta: Combinar la naturaleza iterativa del prototipado con los aspectos controlados del modelo en cascada.
El modelo en espiral, propuesto por Boehm, es un modelo de proceso de software iterativo y evolutivo que combina el desarrollo iterativo (prototipado) con los aspectos sistemáticos y controlados del modelo en cascada, haciendo hincapié en la gestión de riesgos.
-
¿Qué tipo de prueba se centra en verificar el correcto funcionamiento de un módulo o componente individual de software de forma aislada?
Respuesta correcta: Pruebas unitarias
Las pruebas unitarias (unit testing) tienen como objetivo validar que cada unidad individual del software (por ejemplo, una función o método) funcione correctamente de forma aislada, sin dependencias externas.
-
Las pruebas de integración se realizan para:
Respuesta correcta: Verificar la interacción correcta entre diferentes módulos o componentes.
Las pruebas de integración (integration testing) tienen como objetivo detectar defectos en las interfaces y en la interacción entre componentes o sistemas integrados, una vez que han pasado las pruebas unitarias.
-
¿Cuál de las siguientes afirmaciones describe mejor el propósito de las pruebas de aceptación?
Respuesta correcta: Validar que el sistema completo cumple con los requisitos de negocio y es usable por el cliente.
Las pruebas de aceptación (acceptance testing) son la fase final de las pruebas, donde se valida que el sistema cumple con los criterios de aceptación definidos por el cliente o usuario final, asegurando que satisface las necesidades de negocio.
-
En el contexto de las pruebas de software, ¿qué son las pruebas de regresión?
Respuesta correcta: Pruebas diseñadas para verificar que los cambios o correcciones no han introducido nuevos defectos en la funcionalidad existente.
Las pruebas de regresión (regression testing) consisten en volver a ejecutar un subconjunto de pruebas ya realizadas para asegurar que las modificaciones recientes en el código (nuevas funcionalidades o correcciones) no han afectado adversamente a la funcionalidad existente.
-
¿Cuál es la secuencia correcta de pasos en el ciclo de Desarrollo Guiado por Pruebas (TDD)?
Respuesta correcta: Escribir prueba, Escribir código que pase la prueba, Refactorizar.
El ciclo de TDD sigue tres pasos fundamentales: 1. Rojo: Escribir una prueba que falle (define el comportamiento deseado). 2. Verde: Escribir el código mínimo necesario para que la prueba pase. 3. Refactorizar: Mejorar la estructura del código manteniendo el comportamiento (pasando las pruebas).
-
La Integración Continua (CI) es una práctica que consiste en:
Respuesta correcta: Fusionar frecuentemente el trabajo de todos los desarrolladores en una rama principal y verificar mediante builds automatizados.
La Integración Continua (Continuous Integration) es una práctica de desarrollo donde los miembros de un equipo integran su trabajo frecuentemente (varias veces al día), en una rama compartida (main), y cada integración se verifica mediante un build automatizado y ejecución de pruebas para detectar errores rápidamente.
-
¿Qué se entiende por Entrega Continua (Continuous Delivery) en el contexto de CI/CD?
Respuesta correcta: La capacidad de liberar cualquier versión del software a producción de forma segura y rápida, de manera manual o automática.
La Entrega Continua (Continuous Delivery) extiende la Integración Continua asegurando que el software pueda ser liberado de forma confiable en cualquier momento, típicamente mediante un proceso automatizado que prepara paquetes listos para producción, aunque el despliegue final a producción puede ser manual.
-
Jenkins es principalmente una herramienta de:
Respuesta correcta: Integración y entrega continua (CI/CD).
Jenkins es un servidor de automatización de código abierto ampliamente utilizado para orquestar pipelines de Integración Continua y Entrega Continua (CI/CD), permitiendo automatizar builds, pruebas y despliegues.
-
GitHub Actions es una plataforma que permite:
Respuesta correcta: Automatizar flujos de trabajo de CI/CD directamente desde el repositorio de GitHub.
GitHub Actions es una herramienta de integración y entrega continua (CI/CD) integrada en GitHub que permite automatizar flujos de trabajo (workflows) para compilar, probar y desplegar código directamente desde el repositorio.
-
En Git, el comando 'git merge' se utiliza para:
Respuesta correcta: Integrar los cambios de una rama en la rama actual.
En Git, el comando 'git merge' combina los cambios de una o más ramas en la rama actual. Crea un nuevo commit de 'merge' que tiene dos padres, integrando las historias de ambas ramas.
-
¿Cuál es el propósito principal del comando 'git rebase'?
Respuesta correcta: Mover o transplantar una secuencia de commits a una nueva base, resultando en un historial lineal.
El comando 'git rebase' reaplica los commits de la rama actual sobre la punta de otra rama (por ejemplo, main), resultando en un historial de proyecto más limpio y lineal, ya que evita los commits de merge innecesarios.
-
En Git, ¿para qué se utilizan principalmente las 'tags' (etiquetas)?
Respuesta correcta: Para marcar puntos específicos en el historial como importantes, como releases de versiones.
En Git, una 'tag' (etiqueta) es una referencia estática a un commit específico, comúnmente utilizada para marcar puntos de lanzamiento (por ejemplo, v1.0, v2.1). Son inmutables y facilitan la referencia a versiones estables del software.
-
El flujo de trabajo Git Flow propone, entre otras, una rama principal llamada 'develop' cuyo propósito es:
Respuesta correcta: Servir como rama de integración para las funcionalidades en desarrollo.
En Git Flow, la rama 'develop' es la rama de integración principal donde se fusionan las ramas de características (feature branches) y desde donde se crean las ramas de release para preparar nuevas versiones.
-
La cultura DevOps promueve principalmente:
Respuesta correcta: La automatización y colaboración entre los equipos de desarrollo y operaciones para entregar software de forma más rápida y confiable.
DevOps es una cultura y conjunto de prácticas que busca la colaboración y comunicación estrecha entre los equipos de desarrollo (Dev) y operaciones (Ops), junto con la automatización de procesos, para acelerar el ciclo de vida de entrega de software manteniendo la calidad y estabilidad.
-
En Scrum, ¿quién es el responsable de maximizar el valor del producto y gestionar el Product Backlog?
Respuesta correcta: El Product Owner
El Product Owner es el rol en Scrum responsable de representar los intereses de las partes interesadas, gestionar y priorizar el Product Backlog, y asegurar que el equipo entregue el máximo valor posible.
-
En Kanban, la métrica 'Tiempo de Ciclo' (Cycle Time) mide:
Respuesta correcta: El tiempo que un trabajo tarda en moverse desde que empieza hasta que se completa en el flujo de trabajo.
En Kanban, el Tiempo de Ciclo (Cycle Time) es una métrica clave que mide el tiempo promedio que un elemento de trabajo (por ejemplo, una tarea) tarda desde que se inicia su desarrollo (entra en 'En progreso') hasta que se completa (estado 'Terminado').
-
¿Cuál de las siguientes es una práctica de Extreme Programming (XP)?
Respuesta correcta: Refactorización continua del código
La Refactorización (Refactoring) es una práctica fundamental en XP que implica mejorar continuamente la estructura del código sin alterar su comportamiento externo, para mantenerlo simple, legible y fácil de modificar.
-
El modelo de desarrollo en 'V' se caracteriza por:
Respuesta correcta: Tener fases de verificación y validación que se corresponden con cada fase de desarrollo.
El modelo en V es una extensión del modelo en cascada donde, para cada fase de desarrollo (lado izquierdo de la V), existe una fase de prueba correspondiente (lado derecho). Por ejemplo, el diseño de alto nivel se verifica con las pruebas de sistema.
-
Las 'pruebas de humo' (Smoke Testing) tienen como objetivo principal:
Respuesta correcta: Determinar si una build es lo suficientemente estable como para proceder con pruebas más profundas.
Las pruebas de humo (Smoke Testing) son un conjunto de pruebas superficiales que se ejecutan sobre una nueva build para verificar que las funcionalidades críticas básicas funcionan y que la build es estable antes de realizar pruebas más exhaustivas.
-
Un pipeline de CI/CD típicamente incluye las siguientes etapas, en orden:
Respuesta correcta: Build, Pruebas, Despliegue a producción.
Un pipeline de CI/CD generalmente automatiza una secuencia de etapas que comienza con la compilación (Build) del código fuente, seguida de la ejecución de pruebas automatizadas (unitarias, de integración, etc.) y, si estas son exitosas, procede al despliegue (Deploy) a entornos de staging o producción.
-
El comando 'git cherry-pick' se utiliza para:
Respuesta correcta: Aplicar los cambios introducidos por un commit específico de otra rama a la rama actual.
El comando 'git cherry-pick' permite aplicar los cambios de un commit específico (identificado por su hash) desde cualquier rama a la rama actual. Es útil para incorporar una corrección o funcionalidad específica sin fusionar toda la rama.
-
En metodologías ágiles, las 'historias de usuario' sirven principalmente para:
Respuesta correcta: Describir una funcionalidad deseada desde la perspectiva del usuario final.
Una historia de usuario (User Story) es una descripción informal y simple de una característica de software escrita desde la perspectiva del usuario final o cliente. Sigue la estructura: 'Como [rol], quiero [objetivo] para [beneficio]'.
-
En Scrum, la reunión diaria (Daily Scrum) tiene las siguientes características, EXCEPTO:
Respuesta correcta: La lleva y modera exclusivamente el Scrum Master.
La Daily Scrum es un evento de 15 minutos donde el equipo de desarrollo se sincroniza. Aunque el Scrum Master puede facilitar la reunión, no la modera exclusivamente; es responsabilidad del equipo. El foco es responder: ¿Qué hice ayer? ¿Qué haré hoy? ¿Hay impedimentos?
-
¿Qué herramienta de control de versiones está basada en un modelo distribuido, donde cada desarrollador tiene una copia completa del repositorio?
Respuesta correcta: Git
Git es un sistema de control de versiones distribuido, a diferencia de los sistemas centralizados como SVN, CVS o TFVC. En Git, cada desarrollador clona un repositorio completo con todo el historial, permitiendo trabajo offline y múltiples copias.
-
En el contexto de las pruebas, ¿qué es un 'stub'?
Respuesta correcta: Un componente que simula el comportamiento de un módulo dependiente para aislar la unidad bajo prueba.
Un 'stub' es un objeto de prueba (test double) que simula el comportamiento de un componente real del que depende la unidad bajo prueba, proporcionando respuestas preprogramadas para permitir el aislamiento y la prueba de la unidad en cuestión.
-
La práctica de 'Integración Continua' requiere habitualmente que:
Respuesta correcta: Los desarrolladores integren su código en la rama principal al menos una vez al día.
Un principio clave de la Integración Continua es que los desarrolladores fusionen sus cambios en una rama compartida (por ejemplo, main o trunk) con frecuencia, idealmente varias veces al día, para detectar y resolver conflictos e integraciones de forma rápida.
-
¿Cuál de estos conceptos está más relacionado con la filosofía 'You build it, you run it' asociada a DevOps?
Respuesta correcta: El equipo de desarrollo es responsable del ciclo de vida completo del software que construye.
La frase 'You build it, you run it', acuñada por Werner Vogels de Amazon, encapsula la idea de DevOps de que los equipos de desarrollo deben asumir responsabilidad sobre la operación y mantenimiento en producción del software que construyen, fomentando la propiedad end-to-end.