calidad y pruebas de software · características de calidad del software en tres niveles antes de...

34
Calidad y pruebas de Software Sesión 7- Calidad de producto Ing. Fany Sobero Rodriguez

Upload: others

Post on 04-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad y pruebas de

Software

Sesión 7- Calidad de producto

Ing. Fany Sobero Rodriguez

Page 2: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Modelo de calidad

Page 3: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Modelo de calidad

Un modelo de calidad es el conjunto

de características y sub características

y de cómo se relacionan entre si.

Page 4: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Modelo de calidad

El aseguramiento de la calidad se realiza a través de

modelos, siendo los mas conocidos los siguientes:

Modelo de Boehm: Modelo de descomposición de

características de calidad del software en tres niveles

antes de aplicar las métricas: usos principales,

componentes intermedios y componentes primitivos.

ISO 9126: Denominado Evaluación de Productos

Software, describe características de calidad y guías

para su uso, la calidad se descompone en seis

factores.

Page 5: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Modelo de calidad

Paradigma GQM (Goal-Question-Metric): Enfoque de

medición para evaluar la calidad del software

basado en la identificación de objetivos a lograr.

Modelo CMM (Capability Maturity Model): Modelo de

capacidad de madurez del SEI.

Modelo SPICE: (Software Process Improvement and

Capability Determination): Modelo de valoración de

la arquitectura que define los procesos y prácticas

aconsejables.

Page 6: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Modelo de BoehmLos componentes o constructores del modelo se centran

en el producto final. Se identifican características de

calidad desde el punto de vista del usuario.

Page 7: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Modelo de McCall

Descompone el concepto de calidad en tres usos o capacidades importantes para un producto de software:

Cada capacidad se descompone en una serie de factores que determinan la calidad en cada una de ellas:

Operación

–Facilidad de Uso

–Integridad

–Eficiencia

–Corrección o exactitud

–Fiabilidad

Revisión

–Facilidad de prueba

–Facilidad de Mantenimiento

–Flexibilidad

Transición

–Reusabilidad

–Portabilidad

–Interoperabilidad

Los criterios pueden ser evaluados mediante un conjunto de métricas.

Para cada criterio deben fijarse unos valores máximo y mínimo aceptables

para cada criterio.

Page 8: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Operación de

producto

Revisión de

producto

Transición de

producto

Facilidad de uso

Seguridad (integridad)

Eficiencia

Corrección (exactitud)

Fiabilidad

Facilidad de

mantenimiento

Facilidad de

prueba

Flexibilidad

Capacidad de

reutilización

Transportabilidad

Interoperabilidad

OperabilidadFamiliarizaciónComunicatividadVolumen y tasa de E/SDatos comunes

Control y audit. de accesoIntegridad de datos

Eficiencia de almacenam.Eficiencia de ejecución

Compleción

Capacidad de ampliación

Trazabilidad

Concisión

PrecisiónTolerancia a erroresSimplicidad

Consistencia

ModularidadAutodescriptividad

Instrumentación

Generalidad

Indep. máquinaIndep. soft. de sistemaComunicac. comunes

Visión de usuario

Visión de la dirección Visión del desarrollador

Modelo de McCall

Page 9: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

GQM (Goals-Question-Metrics)

Se basa en la mejora en la definición clara de procesos

y productos. Proporciona la estructura para obtener los

objetivos cruciales del proyecto.

Consta de tres etapas:

Lista de objetivos principales en el desarrollo y mantenimiento

del proyecto.

Para cada objetivo obtener las preguntas que deben

contestarse para saber si se están cumpliendo los objetivos.

Decidir qué medir para poder contestar las preguntas de forma

adecuada.

Las medidas individuales obtenidas se relacionan para poder

ser utilizadas en el contexto del proyecto completo

Page 10: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

GQM (Goals-Question-Metrics)

Page 11: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

GQM (Goals-Question-Metrics)

Page 12: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

ISO/IEC 9126

Es un estándar de calidad que tiene por objetivo identificar

atributos de calidad para el software identificando seis

atributos claves de calidad, considerando la Calidad

interna y externa, y Calidad en uso.

Page 13: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

ISO/IEC 9126

Page 14: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

ISO/IEC 9126 - Calidad interna y

externa

Page 15: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

ISO/IEC 9126 - Calidad en uso

Page 16: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos
Page 17: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos
Page 18: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

ISO/IEC 25000

La familia ISO/IEC 25000 constituye un conjunto de normas

basadas en ISO/IEC 91261y en ISO/IEC 145982 cuyo objetivo

principal es proporcionar una guía para el uso de la nueva

serie de estándares internacionales llamada Requisitos y

Evaluación de Calidad de Productos de Software (SQuaRE -

System and Software Quality Requirements and Evaluation).

Page 19: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos
Page 20: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos
Page 21: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos
Page 22: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos
Page 23: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos
Page 24: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad interna y externa

1. Adecuación Funcional: representa la capacidad del

producto o sistema software para proporcionar las funciones

necesarias para satisfacer al usuario. Contempla las siguientes

subcaracterísticas:

Completitud funcional: capacidad del sistema software

para proporcionar un conjunto de funcionalidades

apropiadas para cubrir todas las tareas y objetivos

determinados por el usuario.

Exactitud funcional: capacidad del sistema software para proporcionar los resultados correctos con el grado

necesario de precisión.

Page 25: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad interna y externa

2. Fiabilidad: capacidad del producto o sistema software para realizar las funciones específicas cuando se utiliza bajo ciertas condiciones y periodos de tiempo determinadas. Contempla las siguientes subcaracterísticas:

Madurez: capacidad del sistema software para satisfacer las necesidades de fiabilidad durante el funcionamiento normal.

Disponibilidad: capacidad de un sistema software de estar operativo y accesible para su uso cuando se necesite.

Tolerancia a Fallos: capacidad de un sistema software para operar cuando se presenten fallos.

Recuperabilidad: capacidad de un sistema software para reestablecer el estado del sistema y recuperar datos que se hayan afectado, en caso de interrupción o fallo.

Page 26: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad interna y externa

3. Eficiencia en el Desempeño: capacidad de un producto o

sistema software de proporcionar un rendimiento apropiado,

respecto a la cantidad recursos utilizados bajo determinadas

condiciones. Contempla las siguientes subcaracterísticas:

Comportamiento Temporal: capacidad de un sistema

software para proporcionar los tiempos de respuesta y

procesamiento apropiados.

Utilización de Recursos: capacidad en que un sistema software utiliza las cantidades y tipos de recursos

adecuados.

Capacidad: capacidad de un sistema software de cumplir

con los requisitos determinados.

Page 27: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad interna y externa

4.Facilidad de Uso: capacidad del producto o sistema software para que sea entendido, aprendido, agradado y usado por el usuario. Contempla las siguientes subcaracterísticas:

Capacidad de reconocer su adecuación: capacidad del sistema software que permite al usuario entender si el software es adecuado para sus necesidades.

Capacidad para ser entendido: capacidad del sistema, que permite al usuario entender si el software es adecuado para alcanzar sus objetivos determinados.

Operatividad: capacidad de un sistema software que permite al usuario operarlo y controlarlo con facilidad.

Protección contra errores del usuario: capacidad en que el sistema brinda la protección necesaria contra errores que realizan los usuarios.

Estética de la Interfaz del usuario: capacidad en que la interfaz de usuario llega a satisfacer y agradar al usuario.

Accesibilidad técnica: capacidad del sistema software para que se permita ser utilizado por usuarios con determinadas discapacidades.

Page 28: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad interna y externa

5. Seguridad: capacidad de proteger la información y los datos, de manera que personas o sistemas no autorizados puedan tener acceso para consultas o actualizaciones. Contempla las siguientes subcaracterísticas:

Confidencialidad: capacidad de proteger la información y el acceso a datos no autorizados, ya sea de manera accidental o intencional.

Integridad: capacidad de un producto, sistema o componente software para evitar accesos no autorizados a datos o programas de computación.

No – repudio: capacidad para demostrar que los eventos han ocurrido, de manera que dichos eventos no puedan ser refutados posteriormente.

Responsabilidad: capacidad de dar seguimiento a las acciones que fueron realizadas por una entidad.

Autenticidad: capacidad de demostrar la identidad de un sujeto o un recurso.

Page 29: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad interna y externa

6. Compatibilidad: capacidad de dos o más sistemas

software, para llevar a cabo sus funciones intercambiando

información mientras comparten el mismo entorno.

Contempla las siguientes subcaracterísticas:

Co-Existencia: capacidad de un sistema software para

coexistir en un entorno en el cual comparten recursos

comunes con otro software independiente.

Interoperatividad: capacidad de dos o más sistemas

software para intercambiar información y utilizar dicha

información.

Page 30: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad interna y externa

7. Mantenibilidad: capacidad del sistema software para ser modificado o actualizado debido a necesidades evolutivas y correctivas. Contempla las siguientes subcaracterísticas:

Modularidad: capacidad de un sistema software que cuando sea modificado no afecte a otras funcionalidades del sistema

Reusabilidad: capacidad de un activo (Información, Software, Hardware, Usuarios) para ser utilizado en más de un sistema o en la construcción de otros activos.

Capacidad de ser Analizado: facilidad con la que se puede llevar a cabo un análisis del impacto de una determinada modificación en el sistema.

Capacidad de ser Modificado: capacidad del sistema para permitir que sea modificado sin causar daños o reducir la calidad del producto existente.

Capacidad de ser Probado: facilidad de realizar pruebas a un sistema o componente software, para determinar si se han cumplido con los requerimientos establecidos.

Page 31: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad interna y externa

8. Portabilidad: capacidad de un sistema o componente

software de ser trasladado de un entorno a otro sin que esto

afecte la funcionalidad de cada sistema. Contempla las

siguientes subcaracterísticas:

Adaptabilidad: capacidad de un sistema software de ser adaptado a distintos entornos.

Capacidad de ser Instalado: capacidad de un sistema

para que pueda ser fácilmente instalado y/o desinstalado.

Capacidad de ser Reemplazado: capacidad del sistema

software para ser utilizado en lugar de otro sistema en el

mismo entorno y cumpliendo con el mismo objetivo.

Page 32: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad en uso

1. Efectividad: capacidad del sistema software para alcanzar

los objetivos o necesidades del usuario, al momento de utilizar

el sistema.

2. Eficiencia: capacidad del sistema software para alcanzar los objetivos del usuario, utilizando los recursos mínimos.

3. Satisfacción: capacidad del sistema software para satisfacer

las diferentes necesidades mínimas de los usuarios al utilizarlo.

Contempla las siguientes subcaracterísticas:

Utilidad: grado en que un usuario es satisfecho cuando

logra alcanzar sus objetivos planteados.

Page 33: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad en uso

4. Libertad de Riesgo: capacidad que tiene un producto o sistema software en reducir el riesgo potencial relacionado con la situación económica, vida humana, salud o medio ambiente.

Esto incluye la salud y seguridad, tanto del usuario y aquellos afectados por el uso, así como las consecuencias materiales o económicas no deseadas.

En este caso, el riesgo es la probabilidad de ocurrencia y las posibles consecuencias negativas cuando se presenta una amenaza determinada.

Contempla las siguientes subcaracterísticas, que permiten establecer el grado en el cual los objetivos podrían estar en riesgo.

o Libertad del riesgo económico.

o Libertad del riesgo de salud y seguridad.

o Libertad del riesgo ambiental.

Page 34: Calidad y pruebas de Software · características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos

Calidad en uso

5. Cobertura de Contexto: capacidad de un producto o

sistema software para ser utilizado con efectividad, eficiencia,

libertad de riesgo y satisfacción en ámbitos de uso que fueron

definidos. Contempla las siguientes subcaracterísticas:

Integridad de Contexto: capacidad de un sistema software

para ser utilizado en los ámbitos de uso definidos.

Flexibilidad: capacidad de un sistema software para ser utilizado fuera de los ámbitos de uso que fueron definidos

inicialmente.