Pruebas de software: planificación y tipos — Cuerpo de Gestión de Sistemas e Informática de la Administración del Estado
Test de 31 preguntas con explicaciones justificadas.
Pregunta 1: ¿Cuál es el objetivo principal de las pruebas de software?
- A) Demostrar que el software no tiene defectos.
- B) Encontrar defectos y evaluar la calidad del producto de software.
- C) Acelerar el proceso de desarrollo de software.
- D) Crear la documentación completa del sistema.
Según el estándar ISTQB (International Software Testing Qualifications Board), el objetivo principal de las pruebas es evaluar la calidad del producto de software proporcionando información sobre los defectos encontrados y los riesgos asociados.
Pregunta 2: ¿En qué fase del modelo de desarrollo en V se planifican y diseñan las pruebas de sistema?
- A) En paralelo a la fase de diseño de alto nivel.
- B) En paralelo a la fase de diseño detallado.
- C) En paralelo a la fase de definición de requisitos.
- D) En paralelo a la fase de codificación.
En el modelo de desarrollo en V, las pruebas de sistema se planifican y diseñan durante la fase de definición de requisitos del sistema, ya que deben verificar que el sistema implementado cumple con dichos requisitos.
Pregunta 3: ¿Qué documento describe el enfoque, los recursos, el cronograma y las actividades de prueba previstas para un proyecto?
- A) El Plan de Pruebas (Test Plan).
- B) El Diseño de Casos de Prueba.
- C) El Informe de Defectos.
- D) El Especificación de Requisitos de Prueba.
Según la norma IEEE 829, el Plan de Pruebas (Test Plan) es el documento principal que describe el alcance, el enfoque, los recursos, el cronograma y las actividades de prueba para un proyecto o ciclo de pruebas determinado.
Pregunta 4: ¿Qué tipo de prueba se centra en verificar la interacción entre componentes o módulos integrados?
- A) Pruebas unitarias.
- B) Pruebas de integración.
- C) Pruebas de regresión.
- D) Pruebas de humo (Smoke Test).
Las pruebas de integración, según el glosario ISTQB, tienen como objetivo detectar defectos en las interfaces y en la interacción entre componentes o sistemas integrados.
Pregunta 5: ¿Cuál de las siguientes es una técnica de diseño de pruebas de caja negra?
- A) Cobertura de sentencias.
- B) Cobertura de decisiones.
- C) Pruebas basadas en tablas de decisión.
- D) Pruebas de camino básico.
Las tablas de decisión son una técnica de diseño de pruebas de caja negra que se basa en la especificación del software (entradas, reglas de negocio y salidas esperadas) sin considerar la estructura interna del código.
Pregunta 6: ¿Qué característica de la calidad del software se evalúa principalmente con pruebas de rendimiento?
- A) Funcionalidad.
- B) Portabilidad.
- C) Eficiencia.
- D) Usabilidad.
Según el modelo de calidad de la ISO 25010, la característica de 'Eficiencia de rendimiento' evalúa el tiempo de respuesta y la utilización de recursos. Las pruebas de rendimiento (carga, estrés) están orientadas a esta característica.
Pregunta 7: ¿Qué actividad de prueba se realiza para verificar que un cambio en el software no ha afectado funcionalidades previamente probadas?
- A) Pruebas de aceptación.
- B) Pruebas alfa.
- C) Pruebas de regresión.
- D) Pruebas de seguridad.
Las pruebas de regresión, definidas por ISTQB, se ejecutan después de una modificación del software para asegurar que los cambios no han introducido defectos en las funcionalidades existentes que ya funcionaban correctamente.
Pregunta 8: ¿Cuál es el principal objetivo de las pruebas de aceptación?
- A) Encontrar defectos de integración entre subsistemas.
- B) Verificar que el software cumple los requisitos contractuales y está listo para su despliegue.
- C) Medir el rendimiento del sistema bajo carga máxima.
- D) Comprobar que cada unidad de código funciona correctamente de forma aislada.
Según ISTQB, las pruebas de aceptación se realizan para validar que el sistema satisface los requisitos acordados con el cliente o usuario final, determinando si el software está listo para su despliegue y uso operativo.
Pregunta 9: En el contexto de las pruebas, ¿qué se entiende por 'criterio de salida' (exit criteria)?
- A) Los requisitos que debe cumplir el equipo de pruebas para comenzar su trabajo.
- B) Las condiciones que deben cumplirse para que una actividad de pruebas se considere completa.
- C) El protocolo para cerrar los defectos reportados.
- D) La documentación necesaria para finalizar el proyecto.
El estándar ISTQB define los 'criterios de salida' como el conjunto de condiciones genéricas y específicas, acordadas con las partes interesadas, que permiten declarar finalizada una fase de pruebas.
Pregunta 10: ¿Qué tipo de prueba NO funcional evalúa la capacidad del sistema para ser entendido, aprendido, operado y resultar atractivo para el usuario?
- A) Pruebas de mantenibilidad.
- B) Pruebas de portabilidad.
- C) Pruebas de usabilidad.
- D) Pruebas de fiabilidad.
Según el modelo de calidad ISO 25010, la 'Usabilidad' es la característica que mide la facilidad con la que los usuarios pueden utilizar el software para lograr sus objetivos con efectividad, eficiencia y satisfacción en un contexto específico.
Pregunta 11: ¿Qué documento detalla, para un ítem de prueba, los resultados esperados y los obtenidos, así como las incidencias encontradas?
- A) Plan de Pruebas.
- B) Informe de Resumen de Pruebas.
- C) Informe de Ejecución de Pruebas (o Log de Pruebas).
- D) Especificación de Requisitos.
El Informe de Ejecución de Pruebas (Test Log), según IEEE 829, registra cronológicamente los detalles de la ejecución de los casos de prueba, incluyendo resultados, fechas, versiones del software y observaciones.
Pregunta 12: ¿Qué técnica de diseño de pruebas de caja blanca mide el porcentaje de decisiones (ramas) que han sido ejecutadas?
- A) Cobertura de sentencias.
- B) Cobertura de decisiones.
- C) Cobertura de condiciones.
- D) Cobertura de caminos.
La cobertura de decisiones (o cobertura de ramas), según ISTQB, es una métrica de caja blanca que calcula el porcentaje de resultados de decisiones (ej. salidas de una sentencia 'if') que han sido ejercitados por un conjunto de pruebas.
Pregunta 13: ¿Cuál de los siguientes es un objetivo de la fase de 'Análisis y Diseño de Pruebas' dentro del proceso fundamental de pruebas?
- A) Ejecutar los casos de prueba manualmente o mediante herramientas.
- B) Revisar la base de pruebas (requisitos, arquitectura).
- C) Evaluar los criterios de salida y escribir los informes de pruebas.
- D) Comparar los resultados reales con los esperados.
En el proceso fundamental de pruebas (ISTQB), la fase de 'Análisis y Diseño de Pruebas' incluye actividades como revisar la base de pruebas, identificar características a probar y definir los casos de prueba y su entorno.
Pregunta 14: ¿Qué tipo de pruebas se realizan típicamente por los propios desarrolladores sobre sus unidades de código?
- A) Pruebas de sistema.
- B) Pruebas de integración.
- C) Pruebas unitarias.
- D) Pruebas de aceptación del usuario.
Las pruebas unitarias (o de módulo) son pruebas de bajo nivel que verifican el correcto funcionamiento de unidades individuales de código (como funciones o clases). Suelen ser responsabilidad del desarrollador que escribió el código.
Pregunta 15: En la planificación de pruebas, ¿qué factor es crucial para determinar la prioridad de ejecución de los casos de prueba?
- A) El orden alfabético de los nombres de los casos.
- B) El riesgo asociado a la funcionalidad que prueban.
- C) La complejidad técnica del código subyacente.
- D) La preferencia del tester asignado.
La gestión del riesgo es un principio clave de las pruebas. ISTQB establece que las pruebas deben priorizarse en función del riesgo, probando primero las funcionalidades más críticas o con mayor probabilidad de defectos para optimizar el esfuerzo.
Pregunta 16: ¿Qué documento de prueba se utiliza para guiar la ejecución paso a paso de un caso de prueba concreto?
- A) Plan de Pruebas Maestro.
- B) Procedimiento de Prueba o Script de Prueba.
- C) Especificación de Diseño de Pruebas.
- D) Informe de Incidentes.
Según IEEE 829, el Procedimiento de Prueba (Test Procedure Specification) detalla la secuencia de acciones necesarias para ejecutar un conjunto de casos de prueba. A nivel de ejecución, es la guía paso a paso que sigue el tester.
Pregunta 17: ¿Qué caracteriza a las pruebas de regresión selectiva o parcial?
- A) Se ejecutan todas las pruebas existentes sin excepción.
- B) Se ejecutan solo las pruebas relacionadas con las áreas modificadas del software y sus impactos.
- C) Se prueban únicamente nuevas funcionalidades.
- D) Se realizan únicamente pruebas manuales.
Las pruebas de regresión selectiva, tal como se describen en las técnicas de optimización de regresión, se enfocan en un subconjunto de los casos de prueba existentes, seleccionados por su relación con los cambios realizados en el código o la configuración.
Pregunta 18: ¿Qué modelo de desarrollo de software asocia explícitamente cada fase de desarrollo con una fase de prueba?
- A) Modelo en Cascada puro.
- B) Modelo en V.
- C) Modelo de Prototipado.
- D) Modelo Espiral.
El modelo de desarrollo en V representa gráficamente la relación entre las fases de desarrollo (lado izquierdo del 'V') y las correspondientes fases de verificación y validación (pruebas) en el lado derecho, mostrando su planificación paralela.
Pregunta 19: ¿A qué nivel de prueba pertenecen las 'Pruebas de Humo' (Smoke Test)?
- A) Pruebas de aceptación.
- B) Pruebas de sistema.
- C) Pruebas de integración.
- D) Pruebas de build o sanity.
Las pruebas de humo (Smoke Test) o de sanidad (Sanity Test) son un tipo de prueba no formal que se ejecuta sobre una nueva construcción (build) para verificar que las funcionalidades críticas básicas funcionan y que la construcción es estable para pruebas más profundas. No es un nivel formal como los de ISTQB, pero se asocia a la validación del build.
Pregunta 20: ¿Qué tipo de pruebas evalúan la capacidad del sistema para recuperarse tras fallos de hardware o software?
- A) Pruebas de recuperación.
- B) Pruebas de resistencia.
- C) Pruebas de compatibilidad.
- D) Pruebas de instalación.
Las pruebas de recuperación, dentro de las pruebas de fiabilidad según ISO 25010, verifican la capacidad del sistema para recuperar datos y restablecer un nivel de desempeño especificado después de un fallo, y para reiniciarse de forma correcta.
Pregunta 21: ¿Cuál es el propósito principal de las 'Pruebas de Conformidad' o 'Compliance Testing'?
- A) Medir los tiempos de respuesta del sistema.
- B) Verificar que el software cumple con estándares, regulaciones o leyes específicas.
- C) Evaluar la experiencia de usuario final.
- D) Encontrar defectos en la lógica interna de un módulo.
Las pruebas de conformidad tienen como objetivo verificar que el sistema cumple con estándares externos (como normas ISO, RFCs) o regulaciones internas/externas (como la Ley 11/2007 de acceso electrónico de los ciudadanos a los Servicios Públicos en España).
Pregunta 22: En el contexto de la gestión de la configuración para pruebas, ¿qué debe estar bajo control?
- A) Solo el código fuente de la aplicación.
- B) Los requisitos del usuario final.
- C) Todos los productos de trabajo de las pruebas (plan, casos, scripts, resultados).
- D) Exclusivamente los informes de defectos.
La Gestión de la Configuración de Pruebas, según las buenas prácticas, debe controlar la versión y el estado de todos los elementos del proceso de pruebas: especificaciones, casos, datos, scripts, entornos y resultados, para garantizar la trazabilidad y repetibilidad.
Pregunta 23: ¿Qué técnica de prueba estática se utiliza para detectar defectos de forma temprana sin ejecutar el código?
- A) Pruebas de integración.
- B) Revisión de código (Code Review).
- C) Pruebas de caja negra.
- D) Pruebas de regresión.
Las revisiones (inspecciones, revisiones técnicas, walkthroughs) son técnicas de prueba estática donde se examina manualmente un producto de trabajo (como el código fuente o los requisitos) para identificar defectos, cumplir estándares y mejorar la calidad, sin ejecutar el software.
Pregunta 24: ¿Qué tipo de prueba se enfoca en validar las interfaces y la interoperabilidad entre el sistema desarrollado y sistemas externos?
- A) Pruebas unitarias.
- B) Pruebas de interoperabilidad.
- C) Pruebas de usabilidad.
- D) Pruebas de seguridad.
Las pruebas de interoperabilidad, como parte de las pruebas no funcionales (ISO 25010), verifican la capacidad de dos o más sistemas o componentes para intercambiar información y utilizar la información que se ha intercambiado.
Pregunta 25: ¿Qué métrica de prueba mide el porcentaje de casos de prueba que se han ejecutado respecto del total planeado?
- A) Cobertura de requisitos.
- B) Porcentaje de ejecución.
- C) Densidad de defectos.
- D) Eficacia de las pruebas.
El porcentaje de ejecución es una métrica de progreso que se calcula como (Número de casos de prueba ejecutados / Número total de casos de prueba planeados) * 100. Ayuda a monitorizar el avance de la fase de ejecución.
Pregunta 26: ¿Qué principio de las pruebas establece que 'Las pruebas exhaustivas son imposibles'?
- A) Principio de la paradoja del pesticida.
- B) Principio de la agrupación de defectos.
- C) Principio de la ausencia de errores.
- D) Principio de exhaustividad.
El principio de 'Las pruebas exhaustivas son imposibles' (Testing shows presence of defects, Exhaustive testing is impossible) es uno de los siete principios fundamentales del testing según ISTQB. Indica que es imposible probar todas las combinaciones de entradas, precondiciones y caminos de un sistema no trivial.
Pregunta 27: ¿Qué documento se genera al finalizar un ciclo o fase de pruebas, resumiendo las actividades y resultados obtenidos?
- A) Plan de Pruebas.
- B) Informe de Resumen de Pruebas (Test Summary Report).
- C) Especificación de Diseño de Pruebas.
- D) Script de Prueba.
Según IEEE 829, el Informe de Resumen de Pruebas (Test Summary Report) es el documento que resume los resultados de las actividades de prueba y proporciona una evaluación basada en los criterios de salida. Se dirige a la dirección y a otras partes interesadas.
Pregunta 28: ¿Qué técnica de pruebas explora el software sin seguir guiones o casos predefinidos, basándose en el conocimiento del tester?
- A) Pruebas basadas en especificaciones.
- B) Pruebas exploratorias.
- C) Pruebas basadas en la estructura.
- D) Pruebas de regresión.
Las pruebas exploratorias, reconocidas por ISTQB, son un enfoque no scripted donde el diseño, ejecución, aprendizaje y adaptación de las pruebas ocurren simultáneamente, guiadas por la experiencia, conocimiento e intuición del tester sobre el sistema.
Pregunta 29: En el marco legal español, ¿qué normativa establece los requisitos básicos de interoperabilidad y seguridad para los sistemas de las Administraciones Públicas?
- A) Ley 11/2007, de acceso electrónico de los ciudadanos a los Servicios Públicos.
- B) Ley 40/2015, de Régimen Jurídico del Sector Público.
- C) Esquema Nacional de Seguridad (ENS - Real Decreto 311/2022).
- D) Ley Orgánica 3/2018, de Protección de Datos Personales.
El Esquema Nacional de Seguridad (ENS), regulado por el Real Decreto 311/2022, establece los principios y requisitos mínimos de seguridad para garantizar la protección de la información en el uso de medios electrónicos en las Administraciones Públicas, lo que incluye requisitos verificables mediante pruebas de seguridad.
Pregunta 30: ¿Qué nivel de prueba se encarga de verificar que el sistema completo, integrado en su entorno operativo, cumple con los requisitos especificados?
- A) Pruebas de integración.
- B) Pruebas de sistema.
- C) Pruebas de aceptación.
- D) Pruebas unitarias.
Las pruebas de sistema, según ISTQB, se realizan sobre un sistema integrado y completo para verificar que cumple con los requisitos especificados. Se ejecutan en un entorno que simula o replica el entorno de producción.
Pregunta 31: ¿Qué tipo de pruebas se centran en identificar vulnerabilidades y garantizar que la información y los recursos del sistema están protegidos?
- A) Pruebas de rendimiento.
- B) Pruebas de seguridad.
- C) Pruebas de compatibilidad.
- D) Pruebas de usabilidad.
Las pruebas de seguridad tienen como objetivo descubrir vulnerabilidades en el sistema y verificar que los activos de información y recursos están protegidos contra posibles intrusiones, accesos no autorizados o ataques maliciosos, según los requisitos de seguridad.