Proceso de Verificación y Validación en Desarrollo de Software
Enviado por y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,64 KB
programacion2
Verificación: comprobar que el producto está de acuerdo con la especificación. El proceso de evaluación de un sistema para determinar si los productos de una fase satisfacen las condiciones impuestas. Validación: asegurar que el producto satisface las expectativas del cliente. Determina si satisface los requisitos marcados.. Dentro de este proceso hay 2 pasos complementarios
Inspecciones del software
análisis y comprobación de los documentos requeridos, diagramas y código fuente. Solo pueden comprobar la correspondencia entre un programa y su especificación. No pueden demostrar que el sftw es útil
Pruebas software
ejecución de la implementación con datos de prueba. Es la técnica principal de vyv. Implica la ejecución del programa con datos similares a los reales. Los defectos se descubren analizando el programa.
Pruebas integración
(sistema/subsistema): la integración se realiza a partir de sus componentes. Se comprueba que los elementos funcionan juntos. Integración descendente: se desarrolla el esqueleto del sistema y se le añaden los componentes. Integración ascendente: se integran los componentes de la infraestructura y se le añaden funcionalidades. Se debe realizar una aprox incremental añadiendo componentes de forma sucesiva. (entrega/aceptación): intentan demostrar al cliente que el sistema satisface los requerimientos. Las pruebas derivan de la especificación del sistema. Hay que comprobar q los resultados son los esperados y q los errores son por las entradas. (rendimiento/estrés): se hacen con el sistema integrado. Se prueba el rendimiento y la fiabilidad. Se debe diseñar un perfil operacional intentando reflejar la combinación real de transacciones. Prueba el comportamiento del fallo y sobrecarga el sistema.
Pruebas unitarias
las pruebas de forma independiente de cada clase que forma el programa. Integración ascendente: se combinan módulos del nivel mas bajo, se construye un monitor de prueba para gestionar casos de prueba, se prueba el grupo, se eliminan los monitores sustituyéndolos por módulos reales, se realizan pruebas de regresión. Integración descendente: se utiliza como control del prog principal, se construyen módulos colaboradores, se sustituyen los módulos colaboradores por reales, se prueba cada vez que se integra uno nuevo, se reemplazan todos los colaboradores.
-Pruebas sistemas OO: niveles: métodos y operaciones individuales de la clase, clases individuales, agrupaciones de objetos, sistema. Pruebas de clases: probar las operaciones, los atributos y ejecutar los objetos en todos los estados posibles.
Try, Catch, Finally, Throw, Throws, Error, Exception
Try: define un bloque de código donde se puede generar una excepción. Va seguido de uno o más catch y opcional finally. Catch: define el bloque de sentencias que se ejecutarán cuando se haya producido una excepción en el try. Finally: se ejecuta siempre. Throw: se ejecuta para indicar que ha ocurrido una excepción o lanzamiento de una. Especifica el objeto que lanzará. Throws: un método lista las excepciones que puede lanzar y que no va a manejar. Error: fallo del que no se puede recuperar la ejecución normal del programa, no se pueden tratar. Exception: condición anormal que puede ser resuelta.
BusquedaSecuencial y BusquedaBinaria
BusquedaSecuencial: se realiza desde el inicio de la colección hasta el final. No requiere ordenación de elementos.
BusquedaBinaria: Debe estar ordenada. Se conoce el numero de elementos. Se tiene acceso directo al elemento por posición en lista.
InsercionDirecta y SeleccionDirecta
InsercionDirecta: la colección se descompone: una parte cuyos elementos mantienen el orden y la otra. Inicialmente la parte ordenada consta del primer elemento. Se localiza la posición que correspondería en la parte ordenada al primer elemento de la desordenada y se inserta. SeleccionDirecta: burbuja. Se basa en realizar pasadas sucesivas sobre los elementos de la colección. En cada pasada, se compara cada elemento y se realiza el intercambio si es requerido.
Enumerados y Colecciones
Enumerados: sirven para restringir la selección de valores a un conjunto predefinido. Permite que una variable tenga solo un valor.
Colecciones: es un objeto que recopila y organiza otros. Define las formas especificas en las que se puede acceder y con las que se pueden gestionar objetos. Hay lineales y no lineales. InterfaceCollection: representa una secuencia de elementos individuales a los que se aplican reglas. List: debe almacenar elementos en la forma en que fueron insertados. Una colección Set no puede tener elementos duplicados. Map: representa un grupo de parejas de objetos clave-valor que permite realizar búsquedas de objetos.
Conjuntos, HashSet y HashMap
Conjuntos: HashSet: se basa en una tabla has para almacenar objetos. Implementación de Set. Representa un conjunto de valores que no admite duplicados. HashMap: tabla hash, implementación de Map, representa colección para almacenar objetos claves/valores.
Iteradores
Iteradores: Iterator permite recorrer todos los elementos en una colección. ListIterator: bidireccional.