Nombre: Axel de Jesús Rodas Torrez
Fecha:23/02/2025
Nombre del Módulo formativo: Análisis y diseño informáticos
Nombre y número de Unidad: Actividad 1.3. Tarea grupal: Validación de la información
procesada
Tutor:
Introducción
El proceso de Validación y Verificación (V&V) es fundamental para garantizar que los
requerimientos especificados en un proyecto de software sean cumplidos adecuadamente durante
todas las fases del desarrollo. Estos procesos tienen como objetivo asegurar que el software
desarrollado cumple con las expectativas del cliente y con los estándares definidos, tanto desde el
punto de vista técnico como funcional. Este informe examina los conceptos de validación y
verificación de requerimientos, según lo expuesto en la literatura de ingeniería de software y en la
definición del International Software Testing Qualifications Board (ISTQB).
Definición de Verificación y Validación
De acuerdo con Sommerville en su obra Ingeniería del Software, los procesos de verificación y
validación son esenciales para garantizar que el software cumpla con las especificaciones y
requisitos establecidos.
• Verificación: La verificación se refiere al proceso de confirmar, mediante un examen y
proporcionando evidencia objetiva, que los requerimientos de especificación han sido
cumplidos. Es decir, se asegura que el sistema ha sido construido correctamente conforme
a lo que se había planeado, revisando que el producto final sea consistente con los
documentos de especificación, diseño y código. Este proceso se lleva a cabo en varias
etapas del ciclo de vida del software, como la revisión de documentos, el análisis de los
modelos y la ejecución de pruebas unitarias y de integración.
• Validación: La validación, por otro lado, se refiere al proceso de confirmar, mediante un
examen y proporcionando evidencia objetiva, que el producto cumple con los requisitos
para el uso específico para el cual fue desarrollado. En otras palabras, se valida que el
software resuelve el problema para el que fue creado, atendiendo las necesidades y
expectativas del usuario final. Este proceso tiene lugar generalmente al final de las fases de
desarrollo y se valida mediante pruebas funcionales, pruebas de aceptación de usuario y
pruebas del sistema en condiciones de uso real.
Importancia en el Ciclo de Vida del Software
La verificación y la validación deben realizarse en cada etapa del ciclo de vida del desarrollo del
software. Esto asegura que el producto evolucione correctamente, sin desviaciones significativas
de los requerimientos y sin introducir errores que puedan comprometer su calidad. Las principales
fases en las que V&V se aplica incluyen:
1. Requisitos: Durante esta fase, se verifica que los requisitos del software estén completos,
consistentes y bien definidos. Se valida que estos requisitos reflejan las necesidades reales
del usuario.
2. Diseño y Desarrollo: En esta fase, la verificación asegura que el diseño del software
cumpla con los requisitos y especificaciones definidas. Además, se validan las decisiones
de diseño mediante revisiones y pruebas de los prototipos.
3. Pruebas: La verificación se centra en que el software funcione de acuerdo con lo
especificado (por ejemplo, mediante pruebas de integración y de unidad), mientras que la
validación se asegura de que el software sea útil y adecuado para los usuarios finales a
través de pruebas de aceptación.
Proceso de Verificación y Validación según el ISTQB
El ISTQB ofrece una definición precisa de los procesos de verificación y validación, destacando su
enfoque en la evidencia objetiva:
• Verificación (Confirmación mediante examen): Este proceso se enfoca en asegurar que el
sistema esté construido de acuerdo con los requisitos, especificaciones y documentación
definidas previamente. Los métodos incluyen revisiones de documentos, inspecciones de
código y pruebas de unidad.
• Validación (Confirmación del cumplimiento de los requisitos para su uso específico): Aquí
se evalúa si el sistema desarrollado satisface las necesidades del cliente y los usuarios
finales. Esto se logra mediante pruebas de aceptación, pruebas de sistemas, y revisiones
de los casos de uso del software.
1. ¿Cumple el software con el propósito para el que fue creado?
El primer paso para determinar si el software cumple su propósito es validar que los requisitos
definidos desde el principio del proyecto reflejan correctamente las necesidades del cliente y los
usuarios finales. Este proceso de validación implica verificar si el software resuelve el problema
que se esperaba solucionar y si cumple con las expectativas funcionales del usuario. Además, se
debe revisar si el software implementa todas las funcionalidades acordadas y si, en términos
generales, el producto final satisface la necesidad que motivó el desarrollo.
Para responder a esta pregunta, se utilizan diferentes técnicas de validación, como:
• Pruebas de aceptación del usuario (UAT): Aseguran que el software funciona
correctamente para los usuarios finales, tal como fue diseñado.
• Evaluaciones de desempeño: Determinan si el software cumple con los objetivos de
rendimiento establecidos.
2. ¿Garantiza el sistema que es lo suficientemente bueno para su uso previsto?
Una vez que el software cumple con el propósito general para el que fue creado, el siguiente paso
es determinar si es adecuado para el uso en el entorno para el que fue diseñado. Esta cuestión se
refiere a la calidad del software, en términos de confiabilidad, seguridad, facilidad de uso y
rendimiento, en el contexto de su uso previsto.
Para garantizar que el sistema es lo suficientemente bueno para su uso, se deben llevar a cabo
pruebas de calidad exhaustivas, que incluyan:
• Pruebas de integración y sistema: Estas pruebas verifican que el software funcione
correctamente en su entorno operativo y que todos los componentes trabajen en
conjunto.
• Pruebas de estrés y carga: Se realizan para evaluar cómo responde el sistema bajo
condiciones extremas o cargas de trabajo elevadas, lo cual es crucial para garantizar su
robustez en el uso real.
• Pruebas de usabilidad: Se comprueba si la interfaz del software es intuitiva y si cumple con
las expectativas de los usuarios en cuanto a facilidad de uso.
3. ¿El nivel de confianza requerido depende del propósito del sistema, las expectativas de los
usuarios del sistema y el entorno de mercado actual del sistema?
Efectivamente, el nivel de confianza que se exige de un sistema de software varía dependiendo de
varios factores, como el propósito del sistema, las expectativas de los usuarios, y el entorno de
mercado en el que opera. Por ejemplo, un sistema de software que se utiliza en áreas críticas
como la salud o la aviación requiere una validación y verificación mucho más rigurosa que un
sistema que se utiliza en aplicaciones de entretenimiento o redes sociales.
Algunos factores que afectan este nivel de confianza son:
• Propósito del sistema: Si el sistema es crítico (por ejemplo, un software de control de
tráfico aéreo o un sistema bancario), la fiabilidad y seguridad deben ser prioritarias, lo que
incrementa el nivel de pruebas necesarias.
• Expectativas de los usuarios: Si los usuarios esperan un alto rendimiento, facilidad de uso
y disponibilidad constante, el software debe someterse a pruebas más rigurosas en estos
aspectos.
• Entorno de mercado: En un entorno competitivo, el software debe estar libre de errores y
ser capaz de adaptarse rápidamente a cambios del mercado. Esto puede requerir pruebas
de flexibilidad y escalabilidad.
En resumen, la verificación y validación deben considerar estos factores, adaptando el proceso de
pruebas a las necesidades del entorno y el propósito del sistema, para asegurar que el nivel de
confianza esté alineado con las expectativas de los usuarios y las demandas del mercado.
Conclusión
Estas tres preguntas ayudan a determinar la efectividad y calidad del software desarrollado,
asegurando que no solo cumpla con los requisitos, sino que también esté listo para su uso real y
cumpla con las expectativas del entorno. La combinación de estos elementos dentro de un proceso
de verificación y validación sólido es crucial para asegurar el éxito y la confiabilidad del producto
final.