Verification & Validation - Georgia Tech - Software Development Process

Udacity
23 Feb 201501:36

Summary

TLDRLa verificación y validación son fases cruciales del desarrollo de software, destinadas a comprobar que el sistema cumple con su especificación y propósito. La validación responde a la pregunta de si se construyó el sistema correcto, el que el cliente desea, mientras que la verificación asegura que se construyó correctamente según las especificaciones. La verificación se realiza en distintos niveles: unidad, integración y sistema. En el nivel de sistema, se aplican pruebas adicionales como pruebas de estrés o robustez. Estos temas se abordarán más a fondo en el mini curso número cuatro.

Takeaways

  • 🔍 La verificación y validación son fases del desarrollo de software que verifican si el sistema cumple su especificación y su propósito.
  • 🛠️ La validación responde a la pregunta: ¿Construimos el sistema correcto? ¿Es lo que el cliente desea?
  • ✅ La verificación responde a la pregunta: ¿Construimos el sistema correctamente según las especificaciones?
  • 📊 La verificación se puede realizar en varios niveles, incluyendo pruebas unitarias, de integración y de sistema.
  • 🧩 En la prueba unitaria, se verifica que las unidades individuales funcionen como se espera.
  • 🔗 La prueba de integración verifica que los diferentes módulos interactúen correctamente entre sí.
  • 💻 La prueba de sistema asegura que todas las piezas del sistema funcionen juntas de manera adecuada.
  • 🔄 La validación se realiza en el nivel de prueba del sistema, verificando si el sistema completo satisface las necesidades del cliente.
  • 🚦 Las pruebas de esfuerzo y robustez también se aplican en esta fase para probar el sistema en situaciones extremas.
  • 📅 El curso cubrirá en detalle la verificación, validación y técnicas de prueba en la lección número cuatro.

Q & A

  • ¿Qué es la verificación y validación en el desarrollo de software?

    -La verificación y validación son fases del desarrollo de software que buscan comprobar que el sistema cumple con su especificación y con su propósito. La verificación se asegura de que el sistema fue construido correctamente, mientras que la validación verifica si construimos el sistema correcto que satisface las necesidades del cliente.

  • ¿Cuál es la diferencia entre verificación y validación?

    -La validación responde a la pregunta '¿Construimos el sistema correcto?', es decir, si el sistema satisface las necesidades del cliente. La verificación responde a '¿Construimos el sistema correctamente?', asegurándose de que el sistema cumple con las especificaciones establecidas.

  • ¿Cuáles son los diferentes niveles en los que se puede realizar la verificación?

    -La verificación se puede realizar en tres niveles: a nivel de unidad, donde se prueba que las unidades individuales funcionan correctamente; a nivel de integración, donde se verifica que los módulos interactúan correctamente; y a nivel de sistema, donde se asegura que todas las piezas del sistema funcionan juntas de manera adecuada.

  • ¿Qué se prueba en el nivel de verificación de unidades?

    -En el nivel de verificación de unidades, se prueba que las unidades individuales del sistema funcionan como se espera, asegurando que cada componente por separado cumpla con su propósito.

  • ¿Qué es la verificación a nivel de integración?

    -La verificación a nivel de integración se enfoca en probar la interacción entre las diferentes unidades o módulos del sistema, asegurando que se comuniquen y funcionen correctamente entre sí.

  • ¿Qué implica la verificación a nivel de sistema?

    -La verificación a nivel de sistema implica probar el sistema en su totalidad, asegurando que todos los componentes funcionen juntos de manera adecuada.

  • ¿Qué tipos de pruebas se realizan en el nivel de validación?

    -En el nivel de validación se aplican pruebas como pruebas de estrés o pruebas de robustez, con el fin de asegurarse de que el sistema puede manejar situaciones extremas y sigue cumpliendo con los requisitos del cliente.

  • ¿Qué aspecto del desarrollo de software se cubre en el mini curso número cuatro?

    -El mini curso número cuatro cubre en detalle la verificación, validación y pruebas de software, profundizando en estas fases del desarrollo.

  • ¿Por qué es importante realizar la validación en el desarrollo de software?

    -La validación es importante porque asegura que el sistema desarrollado es realmente el que el cliente necesita y quiere, lo que garantiza la satisfacción del cliente.

  • ¿Qué se quiere lograr con la verificación y validación en el desarrollo de software?

    -Con la verificación y validación, se busca garantizar que el sistema cumpla con las especificaciones técnicas y que satisfaga las necesidades del cliente, asegurando la calidad y funcionalidad del producto final.

Outlines

00:00

🔍 Verificación y Validación en el Desarrollo de Software

Después de construir un sistema, la fase de verificación y validación se enfoca en comprobar si el sistema cumple con su especificación y si cumple su propósito. Estas actividades responden a dos preguntas clave: la validación verifica si construimos el sistema correcto que el cliente desea, mientras que la verificación examina si el sistema se construyó correctamente según las especificaciones derivadas de los requisitos del cliente. La verificación puede realizarse a diferentes niveles: prueba de unidades (cada componente por separado), prueba de integración (interacción entre componentes), y prueba de sistema (evaluación del sistema completo). Además, la validación se realiza a nivel del sistema completo, utilizando técnicas como pruebas de esfuerzo o pruebas de robustez. Este tema se abordará en mayor profundidad en el minicurso número cuatro.

Mindmap

Keywords

💡Verificación

La verificación es el proceso de asegurarse de que el sistema de software se construyó correctamente de acuerdo con las especificaciones dadas. Es decir, se trata de comprobar que el sistema implementa correctamente los requisitos y el diseño derivados del cliente. En el video, se menciona que la verificación puede realizarse a diferentes niveles, como el nivel de unidad o el nivel de integración.

