Please enable JavaScript.
Coggle requires JavaScript to display documents.
Verificación y validación (Verificación (Elementos evaluados (Planeaciones…
Verificación y validación
Definición
Conjunto de procesos de comprobación y análisis que aseguran que el software que se desarrolla está acorde a su especificación y cumple las necesidades de los clientes.
Es un proceso de vida completo.
Conclusiones
Ambas son necesarioas y presentan un balance una a la otra.
Cada una provee diferentes filtros de errores.
Ambas se usan para encontrar defectos de maneras diferentes. Una en especificaciones de requerimientos y otra en la aplicación ya implementada.
Verificación
Definición
Del latín
veritas
.
Establecer la verdad de la correspondencia entre un producto de software y su especificación.
Comparación
¿Estamos construyendo el producto correctamente?
El software debe corresponder a las especificaciones.
Requerimientos del sistema:
forma
.
Objetivo
Asegurarse de que el producto sea consistente con las especificaciones de diseño y requerimientos.
Explicar si las salidas son de acuerdo a las entradas o no.
Actividades relacionadas
Revisiones
Juntas
Inspecciones
Elementos evaluados
Planeaciones
Especificaciones de requerimientos
Código
Casos de uso
Especificaciones de diseño
¿Quién la lleva a cabo?
El equipo de calidad (
Quality Assurance
)
Validación
Definición
Del latín
valere
.
Establecer el valor de un software de acuerdo a su misión operativa.
Comparación
¿Estamos construyendo el producto correcto?
El software debe hacer lo que el usuario realmente necesita.
Requerimientos del usuario:
uso/función
.
Objetivo
Asegurarse de que el producto en desarrollo sea consistente con las especificaciones de diseño y requerimientos.
Describir si el software es aceptado por el usuario o no.
Actividades relacionadas
Pruebas
Caja negra
Caja blanca
Caja gris
Elementos evaluados
El producto o software como tal
¿Quién la lleva a cabo?
El equipo de pruebas (
Testing
)
Maneja mejor las técnicas de pruebas.
Problemas de psicología de pruebas
El programador tiende a cometer los mismos errores al probarlo.
Debido a que es SU programa, puede tender a hacer casos de prueba que no hagan fallar al mismo.
Puede llegar a comparar mal el resultado esperado con el obtenido debido al deseo de que el programa pase las pruebas.
Confianza
Ambas deben establecer la confianza de que el software es apto para su propósito.
No quiere decir que sean perfectos o sin defectos.
Depende de
El propósito del sistema
De la expectativas del usuario
El ambiente de mercadotecnia
Ahorros
De hasta 100:1 al encontrar y arreglar errores en una etapa temprana.
Hay ventajas significativas en confiabilidad, mantenibilidad e ingeniería humana del producto resultante.
Técnicas de comprobación y análisis de sistemas
Inspecciones del software (verificación)
Analizan y comprueban las representaciones del sistema (documento de requerimineots, los diagramas de diseño y el código fuente) en busca de defectos.
Se aplica a todas las etapas del proceso de desarrollo.
Son técnicas estáticas puesto que no requieren que el sistema se ejecute.
Definición
Revisiones sistemáticas tanto de los documentos generados como de los códigos fuente.
Detección de entre un 60-90% de los fallos a unos costes mucho más bajos que las pruebas dinámicas.
Detección de múltiples defectos en una simple inspección.
Principales tipos de fallos: conocimiento del dominio y lenguaje
Útiles para detectar los fallos de módulos, no detectan fallos a nivel de sistema, que ha de hacerse con pruebas.
No útiles para la detección de niveles de fiabilidad y evaluación de fallos no funcionales.
Pruebas de software (validación)
Contrastan dinámicamente las respuestas de una implementación del software con el comportamiento operacional esperado.
Son técnicas dinámicas ya que el sistema se ejecuta.
Requiere disponer de un prototipo ejecutable del sistema.
Tipos
Defectos
Diseñadas para descubrir defectos
Es exitosa al revelar la presencia de defectos.
Validación
Diseñadas para probar que el software cumple con los requerimientos.
Es exitosa cuando muestra que un requerimiento ha sido implementado propiamente.
Pruebas y depuración (debugging)
Depuración
Ubicar y reparar defectos.
Implica formular una hipótesis sobre el comportamiento del programa y probar para encontrar el error.
V&V
Establecer la existencia de defectos.