Calidad del Software
![]() |
![]() |
![]() |
Título del Test:![]() Calidad del Software Descripción: Tema 6: Verificación y Validación |




Comentarios |
---|
NO HAY REGISTROS |
La verificación del software se centra en asegurar que el producto cumple con las necesidades del usuario final. Verdadero. Falso. La validación del software implica comprobar que el software cumple con su especificación. Verdadero. Falso. El proceso de V&V debe aplicarse solo en la fase de pruebas del desarrollo del software. Verdadero. Falso. El objetivo principal de la V&V es descubrir defectos en el sistema. Verdadero. Falso. La verificación responde a la pregunta: "¿Estamos construyendo el producto correctamente?". Verdadero. Falso. La validación asegura que el software haga lo que el usuario realmente necesita. Verdadero. Falso. El nivel de confianza en un software depende de su función, las expectativas del usuario y el entorno del mercado. Verdadero. Falso. Un software crítico para una organización requiere un nivel de confianza mayor en el proceso de V&V. Verdadero. Falso. Las expectativas del usuario no influyen en el nivel de confianza del software. Verdadero. Falso. ¿Cuál es la principal diferencia entre verificación y validación?. Ambas son lo mismo y se usan indistintamente. La verificación asegura que el software cumple con su especificación, mientras que la validación asegura que satisface las necesidades del usuario. La verificación y la validación se enfocan solo en las pruebas finales del software. La validación verifica que el código esté libre de errores sintácticos. ¿Cuáles son los dos objetivos principales de la V&V?. Acelerar el desarrollo y reducir costos. Descubrir defectos en el sistema y verificar si el sistema es útil y utilizable en una situación operacional. Cumplir con la normativa legal y documentar el proceso. Asegurar que el equipo de desarrollo siga buenas prácticas. ¿Cuál de los siguientes factores influye en el nivel de confianza esperable en un software?. Solo la cantidad de pruebas realizadas. Solo la calidad del código fuente. La función del software, las expectativas del usuario y el entorno del mercado. Ninguno, la confianza en el software no depende de estos factores. El proceso de V&V se aplica en: Solo en la fase de pruebas. En cada etapa del ciclo de vida del software. Solo en la fase de implementación. Solo en el análisis de requisitos. ¿Qué significa "are we building the product right" en el contexto de V&V?. Que el software se ha construido en el menor tiempo posible. Que el software se ha construido en el menor tiempo posible. Que el software satisface plenamente las necesidades del usuario. Que el software ha pasado todas las pruebas sin fallos. Un usuario tiene expectativas muy bajas de un software. Esto implica que: El software debe cumplir con estándares de calidad extremadamente altos. El software no necesita pasar por un proceso de V&V. El nivel de confianza necesario en el software puede ser menor. No afecta en nada a la V&V. El descubrimiento de defectos en un sistema es un objetivo de: Solo la verificación. Solo la validación. Tanto la verificación como la validación. Ninguna, ya que los defectos no pueden ser evitados completamente. ¿Cuál de las siguientes afirmaciones es correcta?. Un software puede ser validado sin ser verificado. La verificación y validación solo aplican a software comercial. Un software puede ser verificado pero no validado si no cumple con las necesidades del usuario. Un software validado nunca tendrá defectos. En un mercado altamente competitivo, la V&V puede verse afectada porque: Se prioriza la salida rápida al mercado, reduciendo el tiempo para pruebas. Se realizan pruebas más rigurosas para cumplir con los tiempos de entrega. Se eliminan los defectos completamente antes del lanzamiento. No afecta en nada al proceso de V&V. Si un software tiene una función crítica dentro de una organización, esto significa que: Se le aplicará un proceso de V&V más estricto. No requiere de validación, solo de verificación. Puede omitir ciertas pruebas para ahorrar tiempo. No es necesario realizar pruebas adicionales. La V&V estática se basa en la ejecución del software para detectar errores. Verdadero. Falso. Las inspecciones de software pueden realizarse en cualquier etapa del desarrollo. Verdadero. Falso. Las pruebas de software son un método de V&V dinámica. Verdadero. Falso. Las inspecciones de software pueden validar la utilidad operacional del software. Verdadero. Falso. El análisis automático del código fuente es una técnica de inspección. Verdadero. Falso. Las pruebas de software permiten identificar propiedades emergentes como rendimiento y fiabilidad. Verdadero. Falso. Las inspecciones de software pueden reemplazar completamente las pruebas dinámicas. Verdadero. Falso. ¿Cuál de las siguientes afirmaciones describe mejor la V&V estática?. Se basa en la ejecución del software. Analiza el software sin ejecutarlo. Solo se aplica después de las pruebas dinámicas. Se centra únicamente en la revisión de código. ¿Cuál de las siguientes técnicas pertenece a la V&V dinámica?. Inspección de programas. Verificación formal. Pruebas del software. Análisis automático del código fuente. ¿Cuál de las siguientes NO es una técnica de inspección?. Análisis automático del código fuente. Inspecciones de programas. Pruebas de software. Verificación formal. Las inspecciones de software pueden detectar: Si el software cumple su especificación. Si el software es útil en la práctica. Problemas de rendimiento en tiempo de ejecución. Errores solo cuando el programa se ejecuta. Las inspecciones y las pruebas son complementarias porque: Ambas detectan errores solo en código fuente. Las inspecciones detectan errores antes de la ejecución y las pruebas validan el comportamiento real. Solo las pruebas pueden detectar defectos. Las inspecciones eliminan la necesidad de pruebas. Una limitación de las técnicas de inspección es que: No pueden detectar errores en la especificación del software. No pueden garantizar que el software sea útil operacionalmente. Solo pueden aplicarse a programas ya ejecutables. No sirven para detectar defectos en el código fuente. La verificación formal en el contexto de la V&V es: Un tipo de prueba de ejecución. Un proceso matemático para demostrar la corrección del software. Una técnica exclusivamente manual. Un método para evaluar la experiencia del usuario. ¿Qué factor hace necesarias tanto las inspecciones como las pruebas en la V&V?. Las inspecciones solo detectan defectos sintácticos. Las pruebas por sí solas no pueden detectar todos los errores. La validación solo se hace con inspecciones. La verificación siempre es posterior a la validación. Las pruebas de programas pueden demostrar que un software está completamente libre de errores. Verdadero. Falso. Las pruebas de validación buscan encontrar defectos en el software. Verdadero. Falso. La única forma de validar requisitos no funcionales es ejecutar el software y observar su comportamiento. Verdadero. Falso. Las pruebas de programas deben complementarse con técnicas de V&V estática para una cobertura completa. Verdadero. Falso. Las pruebas de defectos son satisfactorias cuando confirman que no hay errores en el software. Verdadero. Falso. La depuración y las pruebas de defectos son el mismo proceso. Verdadero. Falso. Las pruebas de validación verifican que el software cumple con sus requisitos especificados. Verdadero. Falso. ¿Cuál es la principal función de las pruebas de programas en V&V?. Garantizar que el software está libre de errores. Encontrar defectos y verificar que el software cumple con sus requisitos. Reemplazar la necesidad de inspecciones de código. Comprobar únicamente la interfaz gráfica del software. Las pruebas de defectos son exitosas cuando: Confirman que no hay errores en el software. Encuentran defectos en el software. Prueban que el software cumple con su especificación. Evalúan la experiencia del usuario con el software. Las pruebas de validación buscan: Encontrar defectos en el código fuente. Asegurar que los requisitos han sido implementados correctamente. Analizar el código sin ejecutarlo. Comprobar la seguridad del software. ¿Por qué las pruebas no pueden garantizar la ausencia de errores?. Porque solo pueden ejecutarse en escenarios limitados. Porque los errores solo se encuentran con análisis estático. Porque siempre se aplican después de la depuración. Porque dependen de la documentación del usuario. La depuración de programas se diferencia de las pruebas de defectos en que: La depuración localiza y corrige errores, mientras que las pruebas de defectos los encuentran. La depuración se realiza antes de las pruebas. Ambos procesos son exactamente iguales. Las pruebas de defectos eliminan la necesidad de depuración. Una prueba de validación exitosa es aquella que: Detecta defectos en el software. Demuestra que los requisitos han sido correctamente implementados. Confirma que no hay errores en el código fuente. Ejecuta el software sin que ocurra un fallo. ¿Cómo se diferencian las pruebas de defectos y la depuración?. Las pruebas de defectos buscan errores y la depuración los corrige. La depuración es una etapa previa a las pruebas de defectos. Ambas se aplican solo en código fuente. La depuración solo se aplica a software ya en producción. ¿Cuál de las siguientes afirmaciones sobre la depuración es correcta?. Se basa en formular hipótesis sobre el comportamiento del software y probarlas. Es un proceso de ejecución del software sin intervención del programador. Se usa solo cuando el software ha sido lanzado al público. Es equivalente a la prueba de defectos. La planificación de V&V debe comenzar en las últimas etapas del desarrollo del software. Verdadero. Falso. El equilibrio entre V&V estática y pruebas es fundamental en la planificación. Verdadero. Falso. El modelo en V enfatiza la relación entre las actividades de desarrollo y las actividades de V&V. Verdadero. Falso. La planificación de pruebas se centra en definir pruebas concretas en lugar de estándares generales. Verdadero. Falso. Las inspecciones de software requieren la ejecución del sistema para detectar defectos. Verdadero. Falso. Un plan de pruebas bien estructurado debe incluir la trazabilidad de requisitos. Verdadero. Falso. Las inspecciones de software solo pueden aplicarse al código fuente. Verdadero. Falso. Las inspecciones han demostrado ser una técnica efectiva para descubrir errores en el software. Verdadero. Falso. ¿Cuál es el objetivo principal de la planificación de V&V?. Definir pruebas concretas desde el inicio del desarrollo. Realizar inspecciones solo al final del desarrollo. Obtener el máximo rendimiento de inspecciones y pruebas mediante una planificación cuidadosa. Reducir el tiempo de pruebas al mínimo. ¿Por qué es importante equilibrar la V&V estática y las pruebas?. Porque solo la V&V estática garantiza la calidad del software. Para asegurar una evaluación más completa del software. Para reducir costos eliminando pruebas innecesarias. Porque las pruebas dinámicas son poco confiables. En un plan de pruebas bien estructurado, el calendario de pruebas debe: No tener relación con el calendario del proyecto. Incluir los recursos y tiempos necesarios para ejecutar las pruebas. No considerar las restricciones de tiempo o personal. Incluir solo las fechas de lanzamiento del software. ¿Qué elemento del plan de pruebas permite asegurar que todos los requisitos se prueben individualmente?. Registro de pruebas. Trazabilidad de requisitos. Necesidades de hardware y software. Restricciones de personal. ¿Cuál de las siguientes afirmaciones sobre inspecciones de software es correcta?. Solo pueden aplicarse después de la implementación del software. No requieren ejecución del sistema y pueden aplicarse en cualquier etapa del desarrollo. Solo pueden aplicarse al código fuente del programa. Son menos efectivas que las pruebas dinámicas. El registro de pruebas en un plan de pruebas es importante porque: Permite auditar las pruebas realizadas. No es necesario para proyectos pequeños. Solo se usa en pruebas de rendimiento. Se actualiza solo después de la implementación del software. Las restricciones en un plan de pruebas se refieren principalmente a: Límites de tiempo y disponibilidad de personal. Restricciones en la ejecución del código. Limitaciones del entorno de usuario final. La compatibilidad del software con diferentes sistemas operativos. ¿Cuál de las siguientes afirmaciones sobre inspecciones de software es falsa?. Son un proceso estático. Se pueden aplicar a requisitos y diseños. Se ejecutan en entornos de prueba. No requieren la ejecución del software. Las inspecciones pueden encontrar múltiples errores sin riesgo de que un error enmascare otro. Verdadero. Falso. Las pruebas permiten inspeccionar versiones incompletas del sistema sin costos adicionales. Verdadero. Falso. Las inspecciones pueden evaluar aspectos más allá de los defectos del código, como eficiencia y estilo de programación. Verdadero. Falso. Las inspecciones y las pruebas son técnicas excluyentes en el proceso de V&V. Verdadero. Falso. Las inspecciones pueden comprobar la conformidad con los requisitos reales del cliente. Verdadero. Falso. Las inspecciones no pueden evaluar características no funcionales como rendimiento o usabilidad. Verdadero. Falso. Un requisito previo para una inspección es contar con una especificación precisa del código. Verdadero. Falso. Todos los miembros del equipo de inspección deben conocer los estándares de la organización. Verdadero. Falso. Una lista de comprobación de errores no es necesaria en el proceso de inspección. Verdadero. Falso. Las inspecciones requieren una versión actualizada y sintácticamente correcta del código. Verdadero. Falso. ¿Cuál es una ventaja clave de las inspecciones sobre las pruebas?. Pueden encontrar errores sin que un error enmascare a otro. No requieren documentación previa. No es necesario que los revisores tengan experiencia en el código. Requieren menos esfuerzo que las pruebas. ¿Por qué las inspecciones pueden realizarse en versiones incompletas del software sin costos adicionales?. Porque no requieren software adicional para ejecutarlas. Porque se pueden automatizar completamente. Porque no necesitan ninguna documentación previa. Porque las pruebas también pueden ejecutarse en versiones incompletas sin costos. Las inspecciones pueden evaluar los siguientes aspectos del código, excepto: Errores en la implementación. Algoritmos ineficientes. Cumplimiento de estándares de codificación. Rendimiento del sistema. ¿Cuál de las siguientes afirmaciones sobre la relación entre inspecciones y pruebas es correcta?. Las inspecciones son una alternativa superior a las pruebas. Las inspecciones y las pruebas deben usarse juntas, ya que son complementarias. Las pruebas siempre deben realizarse antes de las inspecciones. Solo las pruebas pueden garantizar la calidad del software. ¿Qué aspecto no puede ser verificado mediante inspecciones?. La conformidad del software con su especificación. La eficiencia de los algoritmos implementados. La validación de requisitos del cliente. La detección de errores en el código fuente. ¿Cuál de los siguientes es un requisito previo para realizar una inspección de software?. Ejecutar el código en un entorno de prueba. Contar con una especificación precisa del código a inspeccionar. Realizar pruebas unitarias antes de la inspección. Obtener la aprobación del cliente antes de la inspección. ¿Qué elemento es clave para una inspección efectiva?. Un equipo de revisores sin experiencia en el código. Una versión desactualizada del código fuente. Una lista de comprobación de errores comúnmente encontrados. La ejecución del software antes de la inspección. ¿Por qué los miembros del equipo de inspección deben estar familiarizados con los estándares de la organización?. Para poder modificar el código directamente durante la inspección. Para poder detectar errores basados en las prácticas y normas establecidas. Para garantizar que todos los requisitos del cliente se cumplan. Porque deben realizar pruebas funcionales durante la inspección. Las inspecciones pueden reducir los costos iniciales del proceso de software. Verdadero. Falso. Las inspecciones deben utilizarse para auditar al equipo de desarrollo. Verdadero. Falso. El procedimiento de inspección incluye la distribución anticipada del código y documentación. Verdadero. Falso. Después de una inspección, no es necesario hacer modificaciones en el código. Verdadero. Falso. En caso de ser necesario, puede realizarse una reinspección después de la corrección de errores. Verdadero. Falso. La lista de comprobación de errores debe ser estándar para todos los lenguajes de programación. Verdadero. Falso. La experiencia del equipo de desarrollo influye en el tiempo necesario para realizar una inspección. Verdadero. Falso. El dominio de la aplicación es un factor que influye en la cantidad de código que puede inspeccionarse. Verdadero. Falso. Las inspecciones pueden ser utilizadas en cualquier fase del desarrollo del software. Verdadero. Falso. El procedimiento de inspección no requiere una reunión formal. Verdadero. Falso. ¿Cuál de las siguientes afirmaciones sobre el impacto de las inspecciones en los costos del software es correcta?. Reducen los costos iniciales del desarrollo. No afectan los costos de desarrollo. Aumentan los costos iniciales, pero pueden reducir costos a largo plazo. Aumentan los costos en todas las fases del desarrollo. ¿Cuál es una mala práctica al implementar inspecciones en el desarrollo de software?. Usarlas para auditar al equipo de desarrollo. Realizarlas en diferentes etapas del proceso de desarrollo. Usarlas como complemento de las pruebas de software. Utilizar listas de comprobación adaptadas al lenguaje de programación. ¿Cuál es la primera fase del procedimiento de inspección de software?. Celebrar la reunión de inspección. Realizar la reinspección. Presentar una visión general del sistema al equipo de inspección. Modificar el código fuente. ¿Cuál es el propósito de distribuir el código y documentación antes de la inspección?. Permitir que los inspectores revisen el material con anticipación. Evitar que los inspectores hagan preguntas en la reunión. Reducir el tiempo de la reunión de inspección. Asegurar que todos los errores sean detectados automáticamente. Después de una reunión de inspección, el siguiente paso es: Realizar las modificaciones necesarias en el código. Ejecutar pruebas funcionales del software. Rediseñar completamente la arquitectura del software. Presentar el código al cliente para su aprobación. ¿Cuándo es necesario realizar una reinspección?. Siempre, sin importar la cantidad de errores detectados. Solo si se encuentra un número crítico de errores. Después de cada cambio en el software. Antes de realizar cualquier prueba de software. Las listas de comprobación en las inspecciones: Son universales y pueden aplicarse a cualquier lenguaje de programación. No son necesarias en una inspección efectiva. Deben adaptarse a los errores más comunes de cada lenguaje de programación. Solo deben ser usadas por programadores expertos. El tiempo necesario para realizar una inspección depende de: La experiencia del equipo de desarrollo. El lenguaje de programación utilizado. El dominio de la aplicación. Todas las anteriores. Los analizadores estáticos son herramientas manuales utilizadas para revisar el código fuente. Verdadero. Falso. El análisis estático automatizado puede reemplazar completamente a las inspecciones manuales. Verdadero. Falso. Los analizadores estáticos pueden detectar errores en el código fuente sin necesidad de ejecutarlo. Verdadero. Falso. El análisis estático es más útil en lenguajes con comprobación débil de tipos, como C y C++. Verdadero. Falso. FindBugs es una herramienta de análisis estático utilizada para lenguajes como C y C++. Verdadero. Falso. Cppcheck es una herramienta de análisis estático especializada en el lenguaje Java. Verdadero. Falso. Los métodos formales buscan obtener una especificación matemática del sistema. Verdadero. Falso. Los métodos formales eliminan la ambigüedad en la especificación de requisitos. Verdadero. Falso. El uso de notación lógica matemática en métodos formales permite una descripción clara y precisa de los requisitos. Verdadero. Falso. Los métodos formales son una técnica de verificación dinámica. Verdadero. Falso. ¿Cuál de las siguientes afirmaciones sobre los analizadores estáticos es correcta?. Son herramientas manuales utilizadas por los programadores. Ejecutan el código para detectar errores. Analizan el código sin ejecutarlo para identificar errores. Sustituyen completamente las inspecciones manuales. ¿Para qué tipo de lenguajes son especialmente útiles los analizadores estáticos?. Lenguajes con comprobación débil de tipos, como C y C++. Lenguajes con comprobación fuerte de tipos, como Java y Python. Lenguajes ensambladores y de bajo nivel. Solo para lenguajes interpretados. ¿Cuál de estas herramientas es un analizador estático para Java?. Cppcheck. FindBugs. Cppcheclipse. Eclipse CDT. ¿Cuál de estas herramientas es un plugin para Cppcheck en Eclipse?. FindBugs. Cppcheclipse. SonarQube. PyLint. ¿Cuál es el principal objetivo de los métodos formales en el desarrollo de software?. Obtener una especificación matemática del sistema. Ejecutar pruebas unitarias para verificar el código. Implementar código automáticamente a partir de requisitos. Crear modelos gráficos en UML. ¿Por qué los métodos formales son considerados la técnica de verificación estática más extrema?. Porque se basan en la ejecución de pruebas automatizadas. Porque requieren un alto grado de formalidad matemática. Porque pueden aplicarse solo en fases avanzadas del desarrollo. Porque dependen exclusivamente del lenguaje de programación utilizado. ¿Qué ventaja tienen los métodos formales sobre el uso de lenguaje natural en la especificación de requisitos?. Son más fáciles de entender por cualquier persona. Eliminan la ambigüedad y la inexactitud en la especificación. No requieren conocimientos matemáticos para su aplicación. Pueden reemplazar completamente la necesidad de pruebas de software. ¿Qué teoría matemática se usa en los métodos formales para especificar requisitos de manera precisa?. Teoría de grafos. Teoría de conjuntos y notación lógica matemática. Álgebra lineal y cálculo diferencial. Algoritmos de búsqueda y ordenación. ¿Cuál de estas afirmaciones sobre los métodos formales es incorrecta?. Se utilizan para generar especificaciones libres de ambigüedades. Son una técnica de verificación dinámica. Su objetivo es garantizar la consistencia y completitud de los requisitos. Utilizan notación matemática para describir el comportamiento del software. La notación Z se basa en la teoría de conjuntos y la lógica matemática. Verdadero. Falso. Z Word Tools es una herramienta que permite generar especificaciones en notación Z mediante Microsoft Excel. Verdadero. Falso. El método B se basa en la notación Z y ha sido utilizado en sistemas críticos como el metro de París. Verdadero. Falso. B-method está más orientado a la especificación formal que al refinamiento del código. Verdadero. Falso. Event-B es una versión moderna de B-method que usa teoría de conjuntos y demostraciones matemáticas para verificar modelos. Verdadero. Falso. OCL (Object Constraint Language) permite definir restricciones y expresiones en modelos UML. Verdadero. Falso. Event-B no se basa en la notación Z ni en la teoría de conjuntos. Verdadero. Falso. El método B es un método completamente independiente de la notación Z. Verdadero. Falso. OCL puede ser utilizado para verificar modelos UML mediante pruebas de ejecución del software. Verdadero. Falso. Z Word Tools es una herramienta de código abierto para trabajar con especificaciones Z. Verdadero. Falso. ¿Qué caracteriza a la notación Z?. Se basa en el lenguaje de programación Java. Utiliza la teoría de conjuntos y la lógica matemática. Es un lenguaje de modelado gráfico similar a UML. No permite especificaciones formales. ¿Para qué se utiliza Z Word Tools?. Para generar especificaciones formales en notación Z en Microsoft Word. Para ejecutar pruebas unitarias en código Java. Para traducir UML a código fuente. Para analizar modelos de bases de datos. ¿Cuál de los siguientes métodos se basa en la notación Z?. OCL. B-method. UML. Análisis estático automatizado. ¿Qué diferencia principal existe entre Z y B-method?. Z se usa solo en sistemas embebidos, mientras que B-method en aplicaciones web. Z está más orientado a la especificación formal, mientras que B-method al refinamiento del código. B-method se basa en UML, mientras que Z en Java. B-method se centra en diseño gráfico, mientras que Z en pruebas automatizadas. ¿Qué herramienta se basa en B-method y usa la teoría de conjuntos para modelado y verificación?. OCL. Event-B. FindBugs. PyLint. ¿Qué permite hacer OCL en modelos UML?. Ejecutar código en UML. Definir restricciones y reglas en los modelos. Convertir UML a diagramas de Gantt. Generar documentación automática para pruebas. ¿Cuál de estas herramientas se enfoca en la especificación formal de software?. FindBugs. Notación Z. JUnit. Cppcheck. ¿En qué tipo de proyectos se ha utilizado B-method?. Aplicaciones móviles. Sistemas críticos, como el metro de París. Videojuegos en 3D. Procesadores de texto. ¿Qué caracteriza a Event-B?. Es una herramienta gráfica para crear diagramas UML. Usa teoría de conjuntos y demostraciones matemáticas para verificar modelos. Se basa en el lenguaje Python. Es un sistema de gestión de bases de datos. ¿Para qué se utiliza OCL en UML?. Para definir restricciones sobre modelos UML. Para generar código automáticamente. Para convertir diagramas UML en gráficos 3D. Para realizar pruebas de rendimiento en UML. |