💡Validación

La validación responde a la pregunta de si se construyó el sistema adecuado, es decir, si el sistema cumple con las necesidades y expectativas del cliente. Es el proceso de asegurarse de que el sistema construido satisface el propósito para el cual fue diseñado. En el video, se explica que la validación se realiza en la fase de pruebas del sistema completo.

💡Especificación

La especificación es la descripción detallada del sistema que se deriva de la recopilación de requisitos del cliente. Es el conjunto de instrucciones y expectativas que deben cumplirse durante el desarrollo del software. En el video, se menciona que la verificación consiste en comprobar si el sistema implementa la especificación de manera correcta.

💡Requisitos

Los requisitos son las necesidades y expectativas del cliente que se recopilan al inicio del proyecto y guían el desarrollo del sistema. En el video, se menciona que los requisitos son parte esencial del proceso que lleva a definir la especificación del sistema, que luego será verificada.

💡Pruebas de unidad

Las pruebas de unidad son un tipo de verificación que se realiza a nivel de componentes individuales del sistema para asegurar que cada parte funciona como se espera. En el video, se menciona que este es uno de los niveles de verificación donde se comprueba que las unidades funcionan correctamente de manera aislada.

💡Pruebas de integración

Las pruebas de integración consisten en verificar que los distintos módulos o unidades del sistema interactúan correctamente entre sí. En el video, se destaca que este es un nivel de verificación en el que se asegura que las distintas partes del sistema se comunican de manera correcta.

💡Pruebas del sistema

Las pruebas del sistema implican evaluar el sistema en su conjunto para asegurarse de que todas sus partes funcionan juntas correctamente. En el video, se menciona que este es el nivel en el que se valida el sistema completo y se aplican otras técnicas de pruebas, como las pruebas de esfuerzo o pruebas de robustez.

💡Pruebas de estrés

Las pruebas de estrés son un tipo de prueba que se aplica durante la validación del sistema completo para verificar su rendimiento bajo condiciones extremas. En el video, se menciona que este tipo de pruebas se utiliza para comprobar la robustez del sistema cuando está bajo mucha carga o en situaciones inusuales.

💡Pruebas de robustez

Las pruebas de robustez evalúan la capacidad del sistema para manejar condiciones imprevistas o excepcionales sin fallar. En el video, se menciona que estas pruebas se aplican junto con las pruebas de estrés en la fase de validación del sistema completo.

💡Diseño del sistema

El diseño del sistema es la fase en la que se estructuran los requisitos y la especificación en una arquitectura que guiará el desarrollo. En el video, se menciona que el diseño es uno de los pasos que sigue a la recopilación de requisitos y precede a la verificación para asegurar que el sistema implementa correctamente las especificaciones.

Highlights

Verification and validation aim to ensure the system meets its specification and fulfills its intended purpose.

Validation answers the question: Did we build the right system, the one that makes the customer happy?

Verification answers the question: Did we build the system right, based on the specifications provided by the customer?

Verification can be performed at different levels, including unit testing, integration testing, and system testing.

Unit testing focuses on ensuring individual units work as expected.

Integration testing checks the interactions between different units to ensure they communicate correctly.

System testing involves testing the system as a whole, ensuring all components work together properly.

Validation is applied at the system testing level to ensure the overall system fulfills its intended purpose.

Other techniques like stress testing and robustness testing are also applied at the system level.

Verification can occur at multiple stages, providing various layers of assurance for system correctness.

The distinction between verification and validation is key to understanding the completeness and correctness of a system.

Verification is focused on technical accuracy, while validation is centered on customer satisfaction.

The software must be built according to both the functional requirements and user needs.

Mini course number four will cover verification and validation in greater detail.

Stress and robustness testing focus on system resilience and handling extreme conditions, beyond standard operations.

Transcripts

play00:00

After we have built our system, verification and validation

play00:03

is that phase of software development that aims to

play00:05

check that the software system meets its specification and

play00:09

fulfills its intended purpose. More precisely, we can look

play00:12

at verification and validation independently. And validation is the

play00:16

activity that answers the question did we build the

play00:19

right system. Did we build the system that the

play00:21

customer wants? That will make the customer happy. Whereas verification

play00:26

answers a different question which is did we build the system

play00:28

right. So given a description of the system that is the one

play00:31

that we derived from the customer through the collection of requirements

play00:34

and then design and so on, did we build a system that

play00:37

actually implements the specification that we defined? And when we look

play00:41

at verification there's many, many ways of doing verification and in fact

play00:44

in the mini course number four we will cover verification extensively. The

play00:48

only thing I want to mention here is the fact that verification

play00:51

can be performed at different levels. In particular, it can be

play00:54

performed at the unit level in which we test that the individual

play00:57

units work as a expected. Can be performed in the integration level

play01:01

in which what we test is the interaction between the different units.

play01:05

So we want to make sure that the different modules talk

play01:07

to each other in the right way. And finally, there is system

play01:10

testing in which we test the system as a whole and we

play01:13

want to make sure that all the system, all the different pieces

play01:16

of the system work together in the right

play01:18

way. And this is also the level at which

play01:20

then we will apply validation and some other

play01:22

testing techniques like stress testing or robustness testing and

play01:25

so on. And as I said I'm not going to say anything more on this topic because

play01:29

we will cover verification, and validation, and testing in

play01:32

particular in great details in mini course number four.

Rate This

5.0 / 5 (0 votes)

Related Tags
verificaciónvalidaciónsoftwarepruebasespecificacionesclientessistemastestingdesarrollorobustez
Do you need a summary in English?