You are on page 1of 31

Verificacin y Validacin del Software

Introduccin a la Calidad
Copyright 2005, Ing. Rafael Salazar Chvez

Qu es Calidad?
z

Calidad (latn qualitatem): Conjunto


de cualidades que constituyen la manera de ser de una persona o cosa
Diccionario Enciclopdico Larouse

z z

Todas las cosas son de calidad Lo que buscamos es que sean de buena calidad
Copyright 2005, Ing. Rafael Salazar Chvez

Curso: TC3008 Verificacin y Validacin del Software

Qu es Calidad?
z

Segn la Norma ISO 8402 (vocabulario): Es la totalidad de propiedades y caractersticas de un producto o servicio que le confieren la capacidad de satisfacer las necesidades expresas o implcitas (del cliente)

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Qu es Calidad?
z

J. S. Sarazen le agrega: (Quality Progress, Dic-1987) Es la totalidad de propiedades y caractersticas de un producto o servicio que le confieren la capacidad de satisfacer las necesidades expresas o implcitas... con oportunidad, a un costo razonable y, que de tal forma entusiasmen al cliente, que ste se convierta en nuestro mejor vendedor
Copyright 2005, Ing. Rafael Salazar Chvez

Curso: TC3008 Verificacin y Validacin del Software

En resumen, Qu es calidad?

Superar las expectativas del cliente

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Reflexin: La calidad es objetiva o subjetiva?

Desgraciadamente en gran parte es subjetiva. Muy importante:

Manejo de las expectativas del cliente

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

El nio pescador

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Definiciones (segn J. M. Juran)


z

Aseguramiento de la Calidad Es la actividad que proporciona a todos los interesados la evidencia necesaria para establecer la confianza de que la funcin de calidad ha sido desempeada adecuadamente Control de Calidad Es el proceso regulatorio a travs del cual se mide el actual desempeo, se compara con los estndares, y se acta en las diferencias Se establecen controles en el proceso para que los productos salgan con buena calidad
Copyright 2005, Ing. Rafael Salazar Chvez

Curso: TC3008 Verificacin y Validacin del Software

Definiciones (segn IEEE 610.12-1990)


z

Quality assurance (QA)


1. A planned and systematic pattern of all actions necessary to

provide adequate confidence that an item or product conforms to established technical requirements. 2. A set of activities designed to evaluate the process by which products are developed or manufactured.
z

Quality control (QC)


(Note: This term has no standardized meaning in software engineering at this time.)

Candidate definitions are:

1. A set of activities designed to evaluate the quality of

developed or manufactured products. 2. The process of verifying one's own work or that of a coworker. 3. Synonym for quality assurance.

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Control Total de Calidad

Proveedores

Empresa (TODOS)

Distribuidores

Superar las expectativas del cliente


Curso: TC3008 Verificacin y Validacin del Software Copyright 2005, Ing. Rafael Salazar Chvez

Calidad = T P

3
Producto

Tecnologa

Proceso

Personas
Fuente: Ing. Rafael Salazar
Curso: TC3008 Verificacin y Validacin del Software Copyright 2005, Ing. Rafael Salazar Chvez

Etapas de la calidad
Ciclo de vida de un producto: Diseo Produccin Entrega

3. Orientada al Diseo de nuevos productos

2. Orientada al Control del Proceso (prevencin)

1. Orientada al Control de Productos (inspeccin)

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Inspeccin vs. Calidad


z

La inspeccin no genera productos de calidad

La inspeccin trata de evitar que la mala


calidad salga de la empresa

La calidad existe en el producto desde su inicio

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Reflexin: Existen productos con 0 defectos?


z z

NO! (pero cada vez nos acercamos ms al 0) Basta con superar las expectativas del cliente Existen niveles de calidad

Un sistema computacional para controlar una bomba nuclear debe tener el mismo nivel de calidad que Microsoft Word?

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Verificacin y Validacin del Software


Calidad en el Software
Copyright 2005, Ing. Rafael Salazar Chvez

La crisis del software

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

El costo de la mala calidad


Based on the software developer and user surveys, the national annual costs of an inadequate infrastructure for software testing is estimated to range from $22.2 to $59.5 billion. Over half of these costs are borne by software users in the form of error avoidance and mitigation activities. The remaining costs are borne by software developers and reflect the additional testing resources that are consumed due to inadequate testing tools and methods.
The Economic Impacts of Inadequate Infrastructure of Software Testing NIST, May 2002
Curso: TC3008 Verificacin y Validacin del Software Copyright 2005, Ing. Rafael Salazar Chvez

Calidad en el Software
z

Cmo medimos la calidad en el software entregado?

Existen varios atributos de la calidad


i s i n

Facilidad de Mantener Flexibilidad Facilidad de probar

Portabilidad Reutilizacin Interoperabilidad

n Tra in sic

Re v

Operacin


Curso: TC3008 Verificacin y Validacin del Software

Exactitud Confiabilidad Eficiencia Integridad Usabilidad


Copyright 2005, Ing. Rafael Salazar Chvez

Calidad en el Software
z

Calidad SW = confiabilidad = densidad DE Defecto = inconsistencia con req.

Defecto Error

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

De dnde vienen los defectos?

Inyeccin de Defectos (por personas)


Requerimientos Software

Plan

Anlisis

Diseo

Construccin

Implantacin

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Necesitamos: eliminar los defectos

Inyeccin de Defectos
Requerimientos Prevencin de defectos Software

Plan

Anlisis

Diseo

Construccin

Implantacin

Remocin de Defectos

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Calidad en el Software
z Actividades

para

1. Remover los defectos inyectados 2. Prevenir la inyeccin de defectos


z Mientras

ms temprano mejor

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

En que etapa se inyectan los defectos?


Logic Design 28% Others 7% Data 6%

Interface 6%

Documentation 2% Human 5% Environment 5%


*From a U.S. Air Force Project, F. Sheldon, 1992 Reliability Measurement from Theory to Practice

Requirements 41%

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Cunto cuesta corregir un defecto?


1 3-6 10 15-40 30-70 50-100
*From a U.S. Air Force Project, F. Sheldon, 1992 Reliability Measurement from Theory to Practice
Curso: TC3008 Verificacin y Validacin del Software Copyright 2005, Ing. Rafael Salazar Chvez

Requirements Design Coding Development Testing Acceptance Testing Operation

Verificacin y Validacin del Software


El Proceso de Verificacin y Validacin
Copyright 2005, Ing. Rafael Salazar Chvez

Aseguramiento de Calidad en el SW

Inyeccin de Defectos
Requerimientos Prevencin de defectos Software

Plan

Anlisis

Diseo

Construccin

Implantacin

Remocin de Defectos
Verificacin y Validacin

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Proceso de remocin de defectos


z

Verificacin

Estamos construyendo el producto en forma


correcta? Orientado a Proceso

Validacin

Estamos construyendo el producto correcto? Orientado a Producto

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Definiciones segn IEEE 1012 2004


3.1.35 validation: (A) The process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirements. (B) The process of providing evidence that the software and its associated products satisfy system requirements allocated to software at the end of each life cycle activity, solve the right problem (e.g., correctly model physical laws, implement business rules, use the proper system assumptions), and satisfy intended use and user needs. 3.1.36 verification: (A) The process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. (B) The process of providing objective evidence that the software and its associated products conform to requirements (e.g., for correctness, completeness, consistency, accuracy) for all life cycle activities during each life cycle process (acquisition, supply, development, operation, and maintenance); satisfy standards, practices, and conventions during life cycle processes; and successfully complete each life cycle activity and satisfy all the criteria for initiating succeeding life cycle activities (e.g., building the software correctly).
Curso: TC3008 Verificacin y Validacin del Software Copyright 2005, Ing. Rafael Salazar Chvez

Proceso de VyV

Inyeccin de Defectos

Plan

Anlisis

Diseo

Construccin

Implantacin
Pruebas

Revisiones

Remocin de Defectos (VyV)


Demasiado tarde Muy costoso

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Tipos de VyV
z

VyV Dinmica

Ejercitar y observar comportamiento del


producto Normalmente = pruebas del sistema

VyV Esttica
trabajo

Analizar representacin esttica del sistema Normalmente = revisiones de productos de

Curso: TC3008 Verificacin y Validacin del Software

Copyright 2005, Ing. Rafael Salazar Chvez

Dnde se aplica la VyV


VyV Esttica

Plan de trabajo

Requerimientos

Arquitectura

Diseo detallado

Cdigo

Prototipo

VyV Dinmica

= Producto de Trabajo
Curso: TC3008 Verificacin y Validacin del Software Copyright 2005, Ing. Rafael Salazar Chvez

You might also like