Logo Studenta

Taller Validación de Requerimiento

¡Este material tiene más páginas!

Vista previa del material en texto

La importancia de las pruebas de validación de requerimientos en el desarrollo de software
1. ¿Qué son las pruebas de validación de requerimientos y por qué son importantes en el desarrollo de software? 
Las pruebas de validación de requerimientos son importantes en el desarrollo de software porque ayudan a comprobar los problemas relacionados con los requisitos especificados durante las actividades anteriores de la ingeniería de requisitos. La validación de los requisitos es necesaria porque ayuda a garantizar que el sistema cumpla con sus objetivos y funciones según lo previsto. Los requisitos incompletos, incorrectos o incoherentes pueden generar problemas durante el desarrollo, las pruebas y la implementación del software.
La validación de los requisitos nos ayuda a detectar errores en una etapa temprana del desarrollo del producto para que no resulte en una repetición excesiva del proceso de desarrollo. Es importante llevar a cabo la validación de los requerimientos del sistema de forma inicial para evitar errores y omisiones durante la fase de análisis. La validación garantiza la precisión y claridad de los datos al mitigar cualquier defecto en los requisitos recopilados.
La validación de requisitos se realiza en todas y cada una de las etapas durante la ingeniería de requisitos. Durante la elicitación, se deben cotejar los requisitos y las fuentes a través de las cuales se recopilaron los requisitos. Durante el análisis y la negociación, se debe validar el documento de requisitos finales con las partes interesadas para garantizar que se obtuvieron los requisitos correctos y válidos. El objetivo principal de la actividad "validar los requisitos del sistema" es comprobar que el sistema software descrito por la Especificación de Requisitos del Sistema (ERS) se corresponde con las necesidades de negocio de clientes y usuarios, obteniendo su aprobación y permitiendo generar una línea base de los requisitos.
2. Métodos y enfoques para realizar pruebas de validación de requerimientos. 
Existen varios métodos y enfoques para realizar pruebas de validación de requerimientos en el desarrollo de software. Algunos de ellos son:
1. Análisis de enfoques de validación de requerimientos: Este enfoque implica la aplicación de diferentes métodos y modelos para obtener productos de software de calidad.
2. Proceso de pruebas de requisitos basados en la ingeniería de requisitos: Este enfoque implica realizar un análisis del proceso de validación y verificación que se está llevando a cabo para pruebas de requisitos bajo características de proyectos.
3. Técnicas de verificación estática y en la prueba: Este enfoque se enfoca en las técnicas de verificación estática y en la prueba para introducir la verificación y validación del software.
4. Validación de requerimientos de usuario: Este enfoque implica actividades más colaborativas para validar los requerimientos de usuario que pueden ser especificados mediante lenguaje natural y documentos.
5. Verificación, validación y pruebas de software: Este enfoque implica la realización de pruebas como parte de un proceso más amplio de verificación y validación de software.
6. Validación de requisitos de software: Este enfoque implica la validación de requisitos de software como base del éxito de los proyectos de sistemas informáticos desarrollados e implementados.
Es importante tener en cuenta que la elección del método o enfoque adecuado para realizar pruebas de validación de requerimientos dependerá de las necesidades y características específicas del proyecto de software en cuestión.
3. Herramientas y técnicas utilizadas en las pruebas de validación de requerimientos. 
Inspecciones del Software:
· Se analizan las diferentes representaciones del sistema (diagramas de requerimientos, diagramas de diseño y código fuente) en búsqueda de defectos.
· Son técnicas de validación estáticas => No requieren que el código se ejecute.
· Debe realizarse durante todo el ciclo de desarrollo.
Pruebas del Software:
· Se contrasta dinámicamente la respuesta de prototipos ejecutables del sistema con el comportamiento operacional esperado.
· Técnicas de validación dinámicas => El sistema se ejecuta.
· Requiere disponer de prototipo ejecutables, por lo que sólo puede utilizarse en ciertas fases del proceso.
· 
1. Las inspecciones del software analizan y comprueban las representaciones del sistema como el documento de requerimientos, los diagramas de diseño y y el código fuente del programa. Se aplica a todas las etapas del proceso de desarrollo. Las inspecciones se complementan con algún tipo de análisis automático del texto fuente o de los documentos asociados. Las inspecciones del software y los análisis automatizados son técnicas de verificación y validación estáticas puesto que no requieren que el sistema se ejecute.
2. Las pruebas del software consiste en contrastar las respuestas de una implementación del software a series de datos de prueba y examinar las respuestas del software y su comportamiento operacional, para comprobar que se desempeñe conforme a lo requerido. Llevar a cabo las pruebas es una técnica dinámica de la verificación y validación ya que requiere disponer de un prototipo ejecutable del sistema.
Existen diferentes herramientas que se utilizan para llevar a cabo las fases de la ingeniería de
requerimientos. Sin embargo, estas herramientas no son restrictivas para una única actividad dentro de este gran proceso.
Técnicas estáticas (analíticas)
Analizar el producto para deducir su correcta operación.
· Análisis de código
· Se revisa el código buscando defectos
· Se puede llevar a cabo en grupos
· Recorridas e Inspecciones (técnicas conocidas con resultados conocidos)
· Análisis automatizado de código fuente
· La entrada es el código fuente del programa y la salida es una serie de defectos detectados.
· Verificación formal
· Se parte de una especificación formal y se busca probar (demostrar) que el programa cumple con la misma.
Técnicas dinámicas (pruebas)
Experimentar con el comportamiento de un producto para ver si el producto actúa como es esperado.
· Análisis de documentación
· Consiste en obtener la información sobre los requerimientos funcionales y requerimientos no funcionales de software a partir de documentos que ya están elaborados.
· Es útil cuando los expertos en la materia no están disponibles para ser entrevistados o ya no forman parte de la organización.
4. Beneficios de realizar pruebas de validación de requerimientos de manera adecuada. 
Identificar errores y defectos temprano en el proceso de desarrollo. Las pruebas de validación se realizan después de que se hayan completado las pruebas unitarias y de integración, lo que permite identificar y corregir errores y defectos antes de que el software sea liberado al mercado. 
Mejorar la calidad del software. Las pruebas de validación ayudan a asegurar que el software cumple con los requisitos y especificaciones establecidos, lo que contribuye a mejorar la calidad del software. 
Aumentar la confianza en el software. Al pasar el software por pruebas de validación, se puede tener más confianza en que funcionará correctamente en un entorno de producción. 
Reducir el costo. Las pruebas de validación ayudan a identificar temprano los problemas y corregirlos en el proceso de desarrollo. Esto reduce el costo de llevar a cabo esta tarea en una etapa más avanzada o después de la liberación del software al mercado.
Es importante recordar que dichas pruebas deben ser planificadas y diseñadas de manera adecuada para garantizar que se cubran todos los aspectos necesarios y para asegurar la confianza en el producto final.
5. Casos de estudio o ejemplos prácticos que ilustren la importancia de las pruebas de validación de requerimientos. 
Es muy importante asegurar la validez de los requisitos previamente a comenzar un desarrollo de software. Para ello debe de hacerse una comprobación de la correspondencia entre las descripciones iniciales y si el modelo es capaz de responder al planteamiento inicial. Para llevara cabo esto, se suele realizar comprobando que el modelo obtenido responde de la misma forma deseada que la que el cliente pide, por un lado, y por otro a la inversa si otras respuestas del modelo convencen al cliente. En algunos casos será necesario construir prototipos con una funcionalidad similar muy reducida para que el cliente se haga una idea aproximada del resultado.
La validación de los requisitos obviamente tiene como objetivo comprobar que estos son correctos. Esta fase debe realizarse o de lo contrario se corre el riesgo de implementar una mala especificación, con el costo que eso conlleva. Los parámetros para validar en los requisitos son:
· Validez: No basta con preguntar a un usuario, todos los potenciales usuarios pueden tener puntos de vista distintos y necesitar otros requisitos.
· Consistencia: No debe haber contradicciones entre unos requisitos y otros.
· Completitud: Deben estar todos los requisitos. Esto es imposible en un desarrollo iterativo, pero, al menos, deben estar disponibles todos los requisitos de la iteración en curso.
· Realismo: Se pueden implementar con la tecnología actual.
· Verificabilidad: Tiene que existir alguna forma de comprobar que cada requisito se cumple.
6. Desafíos comunes en la realización de pruebas de validación de requerimientos y cómo abordarlos. 
La validación de requisitos nos ayuda a detectar errores en una etapa temprana del desarrollo del producto para que no resulte en una repetición excesiva del trabajo cuando se detecte más adelante en el ciclo de vida del desarrollo del sistema.
En Ingeniería de Requisitos, la validación es el proceso de confirmar que los requisitos documentados coinciden con las necesidades de sus partes interesadas; en otras palabras: si se han especificado los requisitos correctos.
Por lo general, la validación se utiliza para identificar errores en las fases iniciales del ciclo de desarrollo relacionados con malentendidos en el proceso de recopilación de requisitos. La validación garantiza la precisión y claridad de los datos al mitigar cualquier defecto en los requisitos recopilados. Sin validación, existe un alto riesgo de datos inexactos que darían lugar a resultados inexactos que conducirán a que las partes interesadas rechacen el sistema después de que se haya construido; lo que implica retrasos y sobrecostos que podrían haberse evitado. Una base sólida garantiza una estructura de proyecto robusta y reduce las posibilidades de fallas y rechazos. 
7. Mejores prácticas para diseñar y ejecutar pruebas de validación de requerimientos efectivas. 
Es muy importante asegurar la validez de los requisitos previamente a comenzar un desarrollo de software. Para ello debe de hacerse una comprobación de la correspondencia entre la descripciones iniciales y si el modelo es capaz de responder al planteamiento inicial. La validación de los requisitos, obviamente tiene como objetivo comprobar que estos son correctos. Existen varias fases y técnicas empleadas para validar un software. Algunas de las fases más comunes incluyen:
Planificación de pruebas: se determinan los objetivos de las pruebas, se establecen los criterios de aceptación y se planifican las actividades necesarias para llevar a cabo las pruebas.
Diseño de pruebas: se diseñan las pruebas específicas que se llevarán a cabo, tanto para verificar el cumplimiento de los requisitos como para detectar errores y defectos.
Ejecución de pruebas: se ejecutan las pruebas diseñadas en la fase anterior, se registran los resultados y se verifica si se cumplen los criterios de aceptación.
Evaluación de resultados: se analizan los resultados de las pruebas para definir si el software cumple con los requisitos especificados y si se han detectado errores o defectos.
Entre las técnicas de validación, se encuentran:
Pruebas de unidad: se centran en verificar el comportamiento de las unidades de código individuales.
Pruebas de integración: se centran en comprobar cómo las diferentes unidades de código funcionan juntas.
Pruebas de sistema: se centran en examinar el comportamiento completo del sistema en condiciones de uso realistas.
Pruebas de aceptación: se centran en confirmar si el software cumple con los requisitos funcionales especificados.
Pruebas de seguridad: se centran en detectar vulnerabilidades y evaluar la resistencia del sistema frente a ataques.
Pruebas de rendimiento: se centran en evaluar cómo el sistema se comporta bajo diferentes niveles de carga y en condiciones extremas.
8. Integración de las pruebas de validación de requerimientos en el ciclo de vida del desarrollo de software. 
El ciclo de vida del desarrollo del software (también conocido como SDLC o Systems Development Life Cycle) contempla las fases necesarias para validar el desarrollo del software y así garantizar que este cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo, asegurándose de que los métodos usados son apropiados. La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto para llevarlo a cabo con grandes posibilidades de éxito. Esta sistematización indica cómo se divide un proyecto en módulos más pequeños para normalizar cómo se administra el mismo.
Implementación
En esta fase hay que elegir las herramientas adecuadas, un entorno de desarrollo que facilite el trabajo y un lenguaje de programación apropiado para el tipo de software a construir. Esta elección dependerá tanto de las decisiones de diseño tomadas como del entorno en el que el software deba funcionar. Al programar, hay que intentar que el código no sea indescifrable siguiendo distintas pautas como las siguientes:
· Evitar bloques de control no estructurados.
· Identificar correctamente las variables y su alcance.
· Elegir algoritmos y estructuras de datos adecuadas para el problema.
· Mantener la lógica de la aplicación lo más sencilla posible.
· Documentar y comentar adecuadamente el código de los programas.
· Facilitar la interpretación visual del código utilizando reglas de formato de código previamente consensuadas en el equipo de desarrollo.
También hay que tener en cuenta la adquisición de recursos necesarios para que el software funcione, además de desarrollar casos de prueba para comprobar el funcionamiento del mismo según se vaya programando.
9. Relación entre las pruebas de validación de requerimientos y la satisfacción del cliente.
Las pruebas de validación de requerimientos son un proceso crucial en el desarrollo de software, ya que garantizan que el producto final cumpla con las expectativas y necesidades del cliente. Estas pruebas permiten verificar si los requerimientos establecidos son correctos, completos y coherentes, y si el software desarrollado los cumple de manera adecuada. La relación entre las pruebas de validación de requerimientos y la satisfacción del cliente es estrecha. A través de las pruebas de validación, se busca asegurar que el software desarrollado cumpla con los requerimientos funcionales y no funcionales definidos por el cliente. Si las pruebas de validación se realizan de manera efectiva y exhaustiva, es más probable que el software final entregado al cliente cumpla con sus expectativas y necesidades.
Cumplimiento de requerimientos: Las pruebas de validación permiten asegurar que el software cumple con los requerimientos establecidos por el cliente. Esto garantiza que el producto final funcione de acuerdo a lo esperado y satisfaga las necesidades del cliente.
Identificación de brechas: Durante las pruebas de validación, se pueden identificar posibles brechas entre los requerimientos iniciales y el software desarrollado. Esto brinda la oportunidad de corregir cualquier discrepancia o error antes de entregar el producto al cliente, evitando así posibles decepciones o insatisfacción.
Corrección de errores tempranos: Las pruebas de validación ayudan a identificar errores o fallas en etapas tempranas del desarrollo. Esto permite corregir los problemas de manera oportuna, reduciendo los costos yesfuerzos asociados con la corrección de errores en etapas más avanzadas del proyecto.
Mejora de la comunicación con el cliente: Las pruebas de validación proporcionan una oportunidad para interactuar con el cliente y obtener su retroalimentación sobre el software en desarrollo. Esta comunicación abierta y constante ayuda a alinear las expectativas y garantizar la satisfacción del cliente.
Es importante tener en cuenta que la relación entre las pruebas de validación de requerimientos y la satisfacción del cliente puede variar dependiendo del enfoque de desarrollo de software utilizado y del contexto específico del proyecto. Sin embargo, en general, llevar a cabo pruebas de validación de requerimientos de manera efectiva contribuye significativamente a garantizar la satisfacción del cliente.
Bibliografía
INTELEQUIA. (28 de Noviembre de 2020). INTELEQUIA . Obtenido de https://intelequia.com/blog/post/ciclo-de-vida-del-software-todo-lo-que-necesitas-saber
Juntadeandalucia. (2023). Obtenido de https://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/419
mytaskpanel. (s.f.). Obtenido de https://www.mytaskpanel.com/pruebas-de-validacion-de-software/
VisuResolutions. (s.f.). Obtenido de https://visuresolutions.com/es/blog/requirements-validation/
WESLEY, A. (s.f.). Obtenido de https://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/419

Continuar navegando